Description of problem:
If the Satellite server for some reason fails to serve the
/ty/itagR5R1/images/pxeboot/vmlinuz or /ty/itagR5R1/images/pxeboot/initrd.img,
rhn_check (and its kickstart.initiate) does not notice the error, stores the
HTML page with the error message into /boot/rhn-kickstart/... and tries to boot it.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Configure the Satellite so that handling the requests will fail.
2. Schedule a kickstart on the registered system.
3. Run rhn_check -vv.
4. Observe that it sends back "Kickstart initiate succeeded" back to the
Satellite and that it initiated a reboot.
5. Find with ps and kill that shutdown command to gain some time.
6. Look into /boot/rhn-kickstart/ks-*/ for vmlinuz.* and initrd.* files.
They will be very short (3170 bytes in my case instead of megabytes) and will
contain HTML code.
For extra fun, you might do init 6 and see the boot fail.
The rhn_check process should report error and not proceed with the kickstart and
I've hit the problem when debugging some Satellite code but I believe that this
is a problem in the rhn-kickstart package. When the Satellite fails to return
200 for any reason, the kickstarting process should stop.
You can force the Satellite to serve bad responses with modification shown below
(and httpd restart):
--- /usr/lib/perl5/site_perl/5.8.5/Sniglets/Kickstart.pm.orig 2007-08-13
+++ /usr/lib/perl5/site_perl/5.8.5/Sniglets/Kickstart.pm 2007-08-13
@@ -3527,7 +3527,7 @@
my $stored_url = RHN::TinyURL->lookup(-token => $tu);
$pxt->redirect("/errors/404.pxt") unless $stored_url;
- my $final_url = join("/", $stored_url, @rest);
+ my $final_url = join("/xx", $stored_url, @rest);
Lets re-test this with koan. With koan we fetch the initrd and kernel directly from cobbler so this issue above should go away. Koan will fail immediately if it can not find either of the files and the gui status should reflect this.
VERIFIED on 5/29 build.
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.