X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=source%2Fsteps%2FInstallPartitionDisks.py;fp=source%2Fsteps%2FInstallPartitionDisks.py;h=f36e2e9154aa5a28561421922304232bebd8801b;hb=2fea13e268727ee2f8bf711776c5b58e9eb5b52c;hp=fcece5359792bea3479f55f75840111b675e826b;hpb=5b996f1856219e4bda803b701adac9930bbe68e5;p=bootmanager.git diff --git a/source/steps/InstallPartitionDisks.py b/source/steps/InstallPartitionDisks.py index fcece53..f36e2e9 100644 --- a/source/steps/InstallPartitionDisks.py +++ b/source/steps/InstallPartitionDisks.py @@ -50,7 +50,7 @@ import utils import BootServerRequest import compatibility - +import ModelOptions def Run( vars, log ): """ @@ -96,6 +96,8 @@ def Run( vars, log ): if BOOT_CD_VERSION == "": raise ValueError, "BOOT_CD_VERSION" + NODE_MODEL_OPTIONS= vars["NODE_MODEL_OPTIONS"] + except KeyError, var: raise BootManagerException, "Missing variable in vars: %s\n" % var except ValueError, var: @@ -183,11 +185,24 @@ def Run( vars, log ): # make swap utils.sysexec( "mkswap %s" % PARTITIONS["swap"], log ) - # make root file system - utils.sysexec( "mkfs.ext2 -j %s" % PARTITIONS["root"], log ) - - # make vservers file system - utils.sysexec( "mkfs.ext2 -m 0 -j %s" % PARTITIONS["vservers"], log ) + # check if badhd option has been set + option = '' + txt = '' + if NODE_MODEL_OPTIONS & ModelOptions.BADHD: + option = '-c' + txt = " with bad block search enabled, which may take a while" + + # filesystems partitions names and their corresponding + # reserved-blocks-percentages + filesystems = {"root":5,"vservers":0} + + # make the file systems + for fs in filesystems.keys(): + # get the reserved blocks percentage + rbp = filesystems[fs] + devname = PARTITIONS[fs] + log.write("formatting %s partition (%s)%s.\n" % (fs,devname,txt)) + utils.sysexec( "mkfs.ext2 -q %s -m %d -j %s" % (option,rbp,devname), log ) # save the list of block devices in the log log.write( "Block devices used (in lvm):\n" )