コード例 #1
0
def api_introspection_abort(uuid):
    utils.check_auth(flask.request)

    if not uuidutils.is_uuid_like(uuid):
        raise utils.Error(_('Invalid UUID value'), code=400)

    introspect.abort(uuid, token=flask.request.headers.get('X-Auth-Token'))
    return '', 202
コード例 #2
0
ファイル: main.py プロジェクト: keedya/ironic-inspector
def api_introspection_abort(uuid):
    utils.check_auth(flask.request)

    if not uuidutils.is_uuid_like(uuid):
        raise utils.Error(_('Invalid UUID value'), code=400)

    introspect.abort(uuid, token=flask.request.headers.get('X-Auth-Token'))
    return '', 202
コード例 #3
0
    def test_introspection_already_finished(self, client_mock,
                                            get_mock, filters_mock):
        cli = self._prepare(client_mock)
        get_mock.return_value = self.node_info
        self.node_info.acquire_lock.return_value = True
        self.node_info.started_at = time.time()
        self.node_info.finished_at = time.time()

        introspect.abort(self.uuid)

        self.assertEqual(0, filters_mock.call_count)
        self.assertEqual(0, cli.node.set_power_state.call_count)
        self.assertEqual(0, self.node_info.finshed.call_count)
コード例 #4
0
    def test_introspection_already_finished(self, client_mock,
                                            get_mock, filters_mock):
        cli = self._prepare(client_mock)
        get_mock.return_value = self.node_info
        self.node_info.acquire_lock.return_value = True
        self.node_info.started_at = time.time()
        self.node_info.finished_at = time.time()

        introspect.abort(self.uuid)

        self.assertEqual(0, filters_mock.call_count)
        self.assertEqual(0, cli.node.set_power_state.call_count)
        self.assertEqual(0, self.node_info.finshed.call_count)
コード例 #5
0
    def test_ok(self, client_mock, get_mock, filters_mock):
        cli = self._prepare(client_mock)
        get_mock.return_value = self.node_info
        self.node_info.acquire_lock.return_value = True
        self.node_info.started_at = time.time()
        self.node_info.finished_at = None

        introspect.abort(self.node.uuid)

        get_mock.assert_called_once_with(self.uuid, ironic=cli, locked=False)
        self.node_info.acquire_lock.assert_called_once_with(blocking=False)
        filters_mock.assert_called_once_with(cli)
        cli.node.set_power_state.assert_called_once_with(self.uuid, 'off')
        self.node_info.finished.assert_called_once_with(error='Canceled '
                                                        'by operator')
コード例 #6
0
    def test_ok(self, client_mock, get_mock, filters_mock):
        cli = self._prepare(client_mock)
        get_mock.return_value = self.node_info
        self.node_info.acquire_lock.return_value = True
        self.node_info.started_at = time.time()
        self.node_info.finished_at = None

        introspect.abort(self.node.uuid)

        get_mock.assert_called_once_with(self.uuid, ironic=cli,
                                         locked=False)
        self.node_info.acquire_lock.assert_called_once_with(blocking=False)
        filters_mock.assert_called_once_with(cli)
        cli.node.set_power_state.assert_called_once_with(self.uuid, 'off')
        self.node_info.finished.assert_called_once_with(error='Canceled '
                                                        'by operator')
コード例 #7
0
    def test_ok(self, client_mock, get_mock):
        cli = self._prepare(client_mock)
        get_mock.return_value = self.node_info
        self.node_info.acquire_lock.return_value = True
        self.node_info.started_at = time.time()
        self.node_info.finished_at = None

        introspect.abort(self.node.uuid)

        get_mock.assert_called_once_with(self.uuid, ironic=cli)
        self.node_info.acquire_lock.assert_called_once_with(blocking=False)
        self.sync_filter_mock.assert_called_once_with(cli)
        cli.node.set_power_state.assert_called_once_with(self.uuid, 'off')
        self.node_info.finished.assert_called_once_with(
            introspect.istate.Events.abort_end, error='Canceled by operator')
        self.node_info.fsm_event.assert_has_calls(self.fsm_calls)
コード例 #8
0
    def test_node_power_off_exception(self, client_mock, get_mock):
        cli = self._prepare(client_mock)
        get_mock.return_value = self.node_info
        self.node_info.acquire_lock.return_value = True
        self.node_info.started_at = time.time()
        self.node_info.finished_at = None
        cli.node.set_power_state.side_effect = Exception('BadaBoom')

        introspect.abort(self.uuid)

        get_mock.assert_called_once_with(self.uuid, ironic=cli,
                                         locked=False)
        self.node_info.acquire_lock.assert_called_once_with(blocking=False)
        self.sync_filter_mock.assert_called_once_with(cli)
        cli.node.set_power_state.assert_called_once_with(self.uuid, 'off')
        self.node_info.finished.assert_called_once_with(
            introspect.istate.Events.abort_end, error='Canceled by operator')
        self.node_info.fsm_event.assert_has_calls(self.fsm_calls)
コード例 #9
0
    def test_no_manage_boot(self, client_mock, get_mock):
        cli = self._prepare(client_mock)
        get_mock.return_value = self.node_info
        self.node_info.acquire_lock.return_value = True
        self.node_info.started_at = time.time()
        self.node_info.finished_at = None
        self.node_info.manage_boot = False

        introspect.abort(self.node.uuid)

        get_mock.assert_called_once_with(self.uuid, ironic=cli,
                                         locked=False)
        self.node_info.acquire_lock.assert_called_once_with(blocking=False)
        self.sync_filter_mock.assert_called_once_with(cli)
        self.assertFalse(cli.node.set_power_state.called)
        self.node_info.finished.assert_called_once_with(
            introspect.istate.Events.abort_end, error='Canceled by operator')
        self.node_info.fsm_event.assert_has_calls(self.fsm_calls)
コード例 #10
0
 def do_abort(self, context, node_id, token=None):
     introspect.abort(node_id, token=token)
コード例 #11
0
ファイル: manager.py プロジェクト: openstack/ironic-inspector
 def do_abort(self, context, node_id, token=None):
     introspect.abort(node_id, token=token)
コード例 #12
0
ファイル: main.py プロジェクト: aarefiev22/ironic-inspector
def api_introspection_abort(node_id):
    utils.check_auth(flask.request)
    introspect.abort(node_id, token=flask.request.headers.get('X-Auth-Token'))
    return '', 202
コード例 #13
0
def api_introspection_abort(node_id):
    utils.check_auth(flask.request)
    introspect.abort(node_id, token=flask.request.headers.get('X-Auth-Token'))
    return '', 202