Debugging kickstart issues

Kickstart is used by numerous organizations to automate Redhat, Fedora and CentOS installations, and has numerous options to control the provisioning process. One thing I really dig about kickstart is the logging that occurs to tty2, tty3 and tty4. This information is useful for debugging build issues, since the last messages usually indicate where a problem resides. But like most admins, I multitask and typically kick off installs and come back at a later time expecting to login and configure the new host. Periodically hosts will fail to build, but will be in a state where the debug messages are no longer available. To ensure that I can easily debug issues similar to this, I like to add the syslog and loglevel directives to the list of kickstart options:

kernel /centos53/vmlinuz ip=dhcp syslog=192.168.1.5 loglevel=debug ksdevice=eth0 \
load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=32768 network \
ks=http://192.168.1.5/centos/kickstart.cfg

The syslog directives tells the anaconda installer to send its output to the specified syslog server IP, and the loglevel directive controls how much data is logged. Once both directives are enabled, you will get output similar to the following each time a host builds:

May 20 22:36:15 drfeelgood INFO     trying to mount sda1 on /
May 20 22:36:15 drfeelgood INFO     set SELinux context for mountpoint / to system_u:object_r:root_t:s0
May 20 22:36:17 drfeelgood INFO     trying to mount sys on /sys
May 20 22:36:17 drfeelgood INFO     set SELinux context for mountpoint /sys to None
May 20 22:36:17 drfeelgood INFO     trying to mount proc on /proc
May 20 22:36:17 drfeelgood INFO     set SELinux context for mountpoint /proc to None
May 20 22:36:17 drfeelgood INFO     moving (1) to step migratefilesystems
May 20 22:36:17 drfeelgood INFO     moving (1) to step setuptime
May 20 22:36:17 drfeelgood INFO     moving (1) to step preinstallconfig



To locate errors or warnings, you can run egrep passing the strings WARN and ERROR as input:

$ egrep "drfeelgood.*(WARN|ERROR)" /var/adm/messages
May 20 22:36:17 drfeelgood WARNING  no dev package, going to bind mount /dev
May 20 22:36:38 drfeelgood WARNING  Try 1/10 for http://192.168.1.5/centos/5.3/x86_64/os/CentOS/nspr-devel-4.7.3-2.el5.x86_64.rpm failed
May 20 22:38:47 drfeelgood WARNING  /usr/lib64/python2.4/site-packages/snack.py:250: DeprecationWarning: integer argument expected, got float\n  self.w = _snack.scale(width, total)



Kickstart is pretty sweet, and it is one of those technologies that makes our lives so much easier!

Leave a Reply

Your email address will not be published. Required fields are marked *