def test__continue_deploy_resume(self, cleanup_vmedia_boot_mock, continue_deploy_mock, get_boot_iso_mock, setup_vmedia_mock, set_boot_device_mock, notify_deploy_complete_mock): kwargs = {'method': 'pass_deploy_info', 'address': '123456'} continue_deploy_mock.return_value = None get_boot_iso_mock.return_value = 'boot-iso' self.node.provision_state = states.DEPLOYWAIT self.node.target_provision_state = states.ACTIVE self.node.save() with task_manager.acquire(self.context, self.node.uuid, shared=False) as task: vendor = ilo_deploy.VendorPassthru() vendor._continue_deploy(task, **kwargs) cleanup_vmedia_boot_mock.assert_called_once_with(task) continue_deploy_mock.assert_called_once_with(task, **kwargs) self.assertFalse(get_boot_iso_mock.called) self.assertFalse(setup_vmedia_mock.called) self.assertFalse(set_boot_device_mock.called) self.assertEqual(states.DEPLOYING, task.node.provision_state) self.assertEqual(states.ACTIVE, task.node.target_provision_state) self.assertFalse(notify_deploy_complete_mock.called)
def test__continue_deploy_bad(self, log_mock): kwargs = {'method': 'pass_deploy_info', 'address': '123456'} with task_manager.acquire(self.context, self.node.uuid, shared=False) as task: task.node.provision_state = states.NOSTATE vendor = ilo_deploy.VendorPassthru() vendor._continue_deploy(task, **kwargs) self.assertTrue(log_mock.error.called)
def __init__(self): if not importutils.try_import('proliantutils'): raise exception.DriverLoadError( driver=self.__class__.__name__, reason=_("Unable to import proliantutils library")) self.power = power.IloPower() self.deploy = deploy.IloVirtualMediaIscsiDeploy() self.console = deploy.IloConsoleInterface() self.management = management.IloManagement() self.vendor = deploy.VendorPassthru()
def test__continue_deploy_deploy_no_boot_media(self, cleanup_vmedia_boot_mock, continue_deploy_mock): kwargs = {'method': 'pass_deploy_info', 'address': '123456'} continue_deploy_mock.return_value = None with task_manager.acquire(self.context, self.node.uuid, shared=False) as task: task.node.provision_state = states.DEPLOYWAIT vendor = ilo_deploy.VendorPassthru() vendor._continue_deploy(task, **kwargs) cleanup_vmedia_boot_mock.assert_called_once_with(task) continue_deploy_mock.assert_called_once_with(task, **kwargs)
def test__continue_deploy_good(self, cleanup_vmedia_boot_mock, continue_deploy_mock, get_boot_iso_mock, setup_vmedia_mock, set_boot_device_mock, notify_deploy_complete_mock): kwargs = {'method': 'pass_deploy_info', 'address': '123456'} continue_deploy_mock.return_value = 'root-uuid' get_boot_iso_mock.return_value = 'boot-iso' with task_manager.acquire(self.context, self.node.uuid, shared=False) as task: task.node.provision_state = states.DEPLOYWAIT vendor = ilo_deploy.VendorPassthru() vendor._continue_deploy(task, **kwargs) cleanup_vmedia_boot_mock.assert_called_once_with(task) continue_deploy_mock.assert_called_once_with(task, **kwargs) get_boot_iso_mock.assert_called_once_with(task, 'root-uuid') setup_vmedia_mock.assert_called_once_with(task, 'boot-iso') set_boot_device_mock.assert_called_once_with(task.node, 'CDROM') self.assertEqual('boot-iso', task.node.instance_info['ilo_boot_iso']) notify_deploy_complete_mock.assert_called_once_with('123456')