diff options
Diffstat (limited to 'ironic/tests/unit')
-rw-r--r-- | ironic/tests/unit/conductor/test_manager.py | 4 | ||||
-rw-r--r-- | ironic/tests/unit/drivers/modules/ilo/test_boot.py | 72 | ||||
-rw-r--r-- | ironic/tests/unit/drivers/modules/ilo/test_deploy.py | 316 | ||||
-rw-r--r-- | ironic/tests/unit/drivers/test_ilo.py | 6 |
4 files changed, 59 insertions, 339 deletions
diff --git a/ironic/tests/unit/conductor/test_manager.py b/ironic/tests/unit/conductor/test_manager.py index 82e0c163d..1e60cec07 100644 --- a/ironic/tests/unit/conductor/test_manager.py +++ b/ironic/tests/unit/conductor/test_manager.py @@ -4836,7 +4836,9 @@ class ManagerTestProperties(mgr_utils.ServiceSetUpMixin, 'console_port', 'ilo_change_password', 'ca_file', 'snmp_auth_user', 'snmp_auth_prot_password', 'snmp_auth_priv_password', 'snmp_auth_protocol', - 'snmp_auth_priv_protocol'] + 'snmp_auth_priv_protocol', 'deploy_forces_oob_reboot', + 'deploy_kernel', 'deploy_ramdisk', 'image_http_proxy', + 'image_https_proxy', 'image_no_proxy'] self._check_driver_properties("agent_ilo", expected) def test_driver_properties_fail(self): diff --git a/ironic/tests/unit/drivers/modules/ilo/test_boot.py b/ironic/tests/unit/drivers/modules/ilo/test_boot.py index 36310ee21..d607c000b 100644 --- a/ironic/tests/unit/drivers/modules/ilo/test_boot.py +++ b/ironic/tests/unit/drivers/modules/ilo/test_boot.py @@ -429,26 +429,26 @@ class IloBootPrivateMethodsTestCase(db_base.DbTestCase): @mock.patch.object(ilo_common, 'parse_driver_info', spec_set=True, autospec=True) - def test_validate_driver_info_MissingParam(self, mock_parse_driver_info): + def test__validate_driver_info_MissingParam(self, mock_parse_driver_info): with task_manager.acquire(self.context, self.node.uuid, shared=False) as task: self.assertRaisesRegex(exception.MissingParameterValue, "Missing 'ilo_deploy_iso'", - ilo_boot.validate_driver_info, task) + ilo_boot._validate_driver_info, task) mock_parse_driver_info.assert_called_once_with(task.node) @mock.patch.object(service_utils, 'is_glance_image', spec_set=True, autospec=True) @mock.patch.object(ilo_common, 'parse_driver_info', spec_set=True, autospec=True) - def test_validate_driver_info_valid_uuid(self, mock_parse_driver_info, - mock_is_glance_image): + def test__validate_driver_info_valid_uuid(self, mock_parse_driver_info, + mock_is_glance_image): mock_is_glance_image.return_value = True with task_manager.acquire(self.context, self.node.uuid, shared=False) as task: deploy_iso = '8a81759a-f29b-454b-8ab3-161c6ca1882c' task.node.driver_info['ilo_deploy_iso'] = deploy_iso - ilo_boot.validate_driver_info(task) + ilo_boot._validate_driver_info(task) mock_parse_driver_info.assert_called_once_with(task.node) mock_is_glance_image.assert_called_once_with(deploy_iso) @@ -458,9 +458,9 @@ class IloBootPrivateMethodsTestCase(db_base.DbTestCase): autospec=True) @mock.patch.object(ilo_common, 'parse_driver_info', spec_set=True, autospec=True) - def test_validate_driver_info_InvalidParam(self, mock_parse_driver_info, - mock_is_glance_image, - mock_validate_href): + def test__validate_driver_info_InvalidParam(self, mock_parse_driver_info, + mock_is_glance_image, + mock_validate_href): deploy_iso = 'http://abc.org/image/qcow2' mock_validate_href.side_effect = exception.ImageRefValidationFailed( image_href='http://abc.org/image/qcow2', reason='fail') @@ -470,7 +470,7 @@ class IloBootPrivateMethodsTestCase(db_base.DbTestCase): task.node.driver_info['ilo_deploy_iso'] = deploy_iso self.assertRaisesRegex(exception.InvalidParameterValue, "Virtual media boot accepts", - ilo_boot.validate_driver_info, task) + ilo_boot._validate_driver_info, task) mock_parse_driver_info.assert_called_once_with(task.node) mock_validate_href.assert_called_once_with(mock.ANY, deploy_iso) @@ -480,15 +480,15 @@ class IloBootPrivateMethodsTestCase(db_base.DbTestCase): autospec=True) @mock.patch.object(ilo_common, 'parse_driver_info', spec_set=True, autospec=True) - def test_validate_driver_info_valid_url(self, mock_parse_driver_info, - mock_is_glance_image, - mock_validate_href): + def test__validate_driver_info_valid_url(self, mock_parse_driver_info, + mock_is_glance_image, + mock_validate_href): deploy_iso = 'http://abc.org/image/deploy.iso' mock_is_glance_image.return_value = False with task_manager.acquire(self.context, self.node.uuid, shared=False) as task: task.node.driver_info['ilo_deploy_iso'] = deploy_iso - ilo_boot.validate_driver_info(task) + ilo_boot._validate_driver_info(task) mock_parse_driver_info.assert_called_once_with(task.node) mock_validate_href.assert_called_once_with(mock.ANY, deploy_iso) @@ -676,9 +676,12 @@ class IloVirtualMediaBootTestCase(db_base.DbTestCase): self.node = obj_utils.create_test_node( self.context, driver='iscsi_ilo', driver_info=INFO_DICT) + @mock.patch.object(ilo_boot, '_validate_driver_info', + spec_set=True, autospec=True) @mock.patch.object(ilo_boot, '_validate_instance_image_info', spec_set=True, autospec=True) - def test_validate(self, mock_val_instance_image_info): + def test_validate(self, mock_val_instance_image_info, + mock_val_driver_info): instance_info = self.node.instance_info instance_info['ilo_boot_iso'] = 'deploy-iso' instance_info['image_source'] = '6b2f0c0c-79e8-4db6-842e-43c9764204af' @@ -690,7 +693,12 @@ class IloVirtualMediaBootTestCase(db_base.DbTestCase): task.node.driver_info['ilo_deploy_iso'] = 'deploy-iso' task.driver.boot.validate(task) mock_val_instance_image_info.assert_called_once_with(task) + mock_val_driver_info.assert_called_once_with(task) + @mock.patch.object(ilo_boot, 'prepare_node_for_deploy', + spec_set=True, autospec=True) + @mock.patch.object(manager_utils, 'node_power_action', + spec_set=True, autospec=True) @mock.patch.object(ilo_common, 'eject_vmedia_devices', spec_set=True, autospec=True) @mock.patch.object(ilo_common, 'setup_vmedia', spec_set=True, @@ -698,7 +706,9 @@ class IloVirtualMediaBootTestCase(db_base.DbTestCase): @mock.patch.object(deploy_utils, 'get_single_nic_with_vif_port_id', spec_set=True, autospec=True) def _test_prepare_ramdisk(self, get_nic_mock, setup_vmedia_mock, - eject_mock, ilo_boot_iso, image_source, + eject_mock, node_power_mock, + prepare_node_for_deploy_mock, + ilo_boot_iso, image_source, ramdisk_params={'a': 'b'}): instance_info = self.node.instance_info instance_info['ilo_boot_iso'] = ilo_boot_iso @@ -714,6 +724,9 @@ class IloVirtualMediaBootTestCase(db_base.DbTestCase): task.driver.boot.prepare_ramdisk(task, ramdisk_params) + node_power_mock.assert_called_once_with(task, states.POWER_OFF) + if task.node.provision_state == states.DEPLOYING: + prepare_node_for_deploy_mock.assert_called_once_with(task) eject_mock.assert_called_once_with(task) expected_ramdisk_opts = {'a': 'b', 'BOOTIF': '12:34:56:78:90:ab'} get_nic_mock.assert_called_once_with(task) @@ -821,12 +834,17 @@ class IloVirtualMediaBootTestCase(db_base.DbTestCase): self.assertFalse(setup_vmedia_mock.called) self.assertFalse(set_boot_device_mock.called) + @mock.patch.object(ilo_common, 'update_secure_boot_mode', spec_set=True, + autospec=True) + @mock.patch.object(manager_utils, 'node_power_action', spec_set=True, + autospec=True) @mock.patch.object(ilo_common, 'cleanup_vmedia_boot', spec_set=True, autospec=True) @mock.patch.object(ilo_boot, '_clean_up_boot_iso_for_instance', spec_set=True, autospec=True) def test_clean_up_instance(self, cleanup_iso_mock, - cleanup_vmedia_mock): + cleanup_vmedia_mock, node_power_mock, + update_secure_boot_mode_mock): with task_manager.acquire(self.context, self.node.uuid, shared=False) as task: driver_internal_info = task.node.driver_internal_info @@ -842,6 +860,9 @@ class IloVirtualMediaBootTestCase(db_base.DbTestCase): self.assertNotIn('boot_iso_created_in_web_server', driver_internal_info) self.assertNotIn('root_uuid_or_disk_id', driver_internal_info) + node_power_mock.assert_called_once_with(task, + states.POWER_OFF) + update_secure_boot_mode_mock.assert_called_once_with(task, False) @mock.patch.object(ilo_common, 'cleanup_vmedia_boot', spec_set=True, autospec=True) @@ -851,12 +872,17 @@ class IloVirtualMediaBootTestCase(db_base.DbTestCase): task.driver.boot.clean_up_ramdisk(task) cleanup_vmedia_mock.assert_called_once_with(task) + @mock.patch.object(ilo_common, 'update_secure_boot_mode', spec_set=True, + autospec=True) + @mock.patch.object(ilo_common, 'update_boot_mode', spec_set=True, + autospec=True) @mock.patch.object(manager_utils, 'node_set_boot_device', spec_set=True, autospec=True) @mock.patch.object(ilo_common, 'cleanup_vmedia_boot', spec_set=True, autospec=True) def _test_prepare_instance_whole_disk_image( - self, cleanup_vmedia_boot_mock, set_boot_device_mock): + self, cleanup_vmedia_boot_mock, set_boot_device_mock, + update_boot_mode_mock, update_secure_boot_mode_mock): self.node.driver_internal_info = {'is_whole_disk_image': True} self.node.save() with task_manager.acquire(self.context, self.node.uuid, @@ -867,6 +893,8 @@ class IloVirtualMediaBootTestCase(db_base.DbTestCase): set_boot_device_mock.assert_called_once_with(task, boot_devices.DISK, persistent=True) + update_boot_mode_mock.assert_called_once_with(task) + update_secure_boot_mode_mock.assert_called_once_with(task, True) def test_prepare_instance_whole_disk_image_local(self): self.node.instance_info = {'capabilities': '{"boot_option": "local"}'} @@ -876,14 +904,18 @@ class IloVirtualMediaBootTestCase(db_base.DbTestCase): def test_prepare_instance_whole_disk_image(self): self._test_prepare_instance_whole_disk_image() + @mock.patch.object(ilo_common, 'update_secure_boot_mode', spec_set=True, + autospec=True) + @mock.patch.object(ilo_common, 'update_boot_mode', spec_set=True, + autospec=True) @mock.patch.object(ilo_boot.IloVirtualMediaBoot, '_configure_vmedia_boot', spec_set=True, autospec=True) @mock.patch.object(ilo_common, 'cleanup_vmedia_boot', spec_set=True, autospec=True) def test_prepare_instance_partition_image( - self, cleanup_vmedia_boot_mock, - configure_vmedia_mock): + self, cleanup_vmedia_boot_mock, configure_vmedia_mock, + update_boot_mode_mock, update_secure_boot_mode_mock): self.node.driver_internal_info = {'root_uuid_or_disk_id': ( "12312642-09d3-467f-8e09-12385826a123")} self.node.save() @@ -894,3 +926,5 @@ class IloVirtualMediaBootTestCase(db_base.DbTestCase): cleanup_vmedia_boot_mock.assert_called_once_with(task) configure_vmedia_mock.assert_called_once_with( mock.ANY, task, "12312642-09d3-467f-8e09-12385826a123") + update_boot_mode_mock.assert_called_once_with(task) + update_secure_boot_mode_mock.assert_called_once_with(task, True) diff --git a/ironic/tests/unit/drivers/modules/ilo/test_deploy.py b/ironic/tests/unit/drivers/modules/ilo/test_deploy.py index 1a8bd9ccc..e33f6f1ef 100644 --- a/ironic/tests/unit/drivers/modules/ilo/test_deploy.py +++ b/ironic/tests/unit/drivers/modules/ilo/test_deploy.py @@ -23,7 +23,6 @@ from ironic.common import states from ironic.conductor import task_manager from ironic.conductor import utils as manager_utils from ironic.conf import CONF -from ironic.drivers.modules import agent from ironic.drivers.modules.ilo import boot as ilo_boot from ironic.drivers.modules.ilo import common as ilo_common from ironic.drivers.modules import iscsi_deploy @@ -40,321 +39,6 @@ if six.PY3: INFO_DICT = db_utils.get_test_ilo_info() -class IloVirtualMediaIscsiDeployTestCase(db_base.DbTestCase): - - def setUp(self): - super(IloVirtualMediaIscsiDeployTestCase, self).setUp() - mgr_utils.mock_the_extension_manager(driver="iscsi_ilo") - self.node = obj_utils.create_test_node( - self.context, driver='iscsi_ilo', driver_info=INFO_DICT) - - @mock.patch.object(iscsi_deploy.ISCSIDeploy, 'validate', spec_set=True, - autospec=True) - @mock.patch.object(ilo_boot, 'validate_driver_info', spec_set=True, - autospec=True) - def test_validate(self, - mock_validate_driver_info, - iscsi_validate): - with task_manager.acquire(self.context, self.node.uuid, - shared=False) as task: - task.driver.deploy.validate(task) - mock_validate_driver_info.assert_called_once_with(task) - iscsi_validate.assert_called_once_with(mock.ANY, task) - - @mock.patch.object(ilo_common, 'update_secure_boot_mode', spec_set=True, - autospec=True) - @mock.patch.object(iscsi_deploy.ISCSIDeploy, 'tear_down', spec_set=True, - autospec=True) - @mock.patch.object(manager_utils, 'node_power_action', spec_set=True, - autospec=True) - def test_tear_down(self, - node_power_action_mock, - iscsi_tear_down_mock, - update_secure_boot_mode_mock): - with task_manager.acquire(self.context, self.node.uuid, - shared=False) as task: - iscsi_tear_down_mock.return_value = states.DELETED - returned_state = task.driver.deploy.tear_down(task) - node_power_action_mock.assert_called_once_with(task, - states.POWER_OFF) - update_secure_boot_mode_mock.assert_called_once_with(task, False) - iscsi_tear_down_mock.assert_called_once_with(mock.ANY, task) - self.assertEqual(states.DELETED, returned_state) - - @mock.patch.object(ilo_boot.LOG, 'warning', - spec_set=True, autospec=True) - @mock.patch.object(ilo_boot, 'exception', spec_set=True, autospec=True) - @mock.patch.object(iscsi_deploy.ISCSIDeploy, 'tear_down', spec_set=True, - autospec=True) - @mock.patch.object(ilo_common, 'update_secure_boot_mode', spec_set=True, - autospec=True) - @mock.patch.object(manager_utils, 'node_power_action', spec_set=True, - autospec=True) - def test_tear_down_handle_exception(self, - node_power_action_mock, - update_secure_boot_mode_mock, - iscsi_tear_down_mock, - exception_mock, - mock_log): - with task_manager.acquire(self.context, self.node.uuid, - shared=False) as task: - iscsi_tear_down_mock.return_value = states.DELETED - exception_mock.IloOperationNotSupported = Exception - update_secure_boot_mode_mock.side_effect = Exception - returned_state = task.driver.deploy.tear_down(task) - node_power_action_mock.assert_called_once_with(task, - states.POWER_OFF) - update_secure_boot_mode_mock.assert_called_once_with(task, False) - iscsi_tear_down_mock.assert_called_once_with(mock.ANY, task) - self.assertTrue(mock_log.called) - self.assertEqual(states.DELETED, returned_state) - - @mock.patch.object(iscsi_deploy.ISCSIDeploy, 'deploy', - spec_set=True, autospec=True) - def test_deploy(self, iscsi_deploy_mock): - with task_manager.acquire(self.context, self.node.uuid, - shared=False) as task: - task.driver.deploy.deploy(task) - iscsi_deploy_mock.assert_called_once_with(mock.ANY, task) - - @mock.patch.object(iscsi_deploy.ISCSIDeploy, 'prepare', - spec_set=True, autospec=True) - @mock.patch.object(ilo_boot, 'prepare_node_for_deploy', spec_set=True, - autospec=True) - def test_prepare(self, func_prepare_node_for_deploy, - iscsi_deploy_prepare_mock): - self.node.provision_state = states.DEPLOYING - self.node.save() - with task_manager.acquire(self.context, self.node.uuid, - shared=False) as task: - task.driver.deploy.prepare(task) - func_prepare_node_for_deploy.assert_called_once_with(task) - iscsi_deploy_prepare_mock.assert_called_once_with(mock.ANY, task) - - @mock.patch.object(iscsi_deploy.ISCSIDeploy, 'prepare', - spec_set=True, autospec=True) - @mock.patch.object(ilo_boot, 'prepare_node_for_deploy', spec_set=True, - autospec=True) - def test_prepare_active_node(self, func_prepare_node_for_deploy, - iscsi_deploy_prepare_mock): - """Ensure nodes in running states are not inadvertently changed""" - test_states = list(states.STABLE_STATES) - test_states.extend([states.CLEANING, - states.CLEANWAIT, - states.INSPECTING]) - for state in test_states: - self.node.provision_state = state - self.node.save() - func_prepare_node_for_deploy.reset_mock() - iscsi_deploy_prepare_mock.reset_mock() - with task_manager.acquire(self.context, self.node.uuid, - shared=False) as task: - task.driver.deploy.prepare(task) - self.assertFalse(func_prepare_node_for_deploy.called) - iscsi_deploy_prepare_mock.assert_called_once_with( - mock.ANY, task) - - @mock.patch.object(iscsi_deploy.ISCSIDeploy, 'prepare_cleaning', - spec_set=True, autospec=True) - @mock.patch.object(manager_utils, 'node_power_action', spec_set=True, - autospec=True) - def test_prepare_cleaning(self, node_power_action_mock, - iscsi_prep_clean_mock): - iscsi_prep_clean_mock.return_value = states.CLEANWAIT - with task_manager.acquire(self.context, self.node.uuid, - shared=False) as task: - ret = task.driver.deploy.prepare_cleaning(task) - self.assertEqual(states.CLEANWAIT, ret) - node_power_action_mock.assert_called_once_with(task, - states.POWER_OFF) - iscsi_prep_clean_mock.assert_called_once_with(mock.ANY, task) - - @mock.patch.object(iscsi_deploy.ISCSIDeploy, 'continue_deploy', - spec_set=True, autospec=True) - @mock.patch.object(ilo_common, 'update_secure_boot_mode', autospec=True) - @mock.patch.object(ilo_common, 'update_boot_mode', autospec=True) - def test_continue_deploy(self, - func_update_boot_mode, - func_update_secure_boot_mode, - pxe_vendorpassthru_mock): - with task_manager.acquire(self.context, self.node.uuid, - shared=False) as task: - task.node.provision_state = states.DEPLOYWAIT - task.node.target_provision_state = states.ACTIVE - task.driver.deploy.continue_deploy(task) - func_update_boot_mode.assert_called_once_with(task) - func_update_secure_boot_mode.assert_called_once_with(task, True) - pxe_vendorpassthru_mock.assert_called_once_with( - mock.ANY, task) - - -class IloVirtualMediaAgentDeployTestCase(db_base.DbTestCase): - - def setUp(self): - super(IloVirtualMediaAgentDeployTestCase, self).setUp() - mgr_utils.mock_the_extension_manager(driver="agent_ilo") - self.node = obj_utils.create_test_node( - self.context, driver='agent_ilo', driver_info=INFO_DICT) - - @mock.patch.object(agent.AgentDeploy, 'validate', spec_set=True, - autospec=True) - @mock.patch.object(ilo_boot, 'validate_driver_info', spec_set=True, - autospec=True) - def test_validate(self, - mock_validate_driver_info, - agent_validate): - with task_manager.acquire(self.context, self.node.uuid, - shared=False) as task: - task.driver.deploy.validate(task) - mock_validate_driver_info.assert_called_once_with(task) - agent_validate.assert_called_once_with(mock.ANY, task) - - @mock.patch.object(agent.AgentDeploy, 'tear_down', spec_set=True, - autospec=True) - @mock.patch.object(ilo_common, 'update_secure_boot_mode', spec_set=True, - autospec=True) - @mock.patch.object(manager_utils, 'node_power_action', spec_set=True, - autospec=True) - def test_tear_down(self, - node_power_action_mock, - update_secure_boot_mode_mock, - agent_teardown_mock): - with task_manager.acquire(self.context, self.node.uuid, - shared=False) as task: - agent_teardown_mock.return_value = states.DELETED - returned_state = task.driver.deploy.tear_down(task) - node_power_action_mock.assert_called_once_with(task, - states.POWER_OFF) - update_secure_boot_mode_mock.assert_called_once_with(task, False) - self.assertEqual(states.DELETED, returned_state) - - @mock.patch.object(agent.AgentDeploy, 'tear_down', spec_set=True, - autospec=True) - @mock.patch.object(ilo_boot.LOG, 'warning', spec_set=True, autospec=True) - @mock.patch.object(ilo_boot, 'exception', spec_set=True, autospec=True) - @mock.patch.object(ilo_common, 'update_secure_boot_mode', spec_set=True, - autospec=True) - @mock.patch.object(manager_utils, 'node_power_action', spec_set=True, - autospec=True) - def test_tear_down_handle_exception(self, - node_power_action_mock, - update_secure_boot_mode_mock, - exception_mock, - mock_log, - agent_teardown_mock): - with task_manager.acquire(self.context, self.node.uuid, - shared=False) as task: - agent_teardown_mock.return_value = states.DELETED - exception_mock.IloOperationNotSupported = Exception - update_secure_boot_mode_mock.side_effect = Exception - returned_state = task.driver.deploy.tear_down(task) - node_power_action_mock.assert_called_once_with(task, - states.POWER_OFF) - update_secure_boot_mode_mock.assert_called_once_with(task, False) - agent_teardown_mock.assert_called_once_with(mock.ANY, task) - self.assertTrue(mock_log.called) - self.assertEqual(states.DELETED, returned_state) - - @mock.patch.object(ilo_boot, 'prepare_node_for_deploy', spec_set=True, - autospec=True) - @mock.patch.object(agent.AgentDeploy, 'prepare', spec_set=True, - autospec=True) - def test_prepare(self, - agent_prepare_mock, - func_prepare_node_for_deploy): - self.node.provision_state = states.DEPLOYING - self.node.save() - with task_manager.acquire(self.context, self.node.uuid, - shared=False) as task: - task.driver.deploy.prepare(task) - func_prepare_node_for_deploy.assert_called_once_with(task) - agent_prepare_mock.assert_called_once_with(mock.ANY, task) - - @mock.patch.object(agent.AgentDeploy, 'prepare', spec_set=True, - autospec=True) - @mock.patch.object(ilo_boot, 'prepare_node_for_deploy', spec_set=True, - autospec=True) - def test_prepare_active_node(self, - func_prepare_node_for_deploy, - agent_prepare_mock): - """Ensure nodes in running states are not inadvertently changed""" - test_states = list(states.STABLE_STATES) - test_states.extend([states.CLEANING, - states.CLEANWAIT, - states.INSPECTING]) - for state in test_states: - self.node.provision_state = state - self.node.save() - func_prepare_node_for_deploy.reset_mock() - agent_prepare_mock.reset_mock() - with task_manager.acquire(self.context, self.node.uuid, - shared=False) as task: - task.driver.deploy.prepare(task) - self.assertFalse(func_prepare_node_for_deploy.called) - agent_prepare_mock.assert_called_once_with(mock.ANY, task) - - @mock.patch.object(agent.AgentDeploy, 'prepare_cleaning', spec_set=True, - autospec=True) - @mock.patch.object(manager_utils, 'node_power_action', spec_set=True, - autospec=True) - def test_prepare_cleaning(self, node_power_action_mock, - agent_prep_clean_mock): - agent_prep_clean_mock.return_value = states.CLEANWAIT - with task_manager.acquire(self.context, self.node.uuid, - shared=False) as task: - ret = task.driver.deploy.prepare_cleaning(task) - self.assertEqual(states.CLEANWAIT, ret) - node_power_action_mock.assert_called_once_with(task, - states.POWER_OFF) - agent_prep_clean_mock.assert_called_once_with(mock.ANY, task) - - @mock.patch.object(agent.AgentDeploy, 'reboot_to_instance', - spec_set=True, autospec=True) - @mock.patch.object(agent.AgentDeploy, 'check_deploy_success', - spec_set=True, autospec=True) - @mock.patch.object(ilo_common, 'update_boot_mode', spec_set=True, - autospec=True) - @mock.patch.object(ilo_common, 'update_secure_boot_mode', spec_set=True, - autospec=True) - def test_reboot_to_instance(self, func_update_secure_boot_mode, - func_update_boot_mode, - check_deploy_success_mock, - agent_reboot_to_instance_mock): - check_deploy_success_mock.return_value = None - with task_manager.acquire(self.context, self.node.uuid, - shared=False) as task: - task.driver.deploy.reboot_to_instance(task) - check_deploy_success_mock.assert_called_once_with( - mock.ANY, task.node) - func_update_boot_mode.assert_called_once_with(task) - func_update_secure_boot_mode.assert_called_once_with(task, True) - agent_reboot_to_instance_mock.assert_called_once_with( - mock.ANY, task) - - @mock.patch.object(agent.AgentDeploy, 'reboot_to_instance', - spec_set=True, autospec=True) - @mock.patch.object(agent.AgentDeploy, 'check_deploy_success', - spec_set=True, autospec=True) - @mock.patch.object(ilo_common, 'update_boot_mode', spec_set=True, - autospec=True) - @mock.patch.object(ilo_common, 'update_secure_boot_mode', spec_set=True, - autospec=True) - def test_reboot_to_instance_deploy_fail(self, func_update_secure_boot_mode, - func_update_boot_mode, - check_deploy_success_mock, - agent_reboot_to_instance_mock): - check_deploy_success_mock.return_value = "Error" - with task_manager.acquire(self.context, self.node.uuid, - shared=False) as task: - task.driver.deploy.reboot_to_instance(task) - check_deploy_success_mock.assert_called_once_with( - mock.ANY, task.node) - self.assertFalse(func_update_boot_mode.called) - self.assertFalse(func_update_secure_boot_mode.called) - agent_reboot_to_instance_mock.assert_called_once_with( - mock.ANY, task) - - class IloPXEDeployTestCase(db_base.DbTestCase): def setUp(self): diff --git a/ironic/tests/unit/drivers/test_ilo.py b/ironic/tests/unit/drivers/test_ilo.py index 73d8b2f3c..ba3df3315 100644 --- a/ironic/tests/unit/drivers/test_ilo.py +++ b/ironic/tests/unit/drivers/test_ilo.py @@ -24,11 +24,11 @@ from ironic.drivers import ilo from ironic.drivers.modules import agent from ironic.drivers.modules.ilo import boot from ironic.drivers.modules.ilo import console -from ironic.drivers.modules.ilo import deploy from ironic.drivers.modules.ilo import inspect from ironic.drivers.modules.ilo import management from ironic.drivers.modules.ilo import power from ironic.drivers.modules.ilo import vendor +from ironic.drivers.modules import iscsi_deploy @mock.patch.object(ilo.importutils, 'try_import', spec_set=True, @@ -42,7 +42,7 @@ class IloVirtualMediaIscsiDriversTestCase(testtools.TestCase): self.assertIsInstance(driver.power, power.IloPower) self.assertIsInstance(driver.boot, boot.IloVirtualMediaBoot) - self.assertIsInstance(driver.deploy, deploy.IloVirtualMediaIscsiDeploy) + self.assertIsInstance(driver.deploy, iscsi_deploy.ISCSIDeploy) self.assertIsInstance(driver.console, console.IloConsoleInterface) self.assertIsInstance(driver.management, management.IloManagement) self.assertIsInstance(driver.vendor, vendor.VendorPassthru) @@ -67,7 +67,7 @@ class IloVirtualMediaAgentDriversTestCase(testtools.TestCase): self.assertIsInstance(driver.power, power.IloPower) self.assertIsInstance(driver.boot, boot.IloVirtualMediaBoot) - self.assertIsInstance(driver.deploy, deploy.IloVirtualMediaAgentDeploy) + self.assertIsInstance(driver.deploy, agent.AgentDeploy) self.assertIsInstance(driver.console, console.IloConsoleInterface) self.assertIsInstance(driver.management, management.IloManagement) self.assertIsInstance(driver.inspect, inspect.IloInspect) |