X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=source%2Fsteps%2FCheckHardwareRequirements.py;h=39f8785de3f20d031e4995ba3f00d262e0219525;hb=135271d073a8e7ddfe044ba62c35bb4f7a4676b0;hp=1344161340021a75f37e18296704665d336c01a5;hpb=7ab7e9dd797333a9fdc8604554e16e192a32144d;p=bootmanager.git diff --git a/source/steps/CheckHardwareRequirements.py b/source/steps/CheckHardwareRequirements.py index 1344161..39f8785 100644 --- a/source/steps/CheckHardwareRequirements.py +++ b/source/steps/CheckHardwareRequirements.py @@ -1,50 +1,17 @@ +#!/usr/bin/python +# # Copyright (c) 2003 Intel Corporation # All rights reserved. - -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are -# met: - -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. - -# * Redistributions in binary form must reproduce the above -# copyright notice, this list of conditions and the following -# disclaimer in the documentation and/or other materials provided -# with the distribution. - -# * Neither the name of the Intel Corporation nor the names of its -# contributors may be used to endorse or promote products derived -# from this software without specific prior written permission. - -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE INTEL OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -# EXPORT LAWS: THIS LICENSE ADDS NO RESTRICTIONS TO THE EXPORT LAWS OF -# YOUR JURISDICTION. It is licensee's responsibility to comply with any -# export regulations applicable in licensee's jurisdiction. Under -# CURRENT (May 2000) U.S. export regulations this software is eligible -# for export from the U.S. and can be downloaded by or otherwise -# exported or reexported worldwide EXCEPT to U.S. embargoed destinations -# which include Cuba, Iraq, Libya, North Korea, Iran, Syria, Sudan, -# Afghanistan and any other country to which the U.S. has embargoed -# goods and services. - +# +# Copyright (c) 2004-2006 The Trustees of Princeton University +# All rights reserved. +# expected /proc/partitions format import os import popen2 import string -from systeminfo import systeminfo +import systeminfo from Exceptions import * import utils import notify_messages @@ -73,7 +40,6 @@ def Run( vars, log ): this node to be usable after install SKIP_HARDWARE_REQUIREMENT_CHECK If set, don't check if minimum requirements are met - BOOT_CD_VERSION A tuple of the current bootcd version Sets the following variables: INSTALL_BLOCK_DEVICES list of block devices to install onto """ @@ -91,16 +57,13 @@ def Run( vars, log ): MINIMUM_DISK_SIZE= int(vars["MINIMUM_DISK_SIZE"]) - TOTAL_MINIMUM_DISK_SIZE= \ - int(vars["TOTAL_MINIMUM_DISK_SIZE"]) + # use vs_ or lxc_variants + varname=vars['virt']+"_TOTAL_MINIMUM_DISK_SIZE" + TOTAL_MINIMUM_DISK_SIZE= int(vars[varname]) SKIP_HARDWARE_REQUIREMENT_CHECK= \ int(vars["SKIP_HARDWARE_REQUIREMENT_CHECK"]) - BOOT_CD_VERSION= vars["BOOT_CD_VERSION"] - if BOOT_CD_VERSION == "": - raise ValueError, "BOOT_CD_VERSION" - except KeyError, var: raise BootManagerException, \ "Missing variable in install store: %s" % var @@ -108,12 +71,10 @@ def Run( vars, log ): raise BootManagerException, \ "Variable in install store blank, shouldn't be: %s" % var - sysinfo= systeminfo() - # lets see if we have enough memory to run log.write( "Checking for available memory.\n" ) - total_mem= sysinfo.get_total_phsyical_mem() + total_mem= systeminfo.get_total_phsyical_mem(vars, log) if total_mem is None: raise BootManagerException, "Unable to read total physical memory" @@ -152,7 +113,7 @@ def Run( vars, log ): # get a list of block devices to attempt to install on # (may include cdrom devices) - install_devices= sysinfo.get_block_device_list() + install_devices= systeminfo.get_block_device_list(vars, log) # save the list of block devices in the log log.write( "Detected block devices:\n" ) @@ -194,8 +155,8 @@ def Run( vars, log ): (major,minor,blocks,gb_size,readonly)= install_devices[device] # if the device string starts with - # planetlab, ignore it (could be old lvm setup) - if device[:14] == "/dev/planetlab": + # planetlab or dm- (device mapper), ignore it (could be old lvm setup) + if device[:14] == "/dev/planetlab" or device[:8] == "/dev/dm-": del install_devices[device] continue @@ -284,10 +245,4 @@ def Run( vars, log ): log.write( "Total size for all usable block devices: %4.2f GB\n" % total_size ) - # turn off UDMA for all block devices on 2.x cds (2.4 kernel) - if BOOT_CD_VERSION[0] == 2: - for device in install_devices: - log.write( "Disabling UDMA on %s\n" % device ) - utils.sysexec_noerr( "/sbin/hdparm -d0 %s" % device, log ) - return 1