InstallBootstrapRPM.Run( self.VARS, self.LOG )
InstallWriteConfig.Run( self.VARS, self.LOG )
InstallBuildVServer.Run( self.VARS, self.LOG )
- InstallNodeInit.Run( self.VARS, self.LOG )
InstallUninitHardware.Run( self.VARS, self.LOG )
self.VARS['BOOT_STATE']= 'boot'
self.VARS['STATE_CHANGE_NOTIFY']= 1
+++ /dev/null
-#!/usr/bin/python2
-
-# Copyright (c) 2003 Intel Corporation
-# All rights reserved.
-#
-# Copyright (c) 2004-2006 The Trustees of Princeton University
-# All rights reserved.
-# expected /proc/partitions format
-
-from Exceptions import *
-import utils
-import os
-
-
-def Run( vars, log ):
- """
- Initialize the node:
- - runs planetlabconf
-
- 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
- PLCONF_DIR The directory to store the configuration file in
-
- Sets the following variables:
- None
-
- """
-
- log.write( "\n\nStep: Install: Final node initialization.\n" )
-
- # make sure we have the variables we need
- try:
- SYSIMG_PATH= vars["SYSIMG_PATH"]
- if SYSIMG_PATH == "":
- raise ValueError, "SYSIMG_PATH"
-
- NODE_ID= vars["NODE_ID"]
- if NODE_ID == "":
- raise ValueError, "NODE_ID"
-
- PLCONF_DIR= vars["PLCONF_DIR"]
- if PLCONF_DIR == "":
- raise ValueError, "PLCONF_DIR"
-
- except KeyError, var:
- raise BootManagerException, "Missing variable in vars: %s\n" % var
- except ValueError, var:
- raise BootManagerException, "Variable in vars, shouldn't be: %s\n" % var
-
-
- 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" )
- return 0
-
- services= [ "netfs", "rawdevices", "cpuspeed", "smartd" ]
- for service in services:
- if os.path.exists("%s/etc/init.d/%s" % (SYSIMG_PATH,service)):
- log.write( "Disabling unneeded service: %s\n" % service )
- utils.sysexec( "chroot %s chkconfig --level 12345 %s off" %
- (SYSIMG_PATH,service), log )
-
- return 1