X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=source%2Fsteps%2FChainBootNode.py;h=3e76d9c064c99a965f3e2de488feb0246adf8f64;hb=07139b606dfc3c657ef7d06da25c084c1679b660;hp=c96ac38c8c08962e796b1510ae876206621621e5;hpb=ae73c450bffe036dccf37e8d96a4b655c3cd900e;p=bootmanager.git diff --git a/source/steps/ChainBootNode.py b/source/steps/ChainBootNode.py index c96ac38..3e76d9c 100644 --- a/source/steps/ChainBootNode.py +++ b/source/steps/ChainBootNode.py @@ -103,8 +103,28 @@ def Run( vars, log ): vars['ROOT_MOUNTED']= 1 + # write out the session value /etc/planetlab/session + try: + session_file_path= "%s/%s/session" % (SYSIMG_PATH,PLCONF_DIR) + session_file= file( session_file_path, "w" ) + session_file.write( str(NODE_SESSION) ) + session_file.close() + session_file= None + log.write( "Updated /etc/planetlab/session\n" ) + except IOError, e: + log.write( "Unable to write out /etc/planetlab/session, continuing anyway\n" ) + + # update configuration files + log.write( "Updating configuration files.\n" ) + if os.path.exists( SYSIMG_PATH + "/etc/init.d/conf_files" ): + cmd = "/etc/init.d/conf_files start --noscripts" + else: + cmd = "/usr/bin/PlanetLabConf.py noscripts" + utils.sysexec( "chroot %s %s" % (SYSIMG_PATH, cmd), log ) + + # update node packages log.write( "Running node update.\n" ) - cmd = "chroot %s /usr/local/planetlab/bin/NodeUpdate.py start noreboot" \ + cmd = "chroot %s /usr/bin/NodeUpdate.py start noreboot" \ % SYSIMG_PATH utils.sysexec( cmd, log ) @@ -118,17 +138,6 @@ def Run( vars, log ): except IOError, e: pass - # write out the session value /etc/planetlab/session - try: - session_file_path= "%s/%s/session" % (SYSIMG_PATH,PLCONF_DIR) - session_file= file( session_file_path, "w" ) - session_file.write( str(NODE_SESSION) ) - session_file.close() - session_file= None - log.write( "Updated /etc/planetlab/session\n" ) - except IOError, e: - log.write( "Unable to write out /etc/planetlab/session, continuing anyway\n" ) - update_vals= {} update_vals['ssh_host_key']= ssh_host_key BootAPI.call_api_function( vars, "BootUpdateNode", (update_vals,) ) @@ -142,6 +151,8 @@ def Run( vars, log ): utils.sysexec( "cp %s/boot/kernel-boot%s /tmp/kernel" % (SYSIMG_PATH,option), log ) utils.sysexec( "cp %s/boot/initrd-boot%s /tmp/initrd" % (SYSIMG_PATH,option), log ) + BootAPI.save(vars) + log.write( "Unmounting disks.\n" ) try: # backwards compat, though, we should never hit this case post PL 3.2 @@ -225,7 +236,7 @@ def Run( vars, log ): # problems during chain boot, such as USB host # controller drivers (HCDs) (PL6577). # if int(parts[2]) == 0: - if re.search('_hcd$', parts[0]): + if False and re.search('_hcd$', parts[0]): if usb_usage > 0: log.write( "NOT unloading %s since USB may be in use\n" % parts[0] ) else: