Skip to main content

RHN Satellite Troubleshooting - Configuration File Deployment fails

This is an extremely ambiguous situation... but it happens to me frequently enough that I will document it.

Take the following scenario...
/home - directory
/althome - symlink back to /home

I will build a new system.  Unfortunately I login as myself for the first time (before I bootstrap, etc...).  I use "enablemkhomedir" and my home directory is listed as /althome/jradtke - so, when I login, it creates 2 directories:
/althome & /althome/jradtke

When I go to subscribe my system to Satellite and have it autodeploy the config files, it will fail

[Mon Jan 21 19:57:06 2013] up2date
Traceback (most recent call last):
  File "/usr/sbin/rhn_check", line 332, in __run_action
    (status, message, data) = CheckCli.__do_call(method, params, kwargs)
  File "/usr/sbin/rhn_check", line 325, in __do_call
    retval = method(*params, **kwargs)
  File "/usr/share/rhn/actions/configfiles.py", line 222, in deploy
    dep_trans.rollback()
  File "/usr/share/rhn/config_common/transactions.py", line 262, in rollback
    os.rmdir(remove_dir)
<type 'exceptions.OSError'>: [Errno 39] Directory not empty: '/usr'


Now.. what does /usr have to do with any of this, I have no idea.  But, if you take all the files that Satellite is trying to deploy and run
# rhncfg-client get <file>
you will discover which file is causing an issue.  For me it will complain when it attempts to deploy the /althome symlink.
Error: unable to deploy file /althome, as it is already a directory on disk


So - if your build, and  your Satellite configuration channel have conflicting files, you're gonna have a bad time.

Comments