コード例 #1
0
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)
コード例 #2
0
 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)
コード例 #3
0
 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)
コード例 #4
0
ファイル: rpm_dispatcher.py プロジェクト: ghat/honor7x
    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)