Bug 635802 - spacewalk/keep_system_id kick start fail
Summary: spacewalk/keep_system_id kick start fail
Keywords:
Status: CLOSED DEFERRED
Alias: None
Product: Red Hat Satellite 5
Classification: Red Hat
Component: Provisioning
Version: 540
Hardware: All
OS: Linux
low
medium
Target Milestone: ---
Assignee: Justin Sherrill
QA Contact: Red Hat Satellite QA List
URL:
Whiteboard:
Depends On: 635798
Blocks: 249459 462714
TreeView+ depends on / blocked
 
Reported: 2010-09-20 18:32 UTC by Justin Sherrill
Modified: 2014-07-04 13:29 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of: 635798
Environment:
Last Closed: 2014-07-04 13:29:46 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
keep_system_id.patch (1.71 KB, patch)
2010-10-01 03:55 UTC, Sigurður Björnsson
no flags Details | Diff

Description Justin Sherrill 2010-09-20 18:32:00 UTC
+++ This bug was initially created as a clone of Bug #635798 +++

Description of problem:
kick starting will fail if "keep_system_id" pre-script is enabled.

Version-Release number of selected component (if applicable):
1.1

How reproducible:
kickstart system through proxy server.

Steps to Reproduce:
1.kickstart off usb key
2.hangs on pre-install 
3.
  
Actual results:
system does not build

Expected results:
system kickstarts correctly.

Additional info:

manually removing keep_system_id from "/var/lib/cobbler/snippets/spacewalk/keep_system_id" and updating kickstart profile resolves issue

Comment 1 Sigurður Björnsson 2010-10-01 03:55:06 UTC
Created attachment 450940 [details]
keep_system_id.patch

I have debugged this issue and have come to somewhat of a conclusion.

I experienced this when re-deploying a machine with CentOS 5.5 from a Spacewalk 1.1 server. What happens is that the kickstart script is fetched, dependencies are resolved, disks are set up and formatted and then when they are mounted everything hangs. The machine will become totally unresponsive. (Even stops responding to ping.)

How to reproduce:
1. Insert 'sleep 300'  in line 3 of /var/lib/cobbler/snippets/spacewalk/keep_system_id (This gives us time to tinker in the shell)
2. Kickstart system, wait for it to start running Pre-scripts.
3. Press ALT+F2 to go to a shell.
4. The winning combo I used:
   cd /tmp
   mkdir foo bar
   mount /dev/sda1 foo
   ls foo
   umount foo
   mount /dev/sda2 bar   (Results in an error due to volume being Linux LVM)
   mount /dev/sda1 foo   (Results in a total lockup)

keep_system_id tries to mount any partitions/volumes it can find including swap etc.
When this happens mount gives an error and the next time a valid volume is mounted everything hangs.
This is most likely a bug in busybox or in the kernel. I trust the Spacewalk devs to take it upstream if they think it is nessesary. 

Workaround
The non destructive workaround for this is to go to the Spacewalk UI and edit the kickstart profile. Under System Details, choose the 3rd option under Spacewalk Profile (Leave the existing system profile in place...)

I have created a patch that checks if the partitions/volumes contain a valid ext filesystem before trying to mount them.
This gets Spacewalk off the hook but the underlying bug is still there.

Comment 2 Jan Pazdziora (Red Hat) 2011-10-28 10:56:32 UTC
We had a bug report

 Bug 664724 - kickstart snippet keep_system_id does not work

which was resolved by fixing syntax problem in the snippet. I wonder to what extend this is a fix for this case as well.


Note You need to log in before you can comment on or make changes to this bug.