def __init__(self, i_bmcIP, i_bmcUser, i_bmcPasswd, i_bmcUserIpmi, i_bmcPasswdIpmi, i_ffdcDir=None, i_hostip=None, i_hostuser=None, i_hostPasswd=None): self.cv_BMC = OpTestBMC(i_bmcIP, i_bmcUser, i_bmcPasswd, i_ffdcDir) self.cv_IPMI = OpTestIPMI(i_bmcIP, i_bmcUserIpmi, i_bmcPasswdIpmi, i_ffdcDir, i_hostip, i_hostuser, i_hostPasswd) self.cv_HOST = OpTestHost(i_hostip, i_hostuser, i_hostPasswd, i_bmcIP, i_ffdcDir) self.cv_SYSTEM = OpTestSystem(i_bmcIP, i_bmcUser, i_bmcPasswd, i_bmcUserIpmi, i_bmcPasswdIpmi, i_ffdcDir, i_hostip, i_hostuser, i_hostPasswd) self.util = OpTestUtil() self.opTestSensors = OpTestSensors(i_bmcIP, i_bmcUser, i_bmcPasswd, i_bmcUserIpmi, i_bmcPasswdIpmi, i_ffdcDir, i_hostip, i_hostuser, i_hostPasswd)
def setUp(self): bmcCfg, testCfg, hostCfg = _config_read() opTestSys = OpTestSystem(bmcCfg['ip'],bmcCfg['username'], bmcCfg['password'], bmcCfg.get('usernameipmi'), bmcCfg.get('passwordipmi'), testCfg['ffdcdir'], hostCfg['hostip'], hostCfg['hostuser'], hostCfg['hostpasswd'])
def __init__(self, i_bmcIP, i_bmcUser, i_bmcPasswd, i_bmcUserIpmi, i_bmcPasswdIpmi, i_ffdcDir=None, i_platName=None, i_hostip=None, i_hostuser=None, i_hostPasswd=None): self.cv_BMC = OpTestBMC(i_bmcIP, i_bmcUser, i_bmcPasswd, i_ffdcDir) self.cv_IPMI = OpTestIPMI(i_bmcIP, i_bmcUserIpmi, i_bmcPasswdIpmi, i_ffdcDir, i_hostip, i_hostuser, i_hostPasswd) self.cv_HOST = OpTestHost(i_hostip, i_hostuser, i_hostPasswd, i_bmcIP) self.cv_SYSTEM = OpTestSystem(i_bmcIP, i_bmcUser, i_bmcPasswd, i_bmcUserIpmi, i_bmcPasswdIpmi, i_ffdcDir, i_hostip, i_hostuser, i_hostPasswd) self.cv_PLATFORM = i_platName self.util = OpTestUtil()
def _config_read(): """ returns bmc system and test config options """ bmcConfig = ConfigParser.RawConfigParser() configFile = os.path.join(os.path.dirname(__file__), 'op_ci_tools.cfg') bmcConfig.read(configFile) return dict(bmcConfig.items('bmc')), dict(bmcConfig.items('test')) ''' Read the configuration settings into global space so they can be used by other functions ''' bmcCfg, testCfg = _config_read() opTestSys = OpTestSystem(bmcCfg['ip'],bmcCfg['username'], bmcCfg['password'], bmcCfg['usernameipmi'], bmcCfg['passwordipmi'], testCfg['ffdcdir']) def test_init(): """This function validates the test config before running other functions """ ''' create FFDC dir if it does not exist ''' ffdcDir = testCfg['ffdcdir'] if not os.path.exists(os.path.dirname(ffdcDir)): os.makedirs(os.path.dirname(ffdcDir)) ''' make sure PNOR image exists ''' pnorImg = testCfg['imagedir'] + testCfg['imagename']
def objs(self): host = OpTestHost(self.args.host_ip, self.args.host_user, self.args.host_password, self.args.bmc_ip, self.output, scratch_disk=self.args.host_scratch_disk, proxy=self.args.proxy, logfile=self.logfile, check_ssh_keys=self.args.check_ssh_keys, known_hosts_file=self.args.known_hosts_file) if self.args.bmc_type in ['AMI', 'SMC']: web = OpTestWeb(self.args.bmc_ip, self.args.bmc_usernameipmi, self.args.bmc_passwordipmi) bmc = None if self.args.bmc_type in ['AMI']: ipmi = OpTestIPMI( self.args.bmc_ip, self.args.bmc_usernameipmi, self.args.bmc_passwordipmi, host=host, logfile=self.logfile, ) bmc = OpTestBMC(ip=self.args.bmc_ip, username=self.args.bmc_username, password=self.args.bmc_password, logfile=self.logfile, ipmi=ipmi, web=web, check_ssh_keys=self.args.check_ssh_keys, known_hosts_file=self.args.known_hosts_file) elif self.args.bmc_type in ['SMC']: ipmi = OpTestSMCIPMI( self.args.bmc_ip, self.args.bmc_usernameipmi, self.args.bmc_passwordipmi, logfile=self.logfile, host=host, ) bmc = OpTestSMC(ip=self.args.bmc_ip, username=self.args.bmc_username, password=self.args.bmc_password, ipmi=ipmi, web=web, check_ssh_keys=self.args.check_ssh_keys, known_hosts_file=self.args.known_hosts_file) self.op_system = OpTestSystem( state=self.startState, bmc=bmc, host=host, ) ipmi.set_system(self.op_system) elif self.args.bmc_type in ['FSP']: ipmi = OpTestIPMI(self.args.bmc_ip, self.args.bmc_usernameipmi, self.args.bmc_passwordipmi, host=host, logfile=self.logfile) bmc = OpTestFSP( self.args.bmc_ip, self.args.bmc_username, self.args.bmc_password, ipmi=ipmi, ) self.op_system = OpTestFSPSystem( state=self.startState, bmc=bmc, host=host, ) ipmi.set_system(self.op_system) elif self.args.bmc_type in ['OpenBMC']: ipmi = OpTestIPMI(self.args.bmc_ip, self.args.bmc_usernameipmi, self.args.bmc_passwordipmi, host=host, logfile=self.logfile) rest_api = HostManagement(self.args.bmc_ip, self.args.bmc_username, self.args.bmc_password) bmc = OpTestOpenBMC(self.args.bmc_ip, self.args.bmc_username, self.args.bmc_password, logfile=self.logfile, ipmi=ipmi, rest_api=rest_api, check_ssh_keys=self.args.check_ssh_keys, known_hosts_file=self.args.known_hosts_file) self.op_system = OpTestOpenBMCSystem( host=host, bmc=bmc, state=self.startState, ) bmc.set_system(self.op_system) elif self.args.bmc_type in ['qemu']: print repr(self.args) bmc = OpTestQemu(self.args.qemu_binary, self.args.flash_skiboot, self.args.flash_kernel, self.args.flash_initramfs, cdrom=self.args.os_cdrom, logfile=self.logfile, hda=self.args.host_scratch_disk) self.op_system = OpTestQemuSystem(host=host, bmc=bmc) # Check that the bmc_type exists in our loaded addons then create our objects elif self.args.bmc_type in optAddons: (bmc, self.op_system) = optAddons[self.args.bmc_type].createSystem( self, host) else: raise Exception("Unsupported BMC Type") host.set_system(self.op_system) return
def _config_read(): """ returns bmc system and test config options """ bmcConfig = ConfigParser.RawConfigParser() configFile = os.path.join(os.path.dirname(__file__), 'op_ci_tools.cfg') bmcConfig.read(configFile) return dict(bmcConfig.items('bmc')), dict(bmcConfig.items('test')), dict( bmcConfig.items('host')) ''' Read the configuration settings into global space so they can be used by other functions ''' bmcCfg, testCfg, hostCfg = _config_read() opTestSys = OpTestSystem(bmcCfg['ip'], bmcCfg['username'], bmcCfg['password'], bmcCfg.get('usernameipmi'), bmcCfg.get('passwordipmi'), testCfg['ffdcdir'], hostCfg['hostip'], hostCfg['hostuser'], hostCfg['hostpasswd']) def validate_host(): """This function Validates the host and waits for host to connect :returns: int -- 0: success, 1: error """ opTestSys.sys_bmc_validate_host() return 0 def outofband_fw_update_hpm(): """This function Update the BMC fw image using hpm file
def objs(self): host = OpTestHost(self.args.host_ip, self.args.host_user, self.args.host_password, self.args.bmc_ip) if self.args.bmc_type in ['AMI']: ipmi = OpTestIPMI(self.args.bmc_ip, self.args.bmc_usernameipmi, self.args.bmc_passwordipmi, self.args.ffdcdir, host=host) web = OpTestWeb(self.args.bmc_ip, self.args.bmc_usernameipmi, self.args.bmc_passwordipmi) bmc = OpTestBMC(ip=self.args.bmc_ip, username=self.args.bmc_username, password=self.args.bmc_password, ipmi=ipmi, web=web, ) self.op_system = OpTestSystem( i_ffdcDir=self.args.ffdcdir, state=self.startState, bmc=bmc, host=host, ) elif self.args.bmc_type in ['FSP']: ipmi = OpTestIPMI(self.args.bmc_ip, self.args.bmc_usernameipmi, self.args.bmc_passwordipmi, self.args.ffdcdir, host=host) bmc = OpTestFSP(self.args.bmc_ip, self.args.bmc_username, self.args.bmc_password, ipmi=ipmi, ) self.op_system = OpTestFSPSystem( i_ffdcDir=self.args.ffdcdir, state=self.startState, bmc=bmc, host=host, ) elif self.args.bmc_type in ['OpenBMC']: ipmi = OpTestIPMI(self.args.bmc_ip, self.args.bmc_usernameipmi, self.args.bmc_passwordipmi, self.args.ffdcdir, host=host) bmc = OpTestOpenBMC(self.args.bmc_ip, self.args.bmc_username, self.args.bmc_password, ipmi=ipmi) self.op_system = OpTestOpenBMCSystem( host=host, bmc=bmc, state=self.startState, ) elif self.args.bmc_type in ['qemu']: print repr(self.args) bmc = OpTestQemu(self.args.qemu_binary, self.args.skiboot, self.args.kernel, self.args.initramfs) self.op_system = OpTestQemuSystem(host=host, bmc=bmc) else: raise Exception("Unsupported BMC Type") return