diff --git a/doc/api_samples/os-instance-actions/instance-action-get-resp.json b/doc/api_samples/os-instance-actions/instance-action-get-resp.json index cbb6236c4eef..3db03acaaedd 100644 --- a/doc/api_samples/os-instance-actions/instance-action-get-resp.json +++ b/doc/api_samples/os-instance-actions/instance-action-get-resp.json @@ -1,27 +1,20 @@ { "instanceAction": { - "action": "reboot", + "action": "stop", "events": [ { - "event": "schedule", - "finish_time": "2012-12-05T01:02:00.000000", + "event": "compute_stop_instance", + "finish_time": "2018-04-25T01:26:29.585618", "result": "Success", - "start_time": "2012-12-05T01:00:02.000000", - "traceback": "" - }, - { - "event": "compute_create", - "finish_time": "2012-12-05T01:04:00.000000", - "result": "Success", - "start_time": "2012-12-05T01:03:00.000000", - "traceback": "" + "start_time": "2018-04-25T01:26:29.299627", + "traceback": null } ], - "instance_uuid": "b48316c5-71e8-45e4-9884-6c78055b9b13", - "message": "", - "project_id": "147", - "request_id": "req-3293a3f1-b44c-4609-b8d2-d81b105636b8", - "start_time": "2012-12-05T00:00:00.000000", - "user_id": "789" + "instance_uuid": "e0a7ed34-899c-4b4d-8637-11ca627346ef", + "message": null, + "project_id": "6f70656e737461636b20342065766572", + "request_id": "req-14122cb1-4256-4a16-a4f9-6faf494afaa7", + "start_time": "2018-04-25T01:26:29.074293", + "user_id": "admin" } -} +} \ No newline at end of file diff --git a/doc/api_samples/os-instance-actions/instance-actions-list-resp.json b/doc/api_samples/os-instance-actions/instance-actions-list-resp.json index b9ae31ac53db..4050ab3c9d5e 100644 --- a/doc/api_samples/os-instance-actions/instance-actions-list-resp.json +++ b/doc/api_samples/os-instance-actions/instance-actions-list-resp.json @@ -1,22 +1,22 @@ { "instanceActions": [ { - "action": "resize", - "instance_uuid": "b48316c5-71e8-45e4-9884-6c78055b9b13", - "message": "", - "project_id": "842", - "request_id": "req-25517360-b757-47d3-be45-0e8d2a01b36a", - "start_time": "2012-12-05T01:00:00.000000", - "user_id": "789" + "action": "stop", + "instance_uuid": "fcd19ef2-b593-40b1-90a5-fc31063fa95c", + "message": null, + "project_id": "6f70656e737461636b20342065766572", + "request_id": "req-f8a59f03-76dc-412f-92c2-21f8612be728", + "start_time": "2018-04-25T01:26:29.092892", + "user_id": "admin" }, { - "action": "reboot", - "instance_uuid": "b48316c5-71e8-45e4-9884-6c78055b9b13", - "message": "", - "project_id": "147", - "request_id": "req-3293a3f1-b44c-4609-b8d2-d81b105636b8", - "start_time": "2012-12-05T00:00:00.000000", - "user_id": "789" + "action": "create", + "instance_uuid": "fcd19ef2-b593-40b1-90a5-fc31063fa95c", + "message": null, + "project_id": "6f70656e737461636b20342065766572", + "request_id": "req-50189019-626d-47fb-b944-b8342af09679", + "start_time": "2018-04-25T01:26:25.877278", + "user_id": "admin" } ] -} +} \ No newline at end of file diff --git a/doc/api_samples/os-instance-actions/v2.21/instance-action-get-resp.json b/doc/api_samples/os-instance-actions/v2.21/instance-action-get-resp.json index cbb6236c4eef..c1ed9a80e0e2 100644 --- a/doc/api_samples/os-instance-actions/v2.21/instance-action-get-resp.json +++ b/doc/api_samples/os-instance-actions/v2.21/instance-action-get-resp.json @@ -1,27 +1,20 @@ { "instanceAction": { - "action": "reboot", + "action": "stop", "events": [ { - "event": "schedule", - "finish_time": "2012-12-05T01:02:00.000000", + "event": "compute_stop_instance", + "finish_time": "2018-04-25T01:26:29.262877", "result": "Success", - "start_time": "2012-12-05T01:00:02.000000", - "traceback": "" - }, - { - "event": "compute_create", - "finish_time": "2012-12-05T01:04:00.000000", - "result": "Success", - "start_time": "2012-12-05T01:03:00.000000", - "traceback": "" + "start_time": "2018-04-25T01:26:29.012774", + "traceback": null } ], - "instance_uuid": "b48316c5-71e8-45e4-9884-6c78055b9b13", - "message": "", - "project_id": "147", - "request_id": "req-3293a3f1-b44c-4609-b8d2-d81b105636b8", - "start_time": "2012-12-05T00:00:00.000000", - "user_id": "789" + "instance_uuid": "a53525ef-9ed5-4169-9f2e-dd141d575d87", + "message": null, + "project_id": "6f70656e737461636b20342065766572", + "request_id": "req-343506f4-4dc3-4153-8de5-de6a60cb26ab", + "start_time": "2018-04-25T01:26:28.757301", + "user_id": "admin" } -} +} \ No newline at end of file diff --git a/doc/api_samples/os-instance-actions/v2.21/instance-actions-list-resp.json b/doc/api_samples/os-instance-actions/v2.21/instance-actions-list-resp.json index b9ae31ac53db..9180a930c2ce 100644 --- a/doc/api_samples/os-instance-actions/v2.21/instance-actions-list-resp.json +++ b/doc/api_samples/os-instance-actions/v2.21/instance-actions-list-resp.json @@ -1,22 +1,22 @@ { "instanceActions": [ { - "action": "resize", - "instance_uuid": "b48316c5-71e8-45e4-9884-6c78055b9b13", - "message": "", - "project_id": "842", - "request_id": "req-25517360-b757-47d3-be45-0e8d2a01b36a", - "start_time": "2012-12-05T01:00:00.000000", - "user_id": "789" + "action": "stop", + "instance_uuid": "07cacdbb-2e7f-4048-b69c-95cbdc47af6f", + "message": null, + "project_id": "6f70656e737461636b20342065766572", + "request_id": "req-c022e6dc-d962-426e-b623-1cdbac0da64b", + "start_time": "2018-04-25T01:26:28.752049", + "user_id": "admin" }, { - "action": "reboot", - "instance_uuid": "b48316c5-71e8-45e4-9884-6c78055b9b13", - "message": "", - "project_id": "147", - "request_id": "req-3293a3f1-b44c-4609-b8d2-d81b105636b8", - "start_time": "2012-12-05T00:00:00.000000", - "user_id": "789" + "action": "create", + "instance_uuid": "07cacdbb-2e7f-4048-b69c-95cbdc47af6f", + "message": null, + "project_id": "6f70656e737461636b20342065766572", + "request_id": "req-862ef1ff-da4f-4b3b-9a29-6d621442c76c", + "start_time": "2018-04-25T01:26:25.595858", + "user_id": "admin" } ] -} +} \ No newline at end of file diff --git a/doc/api_samples/os-instance-actions/v2.51/instance-action-get-non-admin-resp.json b/doc/api_samples/os-instance-actions/v2.51/instance-action-get-non-admin-resp.json index 7043b4531f9e..ab3cc130d83e 100644 --- a/doc/api_samples/os-instance-actions/v2.51/instance-action-get-non-admin-resp.json +++ b/doc/api_samples/os-instance-actions/v2.51/instance-action-get-non-admin-resp.json @@ -1,25 +1,19 @@ { "instanceAction": { - "action": "reboot", + "action": "stop", "events": [ { - "event": "schedule", - "finish_time": "2012-12-05T01:02:00.000000", + "event": "compute_stop_instance", + "finish_time": "2018-04-25T01:26:29.565338", "result": "Success", - "start_time": "2012-12-05T01:00:02.000000" - }, - { - "event": "compute_create", - "finish_time": "2012-12-05T01:04:00.000000", - "result": "Success", - "start_time": "2012-12-05T01:03:00.000000" + "start_time": "2018-04-25T01:26:29.294207" } ], - "instance_uuid": "b48316c5-71e8-45e4-9884-6c78055b9b13", - "message": "", - "project_id": "147", - "request_id": "req-3293a3f1-b44c-4609-b8d2-d81b105636b8", - "start_time": "2012-12-05T00:00:00.000000", - "user_id": "789" + "instance_uuid": "11a932ff-48b8-46ed-a409-7d9e50ec75d0", + "message": null, + "project_id": "6f70656e737461636b20342065766572", + "request_id": "req-fad89d20-0311-44bd-a8c2-ee3f2411bcf0", + "start_time": "2018-04-25T01:26:29.073738", + "user_id": "fake" } -} +} \ No newline at end of file diff --git a/doc/api_samples/os-instance-actions/v2.51/instance-action-get-resp.json b/doc/api_samples/os-instance-actions/v2.51/instance-action-get-resp.json index cbb6236c4eef..59e53b621574 100644 --- a/doc/api_samples/os-instance-actions/v2.51/instance-action-get-resp.json +++ b/doc/api_samples/os-instance-actions/v2.51/instance-action-get-resp.json @@ -1,27 +1,20 @@ { "instanceAction": { - "action": "reboot", + "action": "stop", "events": [ { - "event": "schedule", - "finish_time": "2012-12-05T01:02:00.000000", + "event": "compute_stop_instance", + "finish_time": "2018-04-25T01:26:30.798227", "result": "Success", - "start_time": "2012-12-05T01:00:02.000000", - "traceback": "" - }, - { - "event": "compute_create", - "finish_time": "2012-12-05T01:04:00.000000", - "result": "Success", - "start_time": "2012-12-05T01:03:00.000000", - "traceback": "" + "start_time": "2018-04-25T01:26:30.526590", + "traceback": null } ], - "instance_uuid": "b48316c5-71e8-45e4-9884-6c78055b9b13", - "message": "", - "project_id": "147", - "request_id": "req-3293a3f1-b44c-4609-b8d2-d81b105636b8", - "start_time": "2012-12-05T00:00:00.000000", - "user_id": "789" + "instance_uuid": "07afdfe5-3791-48e3-9bda-1a0804796bab", + "message": null, + "project_id": "6f70656e737461636b20342065766572", + "request_id": "req-f574c934-6f67-4945-b357-5a52a28a46a6", + "start_time": "2018-04-25T01:26:30.301030", + "user_id": "admin" } -} +} \ No newline at end of file diff --git a/doc/api_samples/os-instance-actions/v2.51/instance-actions-list-resp.json b/doc/api_samples/os-instance-actions/v2.51/instance-actions-list-resp.json index b9ae31ac53db..535666c748c3 100644 --- a/doc/api_samples/os-instance-actions/v2.51/instance-actions-list-resp.json +++ b/doc/api_samples/os-instance-actions/v2.51/instance-actions-list-resp.json @@ -1,22 +1,22 @@ { "instanceActions": [ { - "action": "resize", - "instance_uuid": "b48316c5-71e8-45e4-9884-6c78055b9b13", - "message": "", - "project_id": "842", - "request_id": "req-25517360-b757-47d3-be45-0e8d2a01b36a", - "start_time": "2012-12-05T01:00:00.000000", - "user_id": "789" + "action": "stop", + "instance_uuid": "a0dbc3b0-6f14-4fb7-8500-172e82584d05", + "message": null, + "project_id": "6f70656e737461636b20342065766572", + "request_id": "req-ca4313e0-b514-46ea-a9b9-e49f8a1ad344", + "start_time": "2018-04-25T01:26:29.206664", + "user_id": "admin" }, { - "action": "reboot", - "instance_uuid": "b48316c5-71e8-45e4-9884-6c78055b9b13", - "message": "", - "project_id": "147", - "request_id": "req-3293a3f1-b44c-4609-b8d2-d81b105636b8", - "start_time": "2012-12-05T00:00:00.000000", - "user_id": "789" + "action": "create", + "instance_uuid": "a0dbc3b0-6f14-4fb7-8500-172e82584d05", + "message": null, + "project_id": "6f70656e737461636b20342065766572", + "request_id": "req-a897e43f-8733-499d-a9cc-78993de2b8e8", + "start_time": "2018-04-25T01:26:25.910998", + "user_id": "admin" } ] -} +} \ No newline at end of file diff --git a/doc/api_samples/os-instance-actions/v2.58/instance-action-get-non-admin-resp.json b/doc/api_samples/os-instance-actions/v2.58/instance-action-get-non-admin-resp.json index 70bd2d3840dd..eff017be8258 100644 --- a/doc/api_samples/os-instance-actions/v2.58/instance-action-get-non-admin-resp.json +++ b/doc/api_samples/os-instance-actions/v2.58/instance-action-get-non-admin-resp.json @@ -4,17 +4,17 @@ "events": [ { "event": "compute_stop_instance", - "finish_time": "2017-12-07T11:07:06.431902", + "finish_time": "2018-04-25T01:26:30.518082", "result": "Success", - "start_time": "2017-12-07T11:07:06.251280" + "start_time": "2018-04-25T01:26:30.261571" } ], - "instance_uuid": "b48316c5-71e8-45e4-9884-6c78055b9b13", + "instance_uuid": "ee4c91a6-f214-486d-8e2a-efa29ad91ecd", "message": null, "project_id": "6f70656e737461636b20342065766572", - "request_id": "req-3293a3f1-b44c-4609-b8d2-d81b105636b8", - "start_time": "2017-12-07T11:07:06.088644", - "updated_at": "2017-12-07T11:07:06.431902", + "request_id": "req-ada57283-2dd7-4703-9781-d287aaa4eb95", + "start_time": "2018-04-25T01:26:30.041225", + "updated_at": "2018-04-25T01:26:30.518082", "user_id": "fake" } -} +} \ No newline at end of file diff --git a/doc/api_samples/os-instance-actions/v2.58/instance-action-get-resp.json b/doc/api_samples/os-instance-actions/v2.58/instance-action-get-resp.json index 249a08e7774a..144d804023f5 100644 --- a/doc/api_samples/os-instance-actions/v2.58/instance-action-get-resp.json +++ b/doc/api_samples/os-instance-actions/v2.58/instance-action-get-resp.json @@ -4,18 +4,18 @@ "events": [ { "event": "compute_stop_instance", - "finish_time": "2017-12-07T11:07:06.431902", + "finish_time": "2018-04-25T01:26:29.409773", "result": "Success", - "start_time": "2017-12-07T11:07:06.251280", + "start_time": "2018-04-25T01:26:29.203170", "traceback": null } ], - "instance_uuid": "b48316c5-71e8-45e4-9884-6c78055b9b13", - "message": "", + "instance_uuid": "cab10fb8-6702-40ba-a91c-18009cec0a09", + "message": null, "project_id": "6f70656e737461636b20342065766572", - "request_id": "req-3293a3f1-b44c-4609-b8d2-d81b105636b8", - "start_time": "2017-12-07T11:07:06.088644", - "updated_at": "2017-12-07T11:07:06.431902", - "user_id": "fake" + "request_id": "req-0514d54b-0f2c-4611-963d-fc24afb57f1f", + "start_time": "2018-04-25T01:26:28.996024", + "updated_at": "2018-04-25T01:26:29.409773", + "user_id": "admin" } -} +} \ No newline at end of file diff --git a/doc/api_samples/os-instance-actions/v2.58/instance-actions-list-resp.json b/doc/api_samples/os-instance-actions/v2.58/instance-actions-list-resp.json index 2956ad5f2532..49611f78972a 100644 --- a/doc/api_samples/os-instance-actions/v2.58/instance-actions-list-resp.json +++ b/doc/api_samples/os-instance-actions/v2.58/instance-actions-list-resp.json @@ -1,24 +1,24 @@ { "instanceActions": [ { - "instance_uuid": "e357e6d8-952e-4d1d-b74f-c8519e937706", - "user_id": "fake", - "start_time": "2017-12-07T11:07:06.088644", - "updated_at": "2017-12-07T11:07:06.431902", - "request_id": "req-e80018f1-c5bd-45ee-aaa9-290f2f5ef7bc", "action": "stop", + "instance_uuid": "247cc793-7cf4-424a-a529-11bd62f960b6", "message": null, - "project_id": "6f70656e737461636b20342065766572" + "project_id": "6f70656e737461636b20342065766572", + "request_id": "req-1448f44f-490d-42ff-8781-c3181d103a7c", + "start_time": "2018-04-25T01:26:28.793416", + "updated_at": "2018-04-25T01:26:29.292649", + "user_id": "fake" }, { - "instance_uuid": "e357e6d8-952e-4d1d-b74f-c8519e937706", - "user_id": "fake", - "start_time": "2017-12-07T11:07:04.313653", - "updated_at": "2017-12-07T11:07:06.058351", - "request_id": "req-c8fd339d-d2bf-43c2-a98a-84328281f83e", "action": "create", + "instance_uuid": "247cc793-7cf4-424a-a529-11bd62f960b6", "message": null, - "project_id": "6f70656e737461636b20342065766572" + "project_id": "6f70656e737461636b20342065766572", + "request_id": "req-de0561a0-09d9-4902-b1fc-23ee95b14c67", + "start_time": "2018-04-25T01:26:25.527791", + "updated_at": "2018-04-25T01:26:28.749039", + "user_id": "fake" } ] -} +} \ No newline at end of file diff --git a/doc/api_samples/os-instance-actions/v2.58/instance-actions-list-with-limit-resp.json b/doc/api_samples/os-instance-actions/v2.58/instance-actions-list-with-limit-resp.json index ba5b47127637..7126a9f28200 100644 --- a/doc/api_samples/os-instance-actions/v2.58/instance-actions-list-with-limit-resp.json +++ b/doc/api_samples/os-instance-actions/v2.58/instance-actions-list-with-limit-resp.json @@ -1,20 +1,20 @@ { "instanceActions": [ { - "instance_uuid": "e357e6d8-952e-4d1d-b74f-c8519e937706", - "user_id": "fake", - "start_time": "2017-12-07T11:07:06.088644", - "updated_at": "2017-12-07T11:07:06.431902", - "request_id": "req-e80018f1-c5bd-45ee-aaa9-290f2f5ef7bc", "action": "stop", + "instance_uuid": "ca3d3be5-1a40-427f-9515-f5e181f479d0", "message": null, - "project_id": "6f70656e737461636b20342065766572" + "project_id": "6f70656e737461636b20342065766572", + "request_id": "req-4dbefbb7-d743-4d42-b0a1-a79cbe256138", + "start_time": "2018-04-25T01:26:28.909887", + "updated_at": "2018-04-25T01:26:29.400606", + "user_id": "admin" } ], "links": [ { - "href": "http://openstack.example.com/v2.1/6f70656e737461636b20342065766572/servers/e357e6d8-952e-4d1d-b74f-c8519e937706/os-instance-actions?limit=1&marker=req-e80018f1-c5bd-45ee-aaa9-290f2f5ef7bc", + "href": "http://openstack.example.com/v2.1/6f70656e737461636b20342065766572/servers/ca3d3be5-1a40-427f-9515-f5e181f479d0/os-instance-actions?limit=1&marker=req-4dbefbb7-d743-4d42-b0a1-a79cbe256138", "rel": "next" } ] -} +} \ No newline at end of file diff --git a/doc/api_samples/os-instance-actions/v2.58/instance-actions-list-with-marker-resp.json b/doc/api_samples/os-instance-actions/v2.58/instance-actions-list-with-marker-resp.json index 2f1eabe55e9e..ed8ab2c0415c 100644 --- a/doc/api_samples/os-instance-actions/v2.58/instance-actions-list-with-marker-resp.json +++ b/doc/api_samples/os-instance-actions/v2.58/instance-actions-list-with-marker-resp.json @@ -1,14 +1,14 @@ { "instanceActions": [ { - "instance_uuid": "e357e6d8-952e-4d1d-b74f-c8519e937706", - "user_id": "fake", - "start_time": "2017-12-07T11:07:04.313653", - "updated_at": "2017-12-07T11:07:06.058351", - "request_id": "req-c8fd339d-d2bf-43c2-a98a-84328281f83e", "action": "create", + "instance_uuid": "31f35617-317d-4688-8046-bb600286e6b6", "message": null, - "project_id": "6f70656e737461636b20342065766572" + "project_id": "6f70656e737461636b20342065766572", + "request_id": "req-922232c3-faf8-4628-9c40-0e8f0cdab020", + "start_time": "2018-04-25T01:26:33.694447", + "updated_at": "2018-04-25T01:26:35.944525", + "user_id": "fake" } ] -} +} \ No newline at end of file diff --git a/doc/api_samples/os-instance-actions/v2.58/instance-actions-list-with-timestamp-filter.json b/doc/api_samples/os-instance-actions/v2.58/instance-actions-list-with-timestamp-filter.json index 03aaf075603a..fec5c88e7abb 100644 --- a/doc/api_samples/os-instance-actions/v2.58/instance-actions-list-with-timestamp-filter.json +++ b/doc/api_samples/os-instance-actions/v2.58/instance-actions-list-with-timestamp-filter.json @@ -1,14 +1,14 @@ { "instanceActions": [ { - "instance_uuid": "e357e6d8-952e-4d1d-b74f-c8519e937706", - "user_id": "fake", - "start_time": "2017-12-07T11:07:06.088644", - "updated_at": "2017-12-07T11:07:06.431902", - "request_id": "req-e80018f1-c5bd-45ee-aaa9-290f2f5ef7bc", "action": "stop", + "instance_uuid": "84fb2511-ed79-418c-ac0d-11337e1a1d76", "message": null, - "project_id": "6f70656e737461636b20342065766572" + "project_id": "6f70656e737461636b20342065766572", + "request_id": "req-0176a4e5-15ae-4038-98a9-5444aa277c31", + "start_time": "2018-04-25T01:26:29.051607", + "updated_at": "2018-04-25T01:26:29.538648", + "user_id": "admin" } ] -} +} \ No newline at end of file diff --git a/nova/tests/functional/api_sample_tests/api_samples/os-instance-actions/instance-action-get-resp.json.tpl b/nova/tests/functional/api_sample_tests/api_samples/os-instance-actions/instance-action-get-resp.json.tpl index 7cd532523906..4ed5d73d68b6 100644 --- a/nova/tests/functional/api_sample_tests/api_samples/os-instance-actions/instance-action-get-resp.json.tpl +++ b/nova/tests/functional/api_sample_tests/api_samples/os-instance-actions/instance-action-get-resp.json.tpl @@ -1,27 +1,20 @@ { "instanceAction": { - "action": "%(action)s", - "instance_uuid": "%(instance_uuid)s", - "request_id": "%(request_id)s", - "user_id": "%(integer_id)s", - "project_id": "%(integer_id)s", - "start_time": "%(strtime)s", - "message": "", - "events": [ - { - "event": "%(event)s", - "start_time": "%(strtime)s", - "finish_time": "%(strtime)s", - "result": "%(result)s", - "traceback": "" - }, - { - "event": "%(event)s", - "start_time": "%(strtime)s", - "finish_time": "%(strtime)s", - "result": "%(result)s", - "traceback": "" - } - ] + "action": "stop", + "instance_uuid": "%(uuid)s", + "request_id": "%(request_id)s", + "user_id": "%(user_id)s", + "project_id": "%(project_id)s", + "start_time": "%(strtime)s", + "message": null, + "events": [ + { + "event": "compute_stop_instance", + "start_time": "%(strtime)s", + "finish_time": "%(strtime)s", + "result": "Success", + "traceback": null + } + ] } } diff --git a/nova/tests/functional/api_sample_tests/api_samples/os-instance-actions/instance-actions-list-resp.json.tpl b/nova/tests/functional/api_sample_tests/api_samples/os-instance-actions/instance-actions-list-resp.json.tpl index 0fdc33916a80..3e29ac280d95 100644 --- a/nova/tests/functional/api_sample_tests/api_samples/os-instance-actions/instance-actions-list-resp.json.tpl +++ b/nova/tests/functional/api_sample_tests/api_samples/os-instance-actions/instance-actions-list-resp.json.tpl @@ -1,22 +1,22 @@ { "instanceActions": [ { - "action": "%(action)s", + "action": "stop", "instance_uuid": "%(uuid)s", "request_id": "%(request_id)s", - "user_id": "%(integer_id)s", - "project_id": "%(integer_id)s", + "user_id": "%(user_id)s", + "project_id": "%(project_id)s", "start_time": "%(strtime)s", - "message": "" + "message": null }, { - "action": "%(action)s", + "action": "create", "instance_uuid": "%(uuid)s", "request_id": "%(request_id)s", - "user_id": "%(integer_id)s", - "project_id": "%(integer_id)s", + "user_id": "%(user_id)s", + "project_id": "%(project_id)s", "start_time": "%(strtime)s", - "message": "" + "message": null } ] } diff --git a/nova/tests/functional/api_sample_tests/api_samples/os-instance-actions/v2.21/instance-action-get-resp.json.tpl b/nova/tests/functional/api_sample_tests/api_samples/os-instance-actions/v2.21/instance-action-get-resp.json.tpl index 7cd532523906..f678a0f0ce0d 100644 --- a/nova/tests/functional/api_sample_tests/api_samples/os-instance-actions/v2.21/instance-action-get-resp.json.tpl +++ b/nova/tests/functional/api_sample_tests/api_samples/os-instance-actions/v2.21/instance-action-get-resp.json.tpl @@ -1,26 +1,19 @@ { "instanceAction": { - "action": "%(action)s", - "instance_uuid": "%(instance_uuid)s", + "action": "stop", + "instance_uuid": "%(uuid)s", "request_id": "%(request_id)s", - "user_id": "%(integer_id)s", - "project_id": "%(integer_id)s", + "user_id": "%(user_id)s", + "project_id": "%(project_id)s", "start_time": "%(strtime)s", - "message": "", + "message": null, "events": [ { - "event": "%(event)s", + "event": "compute_stop_instance", "start_time": "%(strtime)s", "finish_time": "%(strtime)s", - "result": "%(result)s", - "traceback": "" - }, - { - "event": "%(event)s", - "start_time": "%(strtime)s", - "finish_time": "%(strtime)s", - "result": "%(result)s", - "traceback": "" + "result": "Success", + "traceback": null } ] } diff --git a/nova/tests/functional/api_sample_tests/api_samples/os-instance-actions/v2.21/instance-actions-list-resp.json.tpl b/nova/tests/functional/api_sample_tests/api_samples/os-instance-actions/v2.21/instance-actions-list-resp.json.tpl index 0fdc33916a80..3e29ac280d95 100644 --- a/nova/tests/functional/api_sample_tests/api_samples/os-instance-actions/v2.21/instance-actions-list-resp.json.tpl +++ b/nova/tests/functional/api_sample_tests/api_samples/os-instance-actions/v2.21/instance-actions-list-resp.json.tpl @@ -1,22 +1,22 @@ { "instanceActions": [ { - "action": "%(action)s", + "action": "stop", "instance_uuid": "%(uuid)s", "request_id": "%(request_id)s", - "user_id": "%(integer_id)s", - "project_id": "%(integer_id)s", + "user_id": "%(user_id)s", + "project_id": "%(project_id)s", "start_time": "%(strtime)s", - "message": "" + "message": null }, { - "action": "%(action)s", + "action": "create", "instance_uuid": "%(uuid)s", "request_id": "%(request_id)s", - "user_id": "%(integer_id)s", - "project_id": "%(integer_id)s", + "user_id": "%(user_id)s", + "project_id": "%(project_id)s", "start_time": "%(strtime)s", - "message": "" + "message": null } ] } diff --git a/nova/tests/functional/api_sample_tests/api_samples/os-instance-actions/v2.51/instance-action-get-non-admin-resp.json.tpl b/nova/tests/functional/api_sample_tests/api_samples/os-instance-actions/v2.51/instance-action-get-non-admin-resp.json.tpl index a8f6c48e4005..50190086d03c 100644 --- a/nova/tests/functional/api_sample_tests/api_samples/os-instance-actions/v2.51/instance-action-get-non-admin-resp.json.tpl +++ b/nova/tests/functional/api_sample_tests/api_samples/os-instance-actions/v2.51/instance-action-get-non-admin-resp.json.tpl @@ -1,24 +1,18 @@ { "instanceAction": { - "action": "%(action)s", - "instance_uuid": "%(instance_uuid)s", + "action": "stop", + "instance_uuid": "%(uuid)s", "request_id": "%(request_id)s", - "user_id": "%(integer_id)s", - "project_id": "%(integer_id)s", + "user_id": "%(user_id)s", + "project_id": "%(project_id)s", "start_time": "%(strtime)s", - "message": "", + "message": null, "events": [ { - "event": "%(event)s", + "event": "compute_stop_instance", "start_time": "%(strtime)s", "finish_time": "%(strtime)s", - "result": "%(result)s" - }, - { - "event": "%(event)s", - "start_time": "%(strtime)s", - "finish_time": "%(strtime)s", - "result": "%(result)s" + "result": "Success" } ] } diff --git a/nova/tests/functional/api_sample_tests/api_samples/os-instance-actions/v2.51/instance-action-get-resp.json.tpl b/nova/tests/functional/api_sample_tests/api_samples/os-instance-actions/v2.51/instance-action-get-resp.json.tpl index fb7f780cad91..4ed5d73d68b6 100644 --- a/nova/tests/functional/api_sample_tests/api_samples/os-instance-actions/v2.51/instance-action-get-resp.json.tpl +++ b/nova/tests/functional/api_sample_tests/api_samples/os-instance-actions/v2.51/instance-action-get-resp.json.tpl @@ -1,26 +1,19 @@ { "instanceAction": { - "action": "%(action)s", - "instance_uuid": "%(instance_uuid)s", + "action": "stop", + "instance_uuid": "%(uuid)s", "request_id": "%(request_id)s", - "user_id": "%(integer_id)s", - "project_id": "%(integer_id)s", + "user_id": "%(user_id)s", + "project_id": "%(project_id)s", "start_time": "%(strtime)s", - "message": "", + "message": null, "events": [ { - "event": "%(event)s", + "event": "compute_stop_instance", "start_time": "%(strtime)s", "finish_time": "%(strtime)s", - "result": "%(result)s", - "traceback": "" - }, - { - "event": "%(event)s", - "start_time": "%(strtime)s", - "finish_time": "%(strtime)s", - "result": "%(result)s", - "traceback": "" + "result": "Success", + "traceback": null } ] } diff --git a/nova/tests/functional/api_sample_tests/api_samples/os-instance-actions/v2.51/instance-actions-list-resp.json.tpl b/nova/tests/functional/api_sample_tests/api_samples/os-instance-actions/v2.51/instance-actions-list-resp.json.tpl index 0fdc33916a80..3e29ac280d95 100644 --- a/nova/tests/functional/api_sample_tests/api_samples/os-instance-actions/v2.51/instance-actions-list-resp.json.tpl +++ b/nova/tests/functional/api_sample_tests/api_samples/os-instance-actions/v2.51/instance-actions-list-resp.json.tpl @@ -1,22 +1,22 @@ { "instanceActions": [ { - "action": "%(action)s", + "action": "stop", "instance_uuid": "%(uuid)s", "request_id": "%(request_id)s", - "user_id": "%(integer_id)s", - "project_id": "%(integer_id)s", + "user_id": "%(user_id)s", + "project_id": "%(project_id)s", "start_time": "%(strtime)s", - "message": "" + "message": null }, { - "action": "%(action)s", + "action": "create", "instance_uuid": "%(uuid)s", "request_id": "%(request_id)s", - "user_id": "%(integer_id)s", - "project_id": "%(integer_id)s", + "user_id": "%(user_id)s", + "project_id": "%(project_id)s", "start_time": "%(strtime)s", - "message": "" + "message": null } ] } diff --git a/nova/tests/functional/api_sample_tests/api_samples/os-instance-actions/v2.58/instance-action-get-non-admin-resp.json.tpl b/nova/tests/functional/api_sample_tests/api_samples/os-instance-actions/v2.58/instance-action-get-non-admin-resp.json.tpl index ea0f8524f499..62be35588666 100644 --- a/nova/tests/functional/api_sample_tests/api_samples/os-instance-actions/v2.58/instance-action-get-non-admin-resp.json.tpl +++ b/nova/tests/functional/api_sample_tests/api_samples/os-instance-actions/v2.58/instance-action-get-non-admin-resp.json.tpl @@ -7,7 +7,7 @@ "project_id": "%(project_id)s", "start_time": "%(strtime)s", "updated_at": "%(strtime)s", - "message": "", + "message": null, "events": [ { "event": "compute_stop_instance", diff --git a/nova/tests/functional/api_sample_tests/api_samples/os-instance-actions/v2.58/instance-action-get-resp.json.tpl b/nova/tests/functional/api_sample_tests/api_samples/os-instance-actions/v2.58/instance-action-get-resp.json.tpl index 8646fb8bcab9..758ed8496508 100644 --- a/nova/tests/functional/api_sample_tests/api_samples/os-instance-actions/v2.58/instance-action-get-resp.json.tpl +++ b/nova/tests/functional/api_sample_tests/api_samples/os-instance-actions/v2.58/instance-action-get-resp.json.tpl @@ -7,14 +7,14 @@ "project_id": "%(project_id)s", "start_time": "%(strtime)s", "updated_at": "%(strtime)s", - "message": "", + "message": null, "events": [ { "event": "compute_stop_instance", "start_time": "%(strtime)s", "finish_time": "%(strtime)s", "result": "Success", - "traceback": "" + "traceback": null } ] } diff --git a/nova/tests/functional/api_sample_tests/api_samples/os-instance-actions/v2.58/instance-actions-list-resp.json.tpl b/nova/tests/functional/api_sample_tests/api_samples/os-instance-actions/v2.58/instance-actions-list-resp.json.tpl index 99407aa08ada..19161da37483 100644 --- a/nova/tests/functional/api_sample_tests/api_samples/os-instance-actions/v2.58/instance-actions-list-resp.json.tpl +++ b/nova/tests/functional/api_sample_tests/api_samples/os-instance-actions/v2.58/instance-actions-list-resp.json.tpl @@ -8,7 +8,7 @@ "project_id": "%(project_id)s", "start_time": "%(strtime)s", "updated_at": "%(strtime)s", - "message": "" + "message": null }, { "action": "create", @@ -18,7 +18,7 @@ "project_id": "%(project_id)s", "start_time": "%(strtime)s", "updated_at": "%(strtime)s", - "message": "" + "message": null } ] } diff --git a/nova/tests/functional/api_sample_tests/api_samples/os-instance-actions/v2.58/instance-actions-list-with-limit-resp.json.tpl b/nova/tests/functional/api_sample_tests/api_samples/os-instance-actions/v2.58/instance-actions-list-with-limit-resp.json.tpl index 3a66a24a1cb1..dedbd8d8addc 100644 --- a/nova/tests/functional/api_sample_tests/api_samples/os-instance-actions/v2.58/instance-actions-list-with-limit-resp.json.tpl +++ b/nova/tests/functional/api_sample_tests/api_samples/os-instance-actions/v2.58/instance-actions-list-with-limit-resp.json.tpl @@ -8,7 +8,7 @@ "project_id": "%(project_id)s", "start_time": "%(strtime)s", "updated_at": "%(strtime)s", - "message": "" + "message": null } ], "links": [ diff --git a/nova/tests/functional/api_sample_tests/api_samples/os-instance-actions/v2.58/instance-actions-list-with-marker-resp.json.tpl b/nova/tests/functional/api_sample_tests/api_samples/os-instance-actions/v2.58/instance-actions-list-with-marker-resp.json.tpl index 2561555ead92..3e1f1efa8bb0 100644 --- a/nova/tests/functional/api_sample_tests/api_samples/os-instance-actions/v2.58/instance-actions-list-with-marker-resp.json.tpl +++ b/nova/tests/functional/api_sample_tests/api_samples/os-instance-actions/v2.58/instance-actions-list-with-marker-resp.json.tpl @@ -8,7 +8,7 @@ "project_id": "%(project_id)s", "start_time": "%(strtime)s", "updated_at": "%(strtime)s", - "message": "" + "message": null } ] } diff --git a/nova/tests/functional/api_sample_tests/api_samples/os-instance-actions/v2.58/instance-actions-list-with-timestamp-filter.json.tpl b/nova/tests/functional/api_sample_tests/api_samples/os-instance-actions/v2.58/instance-actions-list-with-timestamp-filter.json.tpl index 441b3aa13064..4b81af86b045 100644 --- a/nova/tests/functional/api_sample_tests/api_samples/os-instance-actions/v2.58/instance-actions-list-with-timestamp-filter.json.tpl +++ b/nova/tests/functional/api_sample_tests/api_samples/os-instance-actions/v2.58/instance-actions-list-with-timestamp-filter.json.tpl @@ -8,7 +8,7 @@ "project_id": "%(project_id)s", "start_time": "%(strtime)s", "updated_at": "%(strtime)s", - "message": "" + "message": null } ] } diff --git a/nova/tests/functional/api_sample_tests/test_instance_actions.py b/nova/tests/functional/api_sample_tests/test_instance_actions.py index 2d511ead271a..c36c62ceadc6 100644 --- a/nova/tests/functional/api_sample_tests/test_instance_actions.py +++ b/nova/tests/functional/api_sample_tests/test_instance_actions.py @@ -13,90 +13,50 @@ # License for the specific language governing permissions and limitations # under the License. -import copy - -import six - -from nova.tests.functional.api_sample_tests import api_sample_base from nova.tests.functional.api_sample_tests import test_servers from nova.tests.functional import api_samples_test_base from nova.tests.functional import integrated_helpers -from nova.tests.unit import fake_instance -from nova.tests.unit import fake_server_actions -from nova.tests.unit import utils as test_utils -class ServerActionsSampleJsonTest(api_sample_base.ApiSampleTestBaseV21): +class ServerActionsSampleJsonTest(test_servers.ServersSampleBase, + integrated_helpers.InstanceHelperMixin): microversion = None ADMIN_API = True sample_dir = 'os-instance-actions' def setUp(self): super(ServerActionsSampleJsonTest, self).setUp() - self.api.microversion = self.microversion - self.actions = fake_server_actions.FAKE_ACTIONS - self.events = fake_server_actions.FAKE_EVENTS - self.instance = test_utils.get_test_instance(obj=True) + # Create and stop a server + self.uuid = self._post_server() + self._get_response('servers/%s/action' % self.uuid, 'POST', + '{"os-stop": null}') + response = self._do_get('servers/%s/os-instance-actions' % self.uuid) + response_data = api_samples_test_base.pretty_data(response.content) + actions = api_samples_test_base.objectify(response_data) + self.action_stop = actions['instanceActions'][0] + self._wait_for_state_change(self.api, {'id': self.uuid}, 'SHUTOFF') - def _fake_get(stub_self, context, instance_uuid, expected_attrs=None): - return fake_instance.fake_instance_obj( - None, **{'uuid': instance_uuid}) - - def fake_instance_action_get_by_request_id(context, uuid, request_id): - return copy.deepcopy(self.actions[uuid][request_id]) - - def fake_server_actions_get(context, uuid, limit=None, marker=None, - filters=None): - return [copy.deepcopy(value) for value in - six.itervalues(self.actions[uuid])] - - def fake_instance_action_events_get(context, action_id): - return copy.deepcopy(self.events[action_id]) - - def fake_instance_get_by_uuid(context, instance_id): - return self.instance - - self.stub_out('nova.db.action_get_by_request_id', - fake_instance_action_get_by_request_id) - self.stub_out('nova.db.actions_get', fake_server_actions_get) - self.stub_out('nova.db.action_events_get', - fake_instance_action_events_get) - self.stub_out('nova.db.instance_get_by_uuid', - fake_instance_get_by_uuid) - self.stub_out('nova.compute.api.API.get', _fake_get) + def _get_subs(self): + return { + 'uuid': self.uuid, + 'project_id': self.action_stop['project_id'] + } def test_instance_action_get(self): - fake_uuid = fake_server_actions.FAKE_UUID - fake_request_id = fake_server_actions.FAKE_REQUEST_ID1 - fake_action = self.actions[fake_uuid][fake_request_id] - + req_id = self.action_stop['request_id'] response = self._do_get('servers/%s/os-instance-actions/%s' % - (fake_uuid, fake_request_id)) - subs = {} - subs['action'] = '(reboot)|(resize)' - subs['instance_uuid'] = str(fake_uuid) - subs['integer_id'] = '[0-9]+' - subs['request_id'] = str(fake_action['request_id']) - subs['start_time'] = str(fake_action['start_time']) - subs['result'] = '(Success)|(Error)' - subs['event'] = '(schedule)|(compute_create)' + (self.uuid, req_id)) # Non-admins can see event details except for the "traceback" field # starting in the 2.51 microversion. if self.ADMIN_API: name = 'instance-action-get-resp' else: name = 'instance-action-get-non-admin-resp' - self._verify_response(name, subs, response, 200) + self._verify_response(name, self._get_subs(), response, 200) def test_instance_actions_list(self): - fake_uuid = fake_server_actions.FAKE_UUID - response = self._do_get('servers/%s/os-instance-actions' % (fake_uuid)) - subs = {} - subs['action'] = '(reboot)|(resize)' - subs['integer_id'] = '[0-9]+' - subs['request_id'] = ('req-[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}' - '-[0-9a-f]{4}-[0-9a-f]{12}') - self._verify_response('instance-actions-list-resp', subs, + response = self._do_get('servers/%s/os-instance-actions' % self.uuid) + self._verify_response('instance-actions-list-resp', self._get_subs(), response, 200) @@ -132,47 +92,9 @@ class ServerActionsV251NonAdminSampleJsonTest(ServerActionsSampleJsonTest): scenarios = [('v2_51', {'api_major_version': 'v2.1'})] -class ServerActionsV258SampleJsonTest(test_servers.ServersSampleBase, - integrated_helpers.InstanceHelperMixin): +class ServerActionsV258SampleJsonTest(ServerActionsV251AdminSampleJsonTest): microversion = '2.58' scenarios = [('v2_58', {'api_major_version': 'v2.1'})] - sample_dir = 'os-instance-actions' - ADMIN_API = True - - def setUp(self): - super(ServerActionsV258SampleJsonTest, self).setUp() - # Create and stop a server - self.uuid = self._post_server() - self._get_response('servers/%s/action' % self.uuid, 'POST', - '{"os-stop": null}') - response = self._do_get('servers/%s/os-instance-actions' % self.uuid) - response_data = api_samples_test_base.pretty_data(response.content) - actions = api_samples_test_base.objectify(response_data) - self.action_stop = actions['instanceActions'][0] - self._wait_for_state_change(self.api, {'id': self.uuid}, 'SHUTOFF') - - def _get_subs(self): - return { - 'uuid': self.uuid, - 'project_id': self.action_stop['project_id'] - } - - def test_instance_action_get(self): - req_id = self.action_stop['request_id'] - response = self._do_get('servers/%s/os-instance-actions/%s' % - (self.uuid, req_id)) - # Non-admins can see event details except for the "traceback" field - # starting in the 2.51 microversion. - if self.ADMIN_API: - name = 'instance-action-get-resp' - else: - name = 'instance-action-get-non-admin-resp' - self._verify_response(name, self._get_subs(), response, 200) - - def test_instance_actions_list(self): - response = self._do_get('servers/%s/os-instance-actions' % self.uuid) - self._verify_response('instance-actions-list-resp', self._get_subs(), - response, 200) def test_instance_actions_list_with_limit(self): response = self._do_get('servers/%s/os-instance-actions'