summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
1d67885)
write out the new session value in /etc/planetlab/session.
# the current version of the bootmanager
# the current version of the bootmanager
# full url to which api server to contact
# full url to which api server to contact
NETWORK_SETTINGS A dictionary of the values of the network settings
SKIP_HARDWARE_REQUIREMENT_CHECK Whether or not we should skip hardware
requirement checks
NETWORK_SETTINGS A dictionary of the values of the network settings
SKIP_HARDWARE_REQUIREMENT_CHECK Whether or not we should skip hardware
requirement checks
+ NODE_SESSION The session value returned from BootGetNodeDetails
+
Return 1 if able to contact PLC and get node info.
Raise a BootManagerException if anything fails.
"""
Return 1 if able to contact PLC and get node info.
Raise a BootManagerException if anything fails.
"""
vars['BOOT_STATE']= details['boot_state']
vars['NODE_MODEL']= string.strip(details['model'])
vars['BOOT_STATE']= details['boot_state']
vars['NODE_MODEL']= string.strip(details['model'])
+ vars['NODE_SESSION']= details['session']
+
log.write( "Successfully retrieved node record.\n" )
log.write( "Current boot state: %s\n" % vars['BOOT_STATE'] )
log.write( "Node make/model: %s\n" % vars['NODE_MODEL'] )
log.write( "Successfully retrieved node record.\n" )
log.write( "Current boot state: %s\n" % vars['BOOT_STATE'] )
log.write( "Node make/model: %s\n" % vars['NODE_MODEL'] )
scripts based on what PLC has. Also, update any slivers on the machine
incase their network files are out of date (primarily /etc/hosts).
scripts based on what PLC has. Also, update any slivers on the machine
incase their network files are out of date (primarily /etc/hosts).
+ Also write out /etc/planetlab/session, a random string that gets
+ a new value at every request of BootGetNodeDetails (ie, every boot)
+
This step expects the root to be already mounted on SYSIMG_PATH.
Except the following keys to be set:
This step expects the root to be already mounted on SYSIMG_PATH.
Except the following keys to be set:
ROOT_MOUNTED the node root file system is mounted
NETWORK_SETTINGS A dictionary of the values from the network
configuration file
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" )
"""
log.write( "\n\nStep: Updating node configuration.\n" )
if ROOT_MOUNTED == "":
raise ValueError, "ROOT_MOUNTED"
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:
except KeyError, var:
raise BootManagerException, "Missing variable in vars: %s\n" % var
except ValueError, var:
# the update flag is there
for base_dir in update_path_list:
InstallBuildVServer.update_vserver_network_files(base_dir,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" )
+