def setup_rpm(rpm_name): logging.debug('Setting up %s.', rpm_name) rpm = rpm_controller.SentryRPMController(rpm_name) if rpm_name.startswith('chromeos1'): outlet_mapping = DEFAULT_OYSTERBAY_OUTLET_MAP else: outlet_mapping = DEFAULT_ATLANTIS_OUTLET_MAP if not rpm.setup(outlet_mapping): logging.error('Failed to set up %s.', rpm_name)
def setUp(self): super(TestRPMControllerQueue, self).setUp() self.rpm = rpm_controller.SentryRPMController('chromeos-rack1-host8') self.powerunit_info = utils.PowerUnitInfo( device_hostname='chromos-rack1-host8', powerunit_hostname='chromeos-rack1-rpm1', powerunit_type=utils.PowerUnitInfo.POWERUNIT_TYPES.RPM, outlet='.A100', hydra_hostname=None)
def setUp(self): super(TestSentryRPMController, self).setUp() self.ssh = self.mox.CreateMockAnything() rpm_controller.pexpect.spawn = self.mox.CreateMockAnything() rpm_controller.pexpect.spawn(mox.IgnoreArg()).AndReturn(self.ssh) self.rpm = rpm_controller.SentryRPMController('chromeos-rack1-host8') self.powerunit_info = utils.PowerUnitInfo( device_hostname='chromos-rack1-host8', powerunit_hostname='chromeos-rack1-rpm1', powerunit_type=utils.PowerUnitInfo.POWERUNIT_TYPES.RPM, outlet='.A100', hydra_hostname=None)
def _create_rpm_controller(self, rpm_hostname, hydra_hostname): """ Determines the type of RPMController required and initializes it. @param rpm_hostname: Hostname of the RPM we need to communicate with. @return: RPMController instance responsible for this RPM. """ hostname_elements = rpm_hostname.split('-') if hostname_elements[-2] == 'poe': # POE switch hostname looks like 'chromeos2-poe-switch1'. logging.info('The controller is a Cisco POE switch.') return rpm_controller.CiscoPOEController(rpm_hostname) else: # The device is an RPM. rack_id = hostname_elements[-2] rpm_typechecker = re.compile('rack[0-9]+[a-z]+') if rpm_typechecker.match(rack_id): logging.info('RPM is a webpowered device.') return rpm_controller.WebPoweredRPMController(rpm_hostname) else: logging.info('RPM is a Sentry CDU device.') return rpm_controller.SentryRPMController( hostname=rpm_hostname, hydra_hostname=hydra_hostname)