From aeecdf5a1be4c56b19e1ee8a902305742f4fd697 Mon Sep 17 00:00:00 2001 From: Aaron Klingaman Date: Thu, 12 Jan 2006 21:43:12 +0000 Subject: [PATCH] move code block to write out /etc/planetlab/session to ChainBootNode, since it being in UpdateNodeConfiguration only is called after the first boot. POD should work immediately after install now. --- source/configuration | 2 +- source/steps/ChainBootNode.py | 27 ++++++++++++++++++++++--- source/steps/UpdateNodeConfiguration.py | 22 -------------------- 3 files changed, 25 insertions(+), 26 deletions(-) diff --git a/source/configuration b/source/configuration index c6b811b..3f2071d 100644 --- a/source/configuration +++ b/source/configuration @@ -4,7 +4,7 @@ # the current version of the bootmanager -VERSION=3.1.12 +VERSION=3.1.13 # full url to which api server to contact diff --git a/source/steps/ChainBootNode.py b/source/steps/ChainBootNode.py index a83474a..9695a8f 100644 --- a/source/steps/ChainBootNode.py +++ b/source/steps/ChainBootNode.py @@ -18,7 +18,10 @@ def Run( vars, log ): SYSIMG_PATH the path where the system image will be mounted (always starts with TEMP_PATH) ROOT_MOUNTED the node root file system is mounted - + NODE_SESSION the unique session val set when we requested + the current boot state + PLCONF_DIR The directory to store PL configuration files in + Sets the following variables: ROOT_MOUNTED the node root file system is mounted """ @@ -34,7 +37,14 @@ def Run( vars, log ): SYSIMG_PATH= vars["SYSIMG_PATH"] if SYSIMG_PATH == "": raise ValueError, "SYSIMG_PATH" - + + PLCONF_DIR= vars["PLCONF_DIR"] + if PLCONF_DIR == "": + raise ValueError, "PLCONF_DIR" + + # its ok if this is blank + NODE_SESSION= vars["NODE_SESSION"] + except KeyError, var: raise BootManagerException, "Missing variable in vars: %s\n" % var except ValueError, var: @@ -83,7 +93,18 @@ def Run( vars, log ): ssh_host_key_file= None 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,) ) diff --git a/source/steps/UpdateNodeConfiguration.py b/source/steps/UpdateNodeConfiguration.py index b404ce2..2c8ea1b 100644 --- a/source/steps/UpdateNodeConfiguration.py +++ b/source/steps/UpdateNodeConfiguration.py @@ -24,9 +24,6 @@ def Run( vars, log ): ROOT_MOUNTED the node root file system is mounted NETWORK_SETTINGS A dictionary of the values from the network configuration file - NODE_SESSION the unique session val set when we requested - the current boot state - PLCONF_DIR The directory to store PL configuration files in """ log.write( "\n\nStep: Updating node configuration.\n" ) @@ -45,13 +42,6 @@ def Run( vars, log ): if ROOT_MOUNTED == "": raise ValueError, "ROOT_MOUNTED" - PLCONF_DIR= vars["PLCONF_DIR"] - if PLCONF_DIR == "": - raise ValueError, "PLCONF_DIR" - - # its ok if this is blank - NODE_SESSION= vars["NODE_SESSION"] - except KeyError, var: raise BootManagerException, "Missing variable in vars: %s\n" % var except ValueError, var: @@ -110,17 +100,5 @@ def Run( vars, log ): # the update flag is there for base_dir in update_path_list: InstallBuildVServer.update_vserver_network_files(base_dir,vars,log) - - - # 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" ) - except IOError, e: - log.write( "Unable to write out /etc/planetlab/session, continuing anyway" ) return -- 2.43.0