merge initrd changes from trunk
[bootmanager.git] / source / steps / ChainBootNode.py
index f246162..acf3162 100644 (file)
@@ -11,8 +11,8 @@ import string
 import re
 import os
 
-import UpdateBootStateWithPLC
 import UpdateNodeConfiguration
+import MakeInitrd
 from Exceptions import *
 import utils
 import systeminfo
@@ -86,10 +86,10 @@ def Run( vars, log ):
 
         cmd = "mount %s %s" % (PARTITIONS["root"],SYSIMG_PATH)
         utils.sysexec( cmd, log )
-        cmd = "mount %s %s/vservers" % (PARTITIONS["vservers"],SYSIMG_PATH)
-        utils.sysexec( cmd, log )
         cmd = "mount -t proc none %s/proc" % SYSIMG_PATH
         utils.sysexec( cmd, log )
+        cmd = "mount %s %s/vservers" % (PARTITIONS["vservers"],SYSIMG_PATH)
+        utils.sysexec( cmd, log )
 
         ROOT_MOUNTED= 1
         vars['ROOT_MOUNTED']= 1
@@ -123,6 +123,9 @@ def Run( vars, log ):
         cmd = "/usr/local/planetlab/bin/NodeUpdate.py start noreboot"
     utils.sysexec_chroot( SYSIMG_PATH, cmd, log )
 
+    # Re-generate initrd right before kexec call
+    MakeInitrd.Run( vars, log )
+
     # the following step should be done by NM
     UpdateNodeConfiguration.Run( vars, log )
 
@@ -152,17 +155,10 @@ def Run( vars, log ):
     BootAPI.save(vars)
 
     log.write( "Unmounting disks.\n" )
-    try:
-        # backwards compat, though, we should never hit this case post PL 3.2
-        os.stat("%s/rcfs/taskclass"%SYSIMG_PATH)
-        utils.sysexec_chroot_noerr( SYSIMG_PATH, "umount /rcfs", log )
-    except OSError, e:
-        pass
-
-    utils.sysexec_noerr( "umount %s/proc" % SYSIMG_PATH, log )
-    utils.sysexec_noerr( "umount -r %s/vservers" % SYSIMG_PATH, log )
-    utils.sysexec_noerr( "umount -r %s" % SYSIMG_PATH, log )
-    utils.sysexec_noerr( "vgchange -an", log )
+    utils.sysexec( "umount %s/vservers" % SYSIMG_PATH, log )
+    utils.sysexec( "umount %s/proc" % SYSIMG_PATH, log )
+    utils.sysexec( "umount %s" % SYSIMG_PATH, log )
+    utils.sysexec( "vgchange -an", log )
 
     ROOT_MOUNTED= 0
     vars['ROOT_MOUNTED']= 0