def test_status_ok(self, mock_get): mock_get.return_value = {'finished': True} inspector._check_status(self.task) mock_get.assert_called_once_with(self.node.uuid, api_version=self.api_version, auth_token='the token') self.task.process_event.assert_called_once_with('done')
def test_not_finished(self, mock_get): mock_get.return_value = {} inspector._check_status(self.task) mock_get.assert_called_once_with(self.node.uuid, api_version=self.api_version, auth_token='the token') self.assertFalse(self.task.process_event.called)
def test_exception_ignored(self, mock_get): mock_get.side_effect = RuntimeError('boom') inspector._check_status(self.task) mock_get.assert_called_once_with(self.node.uuid, api_version=self.api_version, auth_token='the token') self.assertFalse(self.task.process_event.called)
def test_status_error(self, mock_client): mock_get = mock_client.return_value.get_status mock_get.return_value = {'error': 'boom'} inspector._check_status(self.task) mock_get.assert_called_once_with(self.node.uuid) self.task.process_event.assert_called_once_with('fail') self.assertIn('boom', self.node.last_error)
def test_status_error(self, mock_get): mock_get.return_value = {'error': 'boom'} inspector._check_status(self.task) mock_get.assert_called_once_with(self.node.uuid, auth_token='the token') self.task.process_event.assert_called_once_with('fail') self.assertIn('boom', self.node.last_error)
def test_exception_ignored(self, mock_init, mock_get): mock_get.side_effect = RuntimeError('boom') inspector._check_status(self.task) mock_init.assert_called_once_with(session=mock.sentinel.session, api_version=self.api_version, inspector_url=None) mock_get.assert_called_once_with(self.node.uuid) self.assertFalse(self.task.process_event.called)
def test_status_ok(self, mock_init, mock_get): mock_get.return_value = {'finished': True} inspector._check_status(self.task) mock_init.assert_called_once_with(session=mock.sentinel.session, api_version=self.api_version, inspector_url=None) mock_get.assert_called_once_with(self.node.uuid) self.task.process_event.assert_called_once_with('done')
def test_not_standalone(self, mock_get): self.config(auth_strategy='keystone') mock_get.return_value = {'finished': True} inspector._check_status(self.task) mock_get.assert_called_once_with(self.node.uuid, api_version=self.api_version, auth_token='the token') self.task.process_event.assert_called_once_with('done')
def test_service_url(self, mock_get): self.config(service_url='meow', group='inspector') mock_get.return_value = {'finished': True} inspector._check_status(self.task) mock_get.assert_called_once_with(self.node.uuid, auth_token='the token', base_url='meow') self.task.process_event.assert_called_once_with('done')
def test_status_ok(self, mock_client): mock_get = mock_client.return_value.get_introspection mock_get.return_value = mock.Mock(is_finished=True, error=None, spec=['is_finished', 'error']) inspector._check_status(self.task) mock_get.assert_called_once_with(self.node.uuid) self.task.process_event.assert_called_once_with('done')
def test_status_error(self, mock_get): mock_get.return_value = {'error': 'boom'} inspector._check_status(self.task) mock_get.assert_called_once_with(self.node.uuid, api_version=self.api_version, auth_token='the token') self.task.process_event.assert_called_once_with('fail') self.assertIn('boom', self.node.last_error)
def test_is_standalone(self, mock_init, mock_get): self.config(auth_strategy='noauth') mock_get.return_value = {'finished': True} inspector._check_status(self.task) mock_init.assert_called_once_with(session=None, api_version=self.api_version, inspector_url=None) mock_get.assert_called_once_with(self.node.uuid) self.task.process_event.assert_called_once_with('done')
def test_exception_ignored(self, mock_init, mock_get): mock_get.side_effect = RuntimeError('boom') inspector._check_status(self.task) mock_init.assert_called_once_with( session=mock.sentinel.session, api_version=self.api_version, inspector_url=None) mock_get.assert_called_once_with(self.node.uuid) self.assertFalse(self.task.process_event.called)
def test_status_ok(self, mock_init, mock_get): mock_get.return_value = {'finished': True} inspector._check_status(self.task) mock_init.assert_called_once_with( session=mock.sentinel.session, api_version=self.api_version, inspector_url=None) mock_get.assert_called_once_with(self.node.uuid) self.task.process_event.assert_called_once_with('done')
def test_service_url(self, mock_init, mock_get): self.config(service_url='meow', group='inspector') mock_get.return_value = {'finished': True} inspector._check_status(self.task) mock_init.assert_called_once_with(session=mock.sentinel.session, api_version=self.api_version, inspector_url='meow') mock_get.assert_called_once_with(self.node.uuid) self.task.process_event.assert_called_once_with('done')
def test_status_error(self, mock_init, mock_get): mock_get.return_value = {'error': 'boom'} inspector._check_status(self.task) mock_init.assert_called_once_with(session=mock.sentinel.session, api_version=self.api_version, inspector_url=None) mock_get.assert_called_once_with(self.node.uuid) self.task.process_event.assert_called_once_with('fail') self.assertIn('boom', self.node.last_error)
def test_status_error(self, mock_init, mock_get): mock_get.return_value = {'error': 'boom'} inspector._check_status(self.task) mock_init.assert_called_once_with( session=mock.sentinel.session, api_version=self.api_version, inspector_url=None) mock_get.assert_called_once_with(self.node.uuid) self.task.process_event.assert_called_once_with('fail') self.assertIn('boom', self.node.last_error)
def test_service_url(self, mock_init, mock_get): self.config(service_url='meow', group='inspector') mock_get.return_value = {'finished': True} inspector._check_status(self.task) mock_init.assert_called_once_with( session=mock.sentinel.session, api_version=self.api_version, inspector_url='meow') mock_get.assert_called_once_with(self.node.uuid) self.task.process_event.assert_called_once_with('done')
def test_is_standalone(self, mock_init, mock_get): self.config(auth_strategy='noauth') mock_get.return_value = {'finished': True} inspector._check_status(self.task) mock_init.assert_called_once_with( session=None, api_version=self.api_version, inspector_url=None) mock_get.assert_called_once_with(self.node.uuid) self.task.process_event.assert_called_once_with('done')
def test_status_ok(self, mock_client): mock_get = mock_client.return_value.get_introspection mock_get.return_value = mock.Mock(is_finished=True, error=None, spec=['is_finished', 'error']) inspector._check_status(self.task) mock_get.assert_called_once_with(self.node.uuid) self.task.process_event.assert_called_once_with('done') self.assertFalse(self.driver.network.remove_inspection_network.called) self.assertFalse(self.driver.boot.clean_up_ramdisk.called) self.assertFalse(self.driver.power.set_power_state.called)
def _test_status_clean_up_failed(self, mock_client): utils.set_node_nested_field(self.node, 'driver_internal_info', 'inspector_manage_boot', True) self.node.save() mock_get = mock_client.return_value.get_introspection mock_get.return_value = mock.Mock(is_finished=True, error=None, spec=['is_finished', 'error']) inspector._check_status(self.task) mock_get.assert_called_once_with(self.node.uuid) self.task.process_event.assert_called_once_with('fail') self.assertIn('boom', self.node.last_error)
def test_status_ok_managed_no_power_off(self, mock_client): CONF.set_override('power_off', False, group='inspector') utils.set_node_nested_field(self.node, 'driver_internal_info', 'inspector_manage_boot', True) self.node.save() mock_get = mock_client.return_value.get_introspection mock_get.return_value = mock.Mock(is_finished=True, error=None, spec=['is_finished', 'error']) inspector._check_status(self.task) mock_get.assert_called_once_with(self.node.uuid) self.task.process_event.assert_called_once_with('done') self.driver.network.remove_inspection_network.assert_called_once_with( self.task) self.driver.boot.clean_up_ramdisk.assert_called_once_with(self.task) self.assertFalse(self.driver.power.set_power_state.called)
def test_status_error_managed(self, mock_client): utils.set_node_nested_field(self.node, 'driver_internal_info', 'inspector_manage_boot', True) self.node.save() mock_get = mock_client.return_value.get_introspection mock_get.return_value = mock.Mock(is_finished=True, error='boom', spec=['is_finished', 'error']) inspector._check_status(self.task) mock_get.assert_called_once_with(self.node.uuid) self.task.process_event.assert_called_once_with('fail') self.assertIn('boom', self.node.last_error) self.driver.network.remove_inspection_network.assert_called_once_with( self.task) self.driver.boot.clean_up_ramdisk.assert_called_once_with(self.task) self.driver.power.set_power_state.assert_called_once_with( self.task, 'power off', timeout=None)
def _check_status(self, task): state_before = task.node.provision_state result = inspector._check_status(task) state_after = task.node.provision_state # inspection finished if (state_before == states.INSPECTING and state_after in [states.MANAGEABLE, states.INSPECTFAIL]): deploy_utils.deallocate_server_hardware_from_ironic(task.node) return result
def _check_status(self, task): state_before = task.node.provision_state result = inspector._check_status(task) state_after = task.node.provision_state # inspection finished if ( state_before == states.INSPECTING and state_after in [ states.MANAGEABLE, states.INSPECTFAIL ] ): deploy_utils.deallocate_server_hardware_from_ironic( self.oneview_client, task.node) return result
def test_status_ok(self, mock_client): mock_get = mock_client.return_value.get_status mock_get.return_value = {'finished': True} inspector._check_status(self.task) mock_get.assert_called_once_with(self.node.uuid) self.task.process_event.assert_called_once_with('done')
def test_not_inspecting(self, mock_client): mock_get = mock_client.return_value.get_status self.node.provision_state = states.MANAGEABLE inspector._check_status(self.task) self.assertFalse(mock_get.called)
def test_not_check_inspecting(self, mock_client): mock_get = mock_client.return_value.get_status self.node.provision_state = states.INSPECTING inspector._check_status(self.task) self.assertFalse(mock_get.called)
def test_not_inspector(self, mock_client): mock_get = mock_client.return_value.get_status self.task.driver.inspect = object() inspector._check_status(self.task) self.assertFalse(mock_get.called)
def test_not_inspector(self, mock_get): self.task.driver.inspect = object() inspector._check_status(self.task) self.assertFalse(mock_get.called)
def test_not_inspecting(self, mock_get): self.node.provision_state = states.MANAGEABLE inspector._check_status(self.task) self.assertFalse(mock_get.called)
def test_not_finished(self, mock_client): mock_get = mock_client.return_value.get_status mock_get.return_value = {} inspector._check_status(self.task) mock_get.assert_called_once_with(self.node.uuid) self.assertFalse(self.task.process_event.called)
def test_exception_ignored(self, mock_client): mock_get = mock_client.return_value.get_introspection mock_get.side_effect = RuntimeError('boom') inspector._check_status(self.task) mock_get.assert_called_once_with(self.node.uuid) self.assertFalse(self.task.process_event.called)
def test_not_inspector(self, mock_client): mock_get = mock_client.return_value.get_introspection self.task.driver.inspect = object() inspector._check_status(self.task) self.assertFalse(mock_get.called)
def test_not_check_inspecting(self, mock_client): mock_get = mock_client.return_value.get_introspection self.node.provision_state = states.INSPECTING inspector._check_status(self.task) self.assertFalse(mock_get.called)
def test_exception_ignored(self, mock_client): mock_get = mock_client.return_value.get_status mock_get.side_effect = RuntimeError('boom') inspector._check_status(self.task) mock_get.assert_called_once_with(self.node.uuid) self.assertFalse(self.task.process_event.called)