From b6e9050816c7d68b162c4e4e273ec28fa7c457de Mon Sep 17 00:00:00 2001 From: Aaron Klingaman Date: Thu, 21 Jul 2005 21:50:55 +0000 Subject: [PATCH] now that PlanetLabConf uses node_id, update the bootmanager code that calls PlanetLabConf and write out /etc/planetlab/node_id. --- source/configuration | 2 +- source/steps/InstallNodeInit.py | 22 ++++++++++++++++++++-- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/source/configuration b/source/configuration index 28c7486..bcd182e 100644 --- a/source/configuration +++ b/source/configuration @@ -4,7 +4,7 @@ # the current version of the bootmanager -VERSION=3.1.2 +VERSION=3.1.3 # full url to which api server to contact diff --git a/source/steps/InstallNodeInit.py b/source/steps/InstallNodeInit.py index 32319e6..df319bf 100644 --- a/source/steps/InstallNodeInit.py +++ b/source/steps/InstallNodeInit.py @@ -52,7 +52,8 @@ def Run( vars, log ): Except the following variables from the store: SYSIMG_PATH the path where the system image will be mounted (always starts with TEMP_PATH) - + NODE_ID The db node_id for this machine + Sets the following variables: None @@ -65,7 +66,11 @@ def Run( vars, log ): SYSIMG_PATH= vars["SYSIMG_PATH"] if SYSIMG_PATH == "": raise ValueError, "SYSIMG_PATH" - + + NODE_ID= vars["NODE_ID"] + if NODE_ID == "": + raise ValueError, "NODE_ID" + except KeyError, var: raise BootManagerException, "Missing variable in vars: %s\n" % var except ValueError, var: @@ -74,6 +79,19 @@ def Run( vars, log ): log.write( "Running PlanetLabConf to update any configuration files\n" ) + # PlanetLabConf requires /etc/planetlab/node_id, which is normally + # maintained in ValidateNodeInstal. so, write out the node_id here + # so PlanetLabConf can run. + try: + node_id_file_path= "%s/%s/node_id" % (SYSIMG_PATH,PLCONF_DIR) + node_id_file= file( node_id_file_path, "w" ) + node_id_file.write( str(NODE_ID) ) + node_id_file.close() + node_id_file= None + except IOError, e: + raise BootManagerException, \ + "Unable to write out /etc/planetlab/node_id for PlanetLabConf" + if not utils.sysexec( "chroot %s PlanetLabConf.py noscripts" % SYSIMG_PATH, log ): log.write( "PlanetLabConf failed, install incomplete.\n" ) -- 2.43.0