Example #1
0
    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)
Example #2
0
    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)
Example #3
0
File: ilo.py Project: skw0rm/ironic
    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()
Example #4
0
    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)
Example #5
0
    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')