예제 #1
0
 def test_get_power_state_fail(self, mock_get_ov_client):
     client = mock_get_ov_client()
     exc = client_exception.HPOneViewException()
     client.server_hardware.get.side_effect = exc
     with task_manager.acquire(self.context, self.node.uuid) as task:
         self.assertRaises(exception.OneViewError,
                           power.OneViewPower().get_power_state, task)
예제 #2
0
 def __init__(self):
     self.power = power.OneViewPower()
     self.deploy = deploy.OneViewDeploy()
     self.management = management.OneViewManagement()
     self.vendor = pxe.VendorPassthru()
     oneview_client.check_oneview_status()
     oneview_client.verify_oneview_version()
예제 #3
0
 def test_get_power_state(self, mock_get_ov_client):
     client = mock_get_ov_client()
     server_hardware = {'powerState': 'On'}
     client.server_hardware.get.return_value = server_hardware
     with task_manager.acquire(self.context, self.node.uuid) as task:
         power_state = power.OneViewPower().get_power_state(task)
         self.assertEqual(states.POWER_ON, power_state)
예제 #4
0
 def test_set_power_on_fail(self, mock_set_boot_device, mock_get_ov_client):
     client = mock_get_ov_client()
     exc = client_exception.HPOneViewException()
     client.server_hardware.update_power_state.side_effect = exc
     with task_manager.acquire(self.context, self.node.uuid) as task:
         self.assertRaises(exception.OneViewError,
                           power.OneViewPower().set_power_state, task,
                           states.POWER_ON)
         mock_set_boot_device.assert_called_once_with(task)
예제 #5
0
 def test_set_power_on(self, mock_set_boot_device, mock_get_ov_client):
     client = mock_get_ov_client()
     server_hardware = self.node.driver_info.get('server_hardware_uri')
     with task_manager.acquire(self.context, self.node.uuid) as task:
         power.OneViewPower().set_power_state(task, states.POWER_ON)
         self.assertTrue(mock_set_boot_device.called)
         update = client.server_hardware.update_power_state
         update.assert_called_once_with(power.POWER_ON,
                                        server_hardware,
                                        timeout=-1)
예제 #6
0
파일: fake.py 프로젝트: fellypefca/ironic
    def __init__(self):
        if not importutils.try_import('hpOneView.oneview_client'):
            raise exception.DriverLoadError(
                driver=self.__class__.__name__,
                reason=_("Unable to import hpOneView library"))

        self.power = oneview_power.OneViewPower()
        self.management = oneview_management.OneViewManagement()
        self.boot = fake.FakeBoot()
        self.deploy = fake.FakeDeploy()
        self.inspect = fake.FakeInspect()
예제 #7
0
 def test_reboot_fail_with_hardware_off(self, mock_set_boot_device,
                                        mock_get_ov_client):
     client = mock_get_ov_client()
     server_hardware = {'powerState': 'Off'}
     client.server_hardware.get.return_value = server_hardware
     exc = client_exception.HPOneViewException()
     client.server_hardware.update_power_state.side_effect = exc
     with task_manager.acquire(self.context, self.node.uuid) as task:
         self.assertRaises(exception.OneViewError,
                           power.OneViewPower().reboot, task)
         mock_set_boot_device.assert_called_once_with(task)
예제 #8
0
 def test_set_power_reboot(self, mock_set_boot_device, mock_get_ov_client):
     client = mock_get_ov_client()
     server_hardware = self.node.driver_info.get('server_hardware_uri')
     with task_manager.acquire(self.context, self.node.uuid) as task:
         power.OneViewPower().set_power_state(task, states.REBOOT)
         calls = [
             mock.call(power.POWER_OFF, server_hardware, timeout=-1),
             mock.call(power.POWER_ON, server_hardware, timeout=-1)
         ]
         update = client.server_hardware.update_power_state
         update.assert_has_calls(calls)
예제 #9
0
    def __init__(self):
        if not importutils.try_import('hpOneView.oneview_client'):
            raise exception.DriverLoadError(
                driver=self.__class__.__name__,
                reason=_("Unable to import hpOneView library"))

        self.power = power.OneViewPower()
        self.management = management.OneViewManagement()
        self.boot = pxe.PXEBoot()
        self.deploy = deploy.OneViewIscsiDeploy()
        self.inspect = inspect.OneViewInspect.create_if_enabled(
            'ISCSIPXEOneViewDriver')
예제 #10
0
 def test_set_power_reboot_with_hardware_off_with_timeout(
         self, mock_set_boot_device, mock_get_ov_client):
     client = mock_get_ov_client()
     server_hardware = {'powerState': 'Off'}
     client.server_hardware.get.return_value = server_hardware
     server_hardware = self.node.driver_info.get('server_hardware_uri')
     with task_manager.acquire(self.context, self.node.uuid) as task:
         power.OneViewPower().reboot(task, timeout=2)
         update = client.server_hardware.update_power_state
         update.assert_called_once_with(power.POWER_ON,
                                        server_hardware,
                                        timeout=2)
         mock_set_boot_device.assert_called_once_with(task)
예제 #11
0
    def __init__(self):
        if not importutils.try_import('oneview_client.client'):
            raise exception.DriverLoadError(
                driver=self.__class__.__name__,
                reason=_("Unable to import python-oneviewclient library"))

        # Checks connectivity to OneView and version compatibility on driver
        # initialization
        oneview_client = oneview_common.get_oneview_client()
        oneview_client.verify_oneview_version()
        oneview_client.verify_credentials()
        self.power = oneview_power.OneViewPower()
        self.management = oneview_management.OneViewManagement()
        self.boot = fake.FakeBoot()
        self.deploy = fake.FakeDeploy()
예제 #12
0
    def __init__(self):
        if not importutils.try_import('oneview_client.client'):
            raise exception.DriverLoadError(
                driver=self.__class__.__name__,
                reason=_("Unable to import python-oneviewclient library"))

        # Checks connectivity to OneView and version compatibility on driver
        # initialization
        oneview_client = common.get_oneview_client()
        oneview_client.verify_oneview_version()
        oneview_client.verify_credentials()
        self.power = power.OneViewPower()
        self.management = management.OneViewManagement()
        self.boot = pxe.PXEBoot()
        self.deploy = deploy.OneViewIscsiDeploy()
        self.inspect = inspect.OneViewInspect.create_if_enabled(
            'ISCSIPXEOneViewDriver')
예제 #13
0
 def test_get_properties(self):
     expected = common.COMMON_PROPERTIES
     self.assertEqual(expected, power.OneViewPower().get_properties())
예제 #14
0
 def test_set_power_invalid_state(self, mock_set_boot_device):
     with task_manager.acquire(self.context, self.node.uuid) as task:
         self.assertRaises(exception.InvalidParameterValue,
                           power.OneViewPower().set_power_state, task,
                           'fake_state')
         self.assertFalse(mock_set_boot_device.called)