Bug 635802

Summary: spacewalk/keep_system_id kick start fail
Product: Red Hat Satellite 5 Reporter: Justin Sherrill <jsherril>
Component: ProvisioningAssignee: Justin Sherrill <jsherril>
Status: CLOSED DEFERRED QA Contact: Red Hat Satellite QA List <satqe-list>
Severity: medium Docs Contact:
Priority: low    
Version: 540CC: ian.mcbeth, jpazdziora, siggib
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 635798 Environment:
Last Closed: 2014-07-04 13:29:46 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 635798    
Bug Blocks: 249459, 462714    
Attachments:
Description Flags
keep_system_id.patch none

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.