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

Popular posts from this blog

PXE boot a LiveCD image

Summary: I have wanted to build a kickstart environment which hosted a "rescue CD" or LiveCD to allow you to boot over the network after you blew your stuff up and needed to repair a few things.  Today I have worked through a method of doing so, with the help of the people who published a succinct script with the Red Hat Enterprise Virtualization Hypervisor.  (the script will be at the bottom of this post - if I have somehow not followed the GPL, please let me know and I will correct whatever is necessary) NOTE/Warning: The boot will fail due the initrd being too large (645mb).  I'm not sure how to proceed.  This procedure worked for RHEVh, because it is quite a bit smaller.  Hopefully I can report back with progress on this? :-$ Procedure: download your LiveCD image to /export/isos/RESCUE/Fedora-16-i686-Live-Desktop.iso # cd /var/tmp # vi livecd-iso-to-pxeboot (populate the file with the script shown below) # chmod 754 ./livecd-iso-to-pxeb...

"Error getting authority: Error initializing authority: Could not connect: No such file or directory (g-io-error-quark, 1)"

"Error getting authority: Error initializing authority: Could not connect: No such file or directory (g-io-error-quark, 1)" One issue that may cause this to arise is if you managed to break your /etc/fstab We had an engineer add a line with the intended options of "nfsvers=3" but instead added "-onfsvers=3" and it broke the system fairly catastrophically.

MOTD with colors! (also applies to shell profiles)

I'm not sure why I had never looked into this before, but this evening I became obsessed with discovering how to present different colored text in the /etc/motd. A person had suggested creating a shell script (rather than using special editing modes in vi, or something) and I agree that is the simplest way of getting this accomplished quickly. This most noteworthy portion of this script is the following: RESET="\033[0m" that puts the users shell back to the original color. I typically like a green text on black background. Also - a great reference for the different colors and font-type (underscore, etc...) https://wiki.archlinux.org/index.php/Color_Bash_Prompt I found this example on the web and I wish I could recall where so that I could provide credit to that person. #!/bin/bash #define the filename to use as output motd="/etc/motd" # Collect useful information about your system # $USER is automatically defined HOSTNAME=`uname -n` KERNEL=`un...