X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=source%2Fsteps%2FInitializeBootManager.py;h=dfe3399839b25044f2a38e4758dfe36b429ef051;hb=f52080486db907ba6557d1047730c638c4562790;hp=c129d632304c7cd7e181b6b3dd29661462131c3e;hpb=7ab7e9dd797333a9fdc8604554e16e192a32144d;p=bootmanager.git diff --git a/source/steps/InitializeBootManager.py b/source/steps/InitializeBootManager.py index c129d63..dfe3399 100644 --- a/source/steps/InitializeBootManager.py +++ b/source/steps/InitializeBootManager.py @@ -1,3 +1,11 @@ +#!/usr/bin/python +# +# Copyright (c) 2003 Intel Corporation +# All rights reserved. +# +# Copyright (c) 2004-2006 The Trustees of Princeton University +# All rights reserved. + import os import xmlrpclib import socket @@ -8,73 +16,74 @@ import utils # locations of boot os version files -BOOT_VERSION_2X_FILE='/usr/bootme/ID' -BOOT_VERSION_3X_FILE='/pl_version' +BOOT_VERSION_2X_FILE = '/usr/bootme/ID' +BOOT_VERSION_3X_FILE = '/pl_version' # minimium version of the boot os we need to run, as a (major,minor) tuple -MINIMUM_BOOT_VERSION= (2,0) +MINIMUM_BOOT_VERSION = (3, 0) # minimum version of python required to run the boot manager -MINIMUM_PYTHON_VERSION= (2,2,0) +MINIMUM_PYTHON_VERSION = (2, 6, 0) -def Run( vars, log ): +def Run(vars, log): """ Setup the boot manager so it can run, do any extra necessary hardware setup (to fix old cd problems) Sets the following variables: - BOOT_CD_VERSION A two number tuple of the boot cd version + PARTITIONS A dictionary of generic partition types and their + associated devices. + BOOT_CD_VERSION A two number tuple of the boot cd version """ - log.write( "\n\nStep: Initializing the BootManager.\n" ) + log.write("\n\nStep: Initializing the BootManager.\n") - - log.write( "Opening connection to API server\n" ) + # Default model option. Required in case we go into debug mode + # before we successfully called GetAndUpdateNodeDetails(). + vars["NODE_MODEL_OPTIONS"] = vars.get("NODE_MODEL_OPTIONS", 0) + + # define the basic partition paths + PARTITIONS = {} + PARTITIONS["root"] = "/dev/planetlab/root" + PARTITIONS["swap"] = "/dev/planetlab/swap" + PARTITIONS["vservers"] = "/dev/planetlab/vservers" + # Linux 2.6 mounts LVM with device mapper + PARTITIONS["mapper-root"] = "/dev/mapper/planetlab-root" + PARTITIONS["mapper-swap"] = "/dev/mapper/planetlab-swap" + PARTITIONS["mapper-vservers"] = "/dev/mapper/planetlab-vservers" + vars["PARTITIONS"] = PARTITIONS + + log.write("Opening connection to API server\n") try: - api_inst= xmlrpclib.Server( vars['BOOT_API_SERVER'], verbose=0 ) - except KeyError, e: - raise BootManagerException, \ - "configuration file does not specify API server URL" + api_inst = xmlrpclib.Server(vars['BOOT_API_SERVER'], verbose=0) + except KeyError as e: + raise BootManagerException("configuration file does not specify API server URL") - vars['API_SERVER_INST']= api_inst + vars['API_SERVER_INST'] = api_inst - if not __check_boot_version( vars, log ): - raise BootManagerException, \ - "Boot CD version insufficient to run the Boot Manager" + if not __check_boot_version(vars, log): + raise BootManagerException("Boot CD version insufficient to run the Boot Manager") else: - log.write( "Running on boot cd version: %s\n" % - str(vars['BOOT_CD_VERSION']) ) + log.write("Running on boot cd version: {}\n".format(vars['BOOT_CD_VERSION'])) - BOOT_CD_VERSION= vars['BOOT_CD_VERSION'] + BOOT_CD_VERSION = vars['BOOT_CD_VERSION'] - # old cds need extra modules loaded for compaq smart array - if BOOT_CD_VERSION[0] == 2: - - has_smartarray= utils.sysexec_noerr( - 'lspci | egrep "0e11:b178|0e11:4070|0e11:4080|0e11:4082|0e11:4083"') - - if has_smartarray: - log.write( "Loading support for Compaq smart array\n" ) - utils.sysexec_noerr( "modprobe cciss", log ) - _create_cciss_dev_entries() - - - has_fusion= utils.sysexec_noerr('lspci | egrep "1000:0030"') - - if has_fusion: - log.write( "Loading support for Fusion MPT SCSI controllers\n" ) - utils.sysexec_noerr( "modprobe mptscsih", log ) + # In case we are booted with a kernel that does not have the + # device mapper code compiled into the kernel. + if not os.path.exists("/dev/mapper"): + log.write("Loading support for LVM\n") + utils.sysexec_noerr("modprobe dm_mod", log) # for anything that needs to know we are running under the boot cd and # not the runtime os - os.environ['PL_BOOTCD']= "1" + os.environ['PL_BOOTCD'] = "1" return 1 -def __check_boot_version( vars, log ): +def __check_boot_version(vars, log): """ identify which version of the boot os we are running on, and whether or not we can run at all on the given version. later, this will be @@ -108,68 +117,68 @@ def __check_boot_version( vars, log ): try: # check for a 3.x version first - version_file= file(BOOT_VERSION_3X_FILE,'r') - full_version= string.strip(version_file.read()) + version_file = file(BOOT_VERSION_3X_FILE, 'r') + full_version = string.strip(version_file.read()) version_file.close() - version_parts= string.split(full_version) - version= version_parts[-1] + version_parts = string.split(full_version) + version = version_parts[-1] - version_numbers= string.split(version,".") + version_numbers = string.split(version, ".") if len(version_numbers) == 2: - BOOT_OS_MAJOR_VERSION= int(version_numbers[0]) - BOOT_OS_MINOR_VERSION= int(version_numbers[1]) + BOOT_OS_MAJOR_VERSION = int(version_numbers[0]) + BOOT_OS_MINOR_VERSION = int(version_numbers[1]) else: # for 3.x cds, if there are more than two parts # separated by a ., its one of the beta cds. # hardcode as a 3.0 cd - BOOT_OS_MAJOR_VERSION= 3 - BOOT_OS_MINOR_VERSION= 0 + BOOT_OS_MAJOR_VERSION = 3 + BOOT_OS_MINOR_VERSION = 0 - vars['BOOT_CD_VERSION']= (BOOT_OS_MAJOR_VERSION,BOOT_OS_MINOR_VERSION) + vars['BOOT_CD_VERSION'] = (BOOT_OS_MAJOR_VERSION, BOOT_OS_MINOR_VERSION) - if (BOOT_OS_MAJOR_VERSION,BOOT_OS_MINOR_VERSION) >= \ + if (BOOT_OS_MAJOR_VERSION, BOOT_OS_MINOR_VERSION) >= \ MINIMUM_BOOT_VERSION: return 1 - except IOError, e: + except IOError as e: pass - except IndexError, e: + except IndexError as e: pass - except TypeError, e: + except TypeError as e: pass try: # check for a 2.x version first - version_file= file(BOOT_VERSION_2X_FILE,'r') - full_version= string.strip(version_file.read()) + version_file = file(BOOT_VERSION_2X_FILE, 'r') + full_version = string.strip(version_file.read()) version_file.close() - version_parts= string.split(full_version) - version= version_parts[-1] + version_parts = string.split(full_version) + version = version_parts[-1] if version[0] == 'v': - version= version[1:] + version = version[1:] - version_numbers= string.split(version,".") + version_numbers = string.split(version, ".") if len(version_numbers) == 2: - BOOT_OS_MAJOR_VERSION= int(version_numbers[0]) - BOOT_OS_MINOR_VERSION= int(version_numbers[1]) + BOOT_OS_MAJOR_VERSION = int(version_numbers[0]) + BOOT_OS_MINOR_VERSION = int(version_numbers[1]) else: - BOOT_OS_MAJOR_VERSION= int(version_numbers[0]) - BOOT_OS_MINOR_VERSION= int(version_numbers[2]) + BOOT_OS_MAJOR_VERSION = int(version_numbers[0]) + BOOT_OS_MINOR_VERSION = int(version_numbers[2]) - vars['BOOT_CD_VERSION']= (BOOT_OS_MAJOR_VERSION,BOOT_OS_MINOR_VERSION) + vars['BOOT_CD_VERSION'] = (BOOT_OS_MAJOR_VERSION, BOOT_OS_MINOR_VERSION) - if (BOOT_OS_MAJOR_VERSION,BOOT_OS_MINOR_VERSION) >= \ + if (BOOT_OS_MAJOR_VERSION, BOOT_OS_MINOR_VERSION) >= \ MINIMUM_BOOT_VERSION: return 1 - except IOError, e: + except IOError as e: pass - except IndexError, e: + except IndexError as e: pass - except TypeError, e: + except TypeError as e: pass @@ -178,262 +187,17 @@ def __check_boot_version( vars, log ): def _create_cciss_dev_entries(): - utils.sysexec_noerr( "mknod /dev/cciss/c0d0 b 104 0" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d0p1 b 104 1" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d0p2 b 104 2" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d0p3 b 104 3" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d0p4 b 104 4" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d0p5 b 104 5" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d0p6 b 104 6" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d0p7 b 104 7" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d0p8 b 104 8" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d0p9 b 104 9" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d0p10 b 104 10" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d0p11 b 104 11" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d0p12 b 104 12" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d0p13 b 104 13" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d0p14 b 104 14" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d0p15 b 104 15" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d1 b 104 16" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d1p1 b 104 17" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d1p2 b 104 18" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d1p3 b 104 19" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d1p4 b 104 20" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d1p5 b 104 21" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d1p6 b 104 22" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d1p7 b 104 23" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d1p8 b 104 24" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d1p9 b 104 25" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d1p10 b 104 26" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d1p11 b 104 27" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d1p12 b 104 28" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d1p13 b 104 29" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d1p14 b 104 30" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d1p15 b 104 31" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d2 b 104 32" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d2p1 b 104 33" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d2p2 b 104 34" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d2p3 b 104 35" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d2p4 b 104 36" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d2p5 b 104 37" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d2p6 b 104 38" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d2p7 b 104 39" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d2p8 b 104 40" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d2p9 b 104 41" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d2p10 b 104 42" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d2p11 b 104 43" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d2p12 b 104 44" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d2p13 b 104 45" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d2p14 b 104 46" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d2p15 b 104 47" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d3 b 104 48" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d3p1 b 104 49" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d3p2 b 104 50" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d3p3 b 104 51" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d3p4 b 104 52" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d3p5 b 104 53" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d3p6 b 104 54" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d3p7 b 104 55" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d3p8 b 104 56" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d3p9 b 104 57" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d3p10 b 104 58" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d3p11 b 104 59" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d3p12 b 104 60" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d3p13 b 104 61" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d3p14 b 104 62" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d3p15 b 104 63" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d4 b 104 64" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d4p1 b 104 65" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d4p2 b 104 66" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d4p3 b 104 67" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d4p4 b 104 68" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d4p5 b 104 69" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d4p6 b 104 70" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d4p7 b 104 71" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d4p8 b 104 72" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d4p9 b 104 73" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d4p10 b 104 74" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d4p11 b 104 75" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d4p12 b 104 76" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d4p13 b 104 77" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d4p14 b 104 78" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d4p15 b 104 79" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d5 b 104 80" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d5p1 b 104 81" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d5p2 b 104 82" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d5p3 b 104 83" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d5p4 b 104 84" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d5p5 b 104 85" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d5p6 b 104 86" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d5p7 b 104 87" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d5p8 b 104 88" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d5p9 b 104 89" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d5p10 b 104 90" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d5p11 b 104 91" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d5p12 b 104 92" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d5p13 b 104 93" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d5p14 b 104 94" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d5p15 b 104 95" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d6 b 104 96" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d6p1 b 104 97" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d6p2 b 104 98" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d6p3 b 104 99" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d6p4 b 104 100" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d6p5 b 104 101" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d6p6 b 104 102" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d6p7 b 104 103" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d6p8 b 104 104" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d6p9 b 104 105" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d6p10 b 104 106" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d6p11 b 104 107" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d6p12 b 104 108" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d6p13 b 104 109" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d6p14 b 104 110" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d6p15 b 104 111" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d7 b 104 112" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d7p1 b 104 113" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d7p2 b 104 114" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d7p3 b 104 115" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d7p4 b 104 116" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d7p5 b 104 117" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d7p6 b 104 118" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d7p7 b 104 119" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d7p8 b 104 120" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d7p9 b 104 121" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d7p10 b 104 122" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d7p11 b 104 123" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d7p12 b 104 124" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d7p13 b 104 125" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d7p14 b 104 126" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d7p15 b 104 127" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d8 b 104 128" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d8p1 b 104 129" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d8p2 b 104 130" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d8p3 b 104 131" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d8p4 b 104 132" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d8p5 b 104 133" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d8p6 b 104 134" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d8p7 b 104 135" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d8p8 b 104 136" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d8p9 b 104 137" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d8p10 b 104 138" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d8p11 b 104 139" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d8p12 b 104 140" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d8p13 b 104 141" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d8p14 b 104 142" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d8p15 b 104 143" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d9 b 104 144" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d9p1 b 104 145" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d9p2 b 104 146" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d9p3 b 104 147" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d9p4 b 104 148" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d9p5 b 104 149" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d9p6 b 104 150" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d9p7 b 104 151" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d9p8 b 104 152" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d9p9 b 104 153" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d9p10 b 104 154" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d9p11 b 104 155" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d9p12 b 104 156" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d9p13 b 104 157" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d9p14 b 104 158" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d9p15 b 104 159" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d10 b 104 160" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d10p1 b 104 161" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d10p2 b 104 162" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d10p3 b 104 163" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d10p4 b 104 164" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d10p5 b 104 165" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d10p6 b 104 166" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d10p7 b 104 167" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d10p8 b 104 168" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d10p9 b 104 169" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d10p10 b 104 170" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d10p11 b 104 171" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d10p12 b 104 172" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d10p13 b 104 173" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d10p14 b 104 174" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d10p15 b 104 175" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d11 b 104 176" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d11p1 b 104 177" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d11p2 b 104 178" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d11p3 b 104 179" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d11p4 b 104 180" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d11p5 b 104 181" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d11p6 b 104 182" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d11p7 b 104 183" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d11p8 b 104 184" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d11p9 b 104 185" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d11p10 b 104 186" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d11p11 b 104 187" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d11p12 b 104 188" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d11p13 b 104 189" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d11p14 b 104 190" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d11p15 b 104 191" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d12 b 104 192" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d12p1 b 104 193" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d12p2 b 104 194" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d12p3 b 104 195" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d12p4 b 104 196" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d12p5 b 104 197" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d12p6 b 104 198" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d12p7 b 104 199" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d12p8 b 104 200" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d12p9 b 104 201" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d12p10 b 104 202" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d12p11 b 104 203" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d12p12 b 104 204" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d12p13 b 104 205" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d12p14 b 104 206" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d12p15 b 104 207" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d13 b 104 208" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d13p1 b 104 209" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d13p2 b 104 210" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d13p3 b 104 211" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d13p4 b 104 212" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d13p5 b 104 213" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d13p6 b 104 214" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d13p7 b 104 215" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d13p8 b 104 216" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d13p9 b 104 217" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d13p10 b 104 218" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d13p11 b 104 219" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d13p12 b 104 220" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d13p13 b 104 221" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d13p14 b 104 222" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d13p15 b 104 223" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d14 b 104 224" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d14p1 b 104 225" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d14p2 b 104 226" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d14p3 b 104 227" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d14p4 b 104 228" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d14p5 b 104 229" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d14p6 b 104 230" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d14p7 b 104 231" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d14p8 b 104 232" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d14p9 b 104 233" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d14p10 b 104 234" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d14p11 b 104 235" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d14p12 b 104 236" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d14p13 b 104 237" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d14p14 b 104 238" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d14p15 b 104 239" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d15 b 104 240" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d15p1 b 104 241" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d15p2 b 104 242" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d15p3 b 104 243" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d15p4 b 104 244" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d15p5 b 104 245" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d15p6 b 104 246" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d15p7 b 104 247" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d15p8 b 104 248" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d15p9 b 104 249" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d15p10 b 104 250" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d15p11 b 104 251" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d15p12 b 104 252" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d15p13 b 104 253" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d15p14 b 104 254" ) - utils.sysexec_noerr( "mknod /dev/cciss/c0d15p15 b 104 255" ) - - - + def mkccissnod(dev, node): + dev = dev + " b 104 {}".format(node) + cmd = "mknod /dev/cciss/{}".format(dev) + utils.sysexec_noerr(cmd) + node = node + 1 + return node + + node = 0 + for i in range(0, 16): + dev = "c0d{}".format(i) + node = mkccissnod(dev, node) + for j in range(1, 16): + subdev = "{}p{}".format(dev, j) + node = mkccissnod(subdev, node)