X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=source%2Fsteps%2FInstallWriteConfig.py;h=e272fdb2a7b453ffd77bd761bf6f3a5bc940ebfb;hb=c551da10791c6435130b24e5925c63e288e8b874;hp=2d1582c3198f2babc8802acb78efd94228f9eed0;hpb=ae73c450bffe036dccf37e8d96a4b655c3cd900e;p=bootmanager.git diff --git a/source/steps/InstallWriteConfig.py b/source/steps/InstallWriteConfig.py index 2d1582c..e272fdb 100644 --- a/source/steps/InstallWriteConfig.py +++ b/source/steps/InstallWriteConfig.py @@ -1,4 +1,4 @@ -#!/usr/bin/python2 +#!/usr/bin/python # Copyright (c) 2003 Intel Corporation # All rights reserved. @@ -32,10 +32,8 @@ def Run( vars, log ): PARTITIONS dictionary of generic part. types (root/swap) and their associated devices. PLCONF_DIR The directory to store the configuration file in - NETWORK_SETTINGS A dictionary of the values from the network + INTERFACE_SETTINGS A dictionary of the values from the network configuration file - BOOT_CD_VERSION A tuple of the current bootcd version - Sets the following variables: None @@ -61,13 +59,9 @@ def Run( vars, log ): if PLCONF_DIR == "": raise ValueError, "PLCONF_DIR" - NETWORK_SETTINGS= vars["NETWORK_SETTINGS"] - if NETWORK_SETTINGS == "": - raise ValueError, "NETWORK_SETTINGS" - - BOOT_CD_VERSION= vars["BOOT_CD_VERSION"] - if BOOT_CD_VERSION == "": - raise ValueError, "BOOT_CD_VERSION" + INTERFACE_SETTINGS= vars["INTERFACE_SETTINGS"] + if INTERFACE_SETTINGS == "": + raise ValueError, "INTERFACE_SETTINGS" except KeyError, var: raise BootManagerException, "Missing variable in vars: %s\n" % var @@ -90,9 +84,9 @@ def Run( vars, log ): fstab= file( "%s/etc/fstab" % SYSIMG_PATH, "w" ) fstab.write( "%s none swap sw 0 0\n" % \ PARTITIONS["mapper-swap"] ) - fstab.write( "%s / ext3 defaults 0 0\n" % \ + fstab.write( "%s / ext3 defaults 1 1\n" % \ PARTITIONS["mapper-root"] ) - fstab.write( "%s /vservers ext3 tagxid,defaults 0 0\n" % \ + fstab.write( "%s /vservers ext3 tagxid,defaults 1 2\n" % \ PARTITIONS["mapper-vservers"] ) fstab.write( "none /proc proc defaults 0 0\n" ) fstab.write( "none /dev/shm tmpfs defaults 0 0\n" ) @@ -101,7 +95,6 @@ def Run( vars, log ): # fstab.write( "none /rcfs rcfs defaults 0 0\n" ) fstab.close() - log.write( "Writing system /etc/issue\n" ) issue= file( "%s/etc/issue" % SYSIMG_PATH, "w" ) issue.write( "PlanetLab Node: \\n\n" ) @@ -123,40 +116,13 @@ def Run( vars, log ): # the system image so we can run programs inside that need network access method= "" try: - method= vars['NETWORK_SETTINGS']['method'] + method= vars['INTERFACE_SETTINGS']['method'] except: pass if method == "dhcp": utils.sysexec( "cp /etc/resolv.conf %s/etc/" % SYSIMG_PATH, log ) - # the kernel rpm should have already done this, so don't fail the - # install if it fails - log.write( "Mounting /proc in system image\n" ) - utils.sysexec_noerr( "mount -t proc proc %s/proc" % SYSIMG_PATH, log ) - - # mkinitrd references both /etc/modprobe.conf and /etc/fstab - # as well as /proc/lvm/global. The kernel RPM installation - # likely created an improper initrd since these files did not - # yet exist. Re-create the initrd here. - log.write( "Making initrd\n" ) - - # trick mkinitrd in case the current environment does not have device mapper - fake_root_lvm= False - if not os.path.exists( "%s/%s" % (SYSIMG_PATH,PARTITIONS["mapper-root"]) ): - fake_root_lvm= True - utils.makedirs( "%s/dev/mapper" % SYSIMG_PATH ) - rootdev= file( "%s/%s" % (SYSIMG_PATH,PARTITIONS["mapper-root"]), "w" ) - rootdev.close() - - initrd, kernel_version= systeminfo.getKernelVersion(vars,log) - utils.removefile( "%s/boot/%s" % (SYSIMG_PATH, initrd) ) - utils.sysexec( "chroot %s mkinitrd /boot/initrd-%s.img %s" % \ - (SYSIMG_PATH, kernel_version, kernel_version), log ) - - if fake_root_lvm == True: - utils.removefile( "%s/%s" % (SYSIMG_PATH,PARTITIONS["mapper-root"]) ) - log.write( "Writing node install version\n" ) utils.makedirs( "%s/etc/planetlab" % SYSIMG_PATH ) ver= file( "%s/etc/planetlab/install_version" % SYSIMG_PATH, "w" )