From 42e4126f0545ff9dbd27871964bb010f083515a4 Mon Sep 17 00:00:00 2001 From: Ghanshyam Date: Thu, 28 Jan 2016 14:06:36 +0900 Subject: [PATCH] Enable all extension for server PUT API sample tests As extensions options has been deprecated, API sample tests should run against all extension enable. This commit enables all extensions for server PUT API tests and remove its specific extensions tests and sample files. Adding a hack for other tests which are still running with specific extensions. That is needed to avoid all tests updates in single commit. Partially implements blueprint api-sample-tests-with-all-extensions Change-Id: I9c44da3d9df39c1db0948194502be52f4f15acf2 --- ...r-post-req.json => server-create-req.json} | 0 ...post-resp.json => server-create-resp.json} | 0 .../os-access-ips/server-put-req.json | 6 --- .../os-access-ips/server-put-resp.json | 54 ------------------- .../os-disk-config/server-update-put-req.json | 5 -- .../servers/server-create-req.json | 12 +++++ .../servers/server-create-resp.json | 22 ++++++++ .../servers/server-update-req.json | 8 +++ .../server-update-resp.json} | 4 +- ...eq.json.tpl => server-create-req.json.tpl} | 0 ...p.json.tpl => server-create-resp.json.tpl} | 0 .../os-access-ips/server-put-req.json.tpl | 6 --- .../os-access-ips/server-put-resp.json.tpl | 54 ------------------- .../server-update-put-req.json.tpl | 5 -- .../servers/server-create-req.json.tpl | 12 +++++ .../servers/server-create-resp.json.tpl | 22 ++++++++ .../servers/server-update-req.json.tpl | 8 +++ .../server-update-resp.json.tpl} | 4 +- .../api_sample_tests/test_access_ips.py | 15 ------ .../api_sample_tests/test_disk_config.py | 10 ---- .../api_sample_tests/test_servers.py | 31 ++++++++++- 21 files changed, 117 insertions(+), 161 deletions(-) rename doc/api_samples/all_extensions/{server-post-req.json => server-create-req.json} (100%) rename doc/api_samples/all_extensions/{server-post-resp.json => server-create-resp.json} (100%) delete mode 100644 doc/api_samples/os-access-ips/server-put-req.json delete mode 100644 doc/api_samples/os-access-ips/server-put-resp.json delete mode 100644 doc/api_samples/os-disk-config/server-update-put-req.json create mode 100644 doc/api_samples/servers/server-create-req.json create mode 100644 doc/api_samples/servers/server-create-resp.json create mode 100644 doc/api_samples/servers/server-update-req.json rename doc/api_samples/{os-disk-config/server-update-put-resp.json => servers/server-update-resp.json} (96%) rename nova/tests/functional/api_sample_tests/api_samples/all_extensions/{server-post-req.json.tpl => server-create-req.json.tpl} (100%) rename nova/tests/functional/api_sample_tests/api_samples/all_extensions/{server-post-resp.json.tpl => server-create-resp.json.tpl} (100%) delete mode 100644 nova/tests/functional/api_sample_tests/api_samples/os-access-ips/server-put-req.json.tpl delete mode 100644 nova/tests/functional/api_sample_tests/api_samples/os-access-ips/server-put-resp.json.tpl delete mode 100644 nova/tests/functional/api_sample_tests/api_samples/os-disk-config/server-update-put-req.json.tpl create mode 100644 nova/tests/functional/api_sample_tests/api_samples/servers/server-create-req.json.tpl create mode 100644 nova/tests/functional/api_sample_tests/api_samples/servers/server-create-resp.json.tpl create mode 100644 nova/tests/functional/api_sample_tests/api_samples/servers/server-update-req.json.tpl rename nova/tests/functional/api_sample_tests/api_samples/{os-disk-config/server-update-put-resp.json.tpl => servers/server-update-resp.json.tpl} (94%) diff --git a/doc/api_samples/all_extensions/server-post-req.json b/doc/api_samples/all_extensions/server-create-req.json similarity index 100% rename from doc/api_samples/all_extensions/server-post-req.json rename to doc/api_samples/all_extensions/server-create-req.json diff --git a/doc/api_samples/all_extensions/server-post-resp.json b/doc/api_samples/all_extensions/server-create-resp.json similarity index 100% rename from doc/api_samples/all_extensions/server-post-resp.json rename to doc/api_samples/all_extensions/server-create-resp.json diff --git a/doc/api_samples/os-access-ips/server-put-req.json b/doc/api_samples/os-access-ips/server-put-req.json deleted file mode 100644 index e0af5a9e49c6..000000000000 --- a/doc/api_samples/os-access-ips/server-put-req.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "server": { - "accessIPv4": "4.3.2.1", - "accessIPv6": "80fe::" - } -} \ No newline at end of file diff --git a/doc/api_samples/os-access-ips/server-put-resp.json b/doc/api_samples/os-access-ips/server-put-resp.json deleted file mode 100644 index bf994342599a..000000000000 --- a/doc/api_samples/os-access-ips/server-put-resp.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "server": { - "addresses": { - "private": [ - { - "addr": "192.168.0.3", - "version": 4 - } - ] - }, - "created": "2013-11-06T08:11:57Z", - "flavor": { - "id": "1", - "links": [ - { - "href": "http://openstack.example.com/openstack/flavors/1", - "rel": "bookmark" - } - ] - }, - "hostId": "ea0fd522e5bc2fea872429b331304a6f930f2d9aa2a5dc95b3c6061a", - "id": "fea9595c-ce6e-4565-987e-2d301fe056ac", - "image": { - "id": "70a599e0-31e7-49b7-b260-868f441e862b", - "links": [ - { - "href": "http://openstack.example.com/openstack/images/70a599e0-31e7-49b7-b260-868f441e862b", - "rel": "bookmark" - } - ] - }, - "links": [ - { - "href": "http://openstack.example.com/v2/openstack/servers/fea9595c-ce6e-4565-987e-2d301fe056ac", - "rel": "self" - }, - { - "href": "http://openstack.example.com/openstack/servers/fea9595c-ce6e-4565-987e-2d301fe056ac", - "rel": "bookmark" - } - ], - "metadata": { - "My Server Name": "Apache1" - }, - "name": "new-server-test", - "accessIPv4": "4.3.2.1", - "accessIPv6": "80fe::", - "progress": 0, - "status": "ACTIVE", - "tenant_id": "openstack", - "updated": "2013-11-06T08:11:58Z", - "user_id": "fake" - } -} diff --git a/doc/api_samples/os-disk-config/server-update-put-req.json b/doc/api_samples/os-disk-config/server-update-put-req.json deleted file mode 100644 index 898ab886ad8d..000000000000 --- a/doc/api_samples/os-disk-config/server-update-put-req.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "server": { - "OS-DCF:diskConfig": "AUTO" - } -} \ No newline at end of file diff --git a/doc/api_samples/servers/server-create-req.json b/doc/api_samples/servers/server-create-req.json new file mode 100644 index 000000000000..ca53f3a7c26c --- /dev/null +++ b/doc/api_samples/servers/server-create-req.json @@ -0,0 +1,12 @@ +{ + "server" : { + "accessIPv4": "1.2.3.4", + "accessIPv6": "80fe::", + "name" : "new-server-test", + "imageRef" : "70a599e0-31e7-49b7-b260-868f441e862b", + "flavorRef" : "1", + "metadata" : { + "My Server Name" : "Apache1" + } + } +} diff --git a/doc/api_samples/servers/server-create-resp.json b/doc/api_samples/servers/server-create-resp.json new file mode 100644 index 000000000000..c60685f4a8d0 --- /dev/null +++ b/doc/api_samples/servers/server-create-resp.json @@ -0,0 +1,22 @@ +{ + "server": { + "OS-DCF:diskConfig": "AUTO", + "adminPass": "6NpUwoz2QDRN", + "id": "f5dc173b-6804-445a-a6d8-c705dad5b5eb", + "links": [ + { + "href": "http://openstack.example.com/v2/openstack/servers/f5dc173b-6804-445a-a6d8-c705dad5b5eb", + "rel": "self" + }, + { + "href": "http://openstack.example.com/openstack/servers/f5dc173b-6804-445a-a6d8-c705dad5b5eb", + "rel": "bookmark" + } + ], + "security_groups": [ + { + "name": "default" + } + ] + } +} diff --git a/doc/api_samples/servers/server-update-req.json b/doc/api_samples/servers/server-update-req.json new file mode 100644 index 000000000000..8e24d867f80b --- /dev/null +++ b/doc/api_samples/servers/server-update-req.json @@ -0,0 +1,8 @@ +{ + "server": { + "accessIPv4": "4.3.2.1", + "accessIPv6": "80fe::", + "OS-DCF:diskConfig": "AUTO", + "name" : "new-server-test" + } +} \ No newline at end of file diff --git a/doc/api_samples/os-disk-config/server-update-put-resp.json b/doc/api_samples/servers/server-update-resp.json similarity index 96% rename from doc/api_samples/os-disk-config/server-update-put-resp.json rename to doc/api_samples/servers/server-update-resp.json index ce6e08455a42..11496a66e6da 100644 --- a/doc/api_samples/os-disk-config/server-update-put-resp.json +++ b/doc/api_samples/servers/server-update-resp.json @@ -1,8 +1,8 @@ { "server": { "OS-DCF:diskConfig": "AUTO", - "accessIPv4": "", - "accessIPv6": "", + "accessIPv4": "1.2.3.4", + "accessIPv6": "80fe::", "addresses": { "private": [ { diff --git a/nova/tests/functional/api_sample_tests/api_samples/all_extensions/server-post-req.json.tpl b/nova/tests/functional/api_sample_tests/api_samples/all_extensions/server-create-req.json.tpl similarity index 100% rename from nova/tests/functional/api_sample_tests/api_samples/all_extensions/server-post-req.json.tpl rename to nova/tests/functional/api_sample_tests/api_samples/all_extensions/server-create-req.json.tpl diff --git a/nova/tests/functional/api_sample_tests/api_samples/all_extensions/server-post-resp.json.tpl b/nova/tests/functional/api_sample_tests/api_samples/all_extensions/server-create-resp.json.tpl similarity index 100% rename from nova/tests/functional/api_sample_tests/api_samples/all_extensions/server-post-resp.json.tpl rename to nova/tests/functional/api_sample_tests/api_samples/all_extensions/server-create-resp.json.tpl diff --git a/nova/tests/functional/api_sample_tests/api_samples/os-access-ips/server-put-req.json.tpl b/nova/tests/functional/api_sample_tests/api_samples/os-access-ips/server-put-req.json.tpl deleted file mode 100644 index d38d96704235..000000000000 --- a/nova/tests/functional/api_sample_tests/api_samples/os-access-ips/server-put-req.json.tpl +++ /dev/null @@ -1,6 +0,0 @@ -{ - "server": { - "accessIPv4": "%(access_ip_v4)s", - "accessIPv6": "%(access_ip_v6)s" - } -} diff --git a/nova/tests/functional/api_sample_tests/api_samples/os-access-ips/server-put-resp.json.tpl b/nova/tests/functional/api_sample_tests/api_samples/os-access-ips/server-put-resp.json.tpl deleted file mode 100644 index 6df0507c34fc..000000000000 --- a/nova/tests/functional/api_sample_tests/api_samples/os-access-ips/server-put-resp.json.tpl +++ /dev/null @@ -1,54 +0,0 @@ -{ - "server": { - "accessIPv4": "%(access_ip_v4)s", - "accessIPv6": "%(access_ip_v6)s", - "addresses": { - "private": [ - { - "addr": "%(ip)s", - "version": 4 - } - ] - }, - "created": "%(isotime)s", - "flavor": { - "id": "1", - "links": [ - { - "href": "%(compute_endpoint)s/flavors/1", - "rel": "bookmark" - } - ] - }, - "hostId": "%(hostid)s", - "id": "%(id)s", - "image": { - "id": "%(uuid)s", - "links": [ - { - "href": "%(compute_endpoint)s/images/%(uuid)s", - "rel": "bookmark" - } - ] - }, - "links": [ - { - "href": "%(versioned_compute_endpoint)s/servers/%(uuid)s", - "rel": "self" - }, - { - "href": "%(compute_endpoint)s/servers/%(uuid)s", - "rel": "bookmark" - } - ], - "metadata": { - "My Server Name": "Apache1" - }, - "name": "new-server-test", - "progress": 0, - "status": "ACTIVE", - "tenant_id": "openstack", - "updated": "%(isotime)s", - "user_id": "fake" - } -} diff --git a/nova/tests/functional/api_sample_tests/api_samples/os-disk-config/server-update-put-req.json.tpl b/nova/tests/functional/api_sample_tests/api_samples/os-disk-config/server-update-put-req.json.tpl deleted file mode 100644 index 4ac22820df3b..000000000000 --- a/nova/tests/functional/api_sample_tests/api_samples/os-disk-config/server-update-put-req.json.tpl +++ /dev/null @@ -1,5 +0,0 @@ -{ - "server": { - "OS-DCF:diskConfig": "AUTO" - } -} diff --git a/nova/tests/functional/api_sample_tests/api_samples/servers/server-create-req.json.tpl b/nova/tests/functional/api_sample_tests/api_samples/servers/server-create-req.json.tpl new file mode 100644 index 000000000000..25b6415890ba --- /dev/null +++ b/nova/tests/functional/api_sample_tests/api_samples/servers/server-create-req.json.tpl @@ -0,0 +1,12 @@ +{ + "server" : { + "accessIPv4": "%(access_ip_v4)s", + "accessIPv6": "%(access_ip_v6)s", + "name" : "new-server-test", + "imageRef" : "%(image_id)s", + "flavorRef" : "1", + "metadata" : { + "My Server Name" : "Apache1" + } + } +} diff --git a/nova/tests/functional/api_sample_tests/api_samples/servers/server-create-resp.json.tpl b/nova/tests/functional/api_sample_tests/api_samples/servers/server-create-resp.json.tpl new file mode 100644 index 000000000000..4b30e0cfbdb8 --- /dev/null +++ b/nova/tests/functional/api_sample_tests/api_samples/servers/server-create-resp.json.tpl @@ -0,0 +1,22 @@ +{ + "server": { + "OS-DCF:diskConfig": "AUTO", + "adminPass": "%(password)s", + "id": "%(id)s", + "links": [ + { + "href": "%(versioned_compute_endpoint)s/servers/%(uuid)s", + "rel": "self" + }, + { + "href": "%(compute_endpoint)s/servers/%(uuid)s", + "rel": "bookmark" + } + ], + "security_groups": [ + { + "name": "default" + } + ] + } +} diff --git a/nova/tests/functional/api_sample_tests/api_samples/servers/server-update-req.json.tpl b/nova/tests/functional/api_sample_tests/api_samples/servers/server-update-req.json.tpl new file mode 100644 index 000000000000..e34896621d2e --- /dev/null +++ b/nova/tests/functional/api_sample_tests/api_samples/servers/server-update-req.json.tpl @@ -0,0 +1,8 @@ +{ + "server": { + "accessIPv4": "%(access_ip_v4)s", + "accessIPv6": "%(access_ip_v6)s", + "OS-DCF:diskConfig": "AUTO", + "name" : "new-server-test" + } +} diff --git a/nova/tests/functional/api_sample_tests/api_samples/os-disk-config/server-update-put-resp.json.tpl b/nova/tests/functional/api_sample_tests/api_samples/servers/server-update-resp.json.tpl similarity index 94% rename from nova/tests/functional/api_sample_tests/api_samples/os-disk-config/server-update-put-resp.json.tpl rename to nova/tests/functional/api_sample_tests/api_samples/servers/server-update-resp.json.tpl index 047d9be04988..7261c4bae56c 100644 --- a/nova/tests/functional/api_sample_tests/api_samples/os-disk-config/server-update-put-resp.json.tpl +++ b/nova/tests/functional/api_sample_tests/api_samples/servers/server-update-resp.json.tpl @@ -1,8 +1,8 @@ { "server": { "OS-DCF:diskConfig": "AUTO", - "accessIPv4": "", - "accessIPv6": "", + "accessIPv4": "%(access_ip_v4)s", + "accessIPv6": "%(access_ip_v6)s", "addresses": { "private": [ { diff --git a/nova/tests/functional/api_sample_tests/test_access_ips.py b/nova/tests/functional/api_sample_tests/test_access_ips.py index 86d2a3a36c8e..d89fa63f55d3 100644 --- a/nova/tests/functional/api_sample_tests/test_access_ips.py +++ b/nova/tests/functional/api_sample_tests/test_access_ips.py @@ -93,18 +93,3 @@ class AccessIPsSampleJsonTest(api_sample_base.ApiSampleTestBaseV21): subs['id'] = uuid self._verify_response('server-action-rebuild-resp', subs, response, 202) - - def test_servers_update(self): - subs = { - 'image_id': fake.get_valid_image_id(), - 'compute_endpoint': self._get_compute_endpoint(), - 'access_ip_v4': '1.2.3.4', - 'access_ip_v6': 'fe80::' - } - uuid = self._servers_post(subs) - subs['access_ip_v4'] = "4.3.2.1" - subs['access_ip_v6'] = '80fe::' - response = self._do_put('servers/%s' % uuid, 'server-put-req', subs) - subs['hostid'] = '[a-f0-9]+' - subs['id'] = uuid - self._verify_response('server-put-resp', subs, response, 200) diff --git a/nova/tests/functional/api_sample_tests/test_disk_config.py b/nova/tests/functional/api_sample_tests/test_disk_config.py index 425379caaa6d..c745e8b6a15e 100644 --- a/nova/tests/functional/api_sample_tests/test_disk_config.py +++ b/nova/tests/functional/api_sample_tests/test_disk_config.py @@ -61,16 +61,6 @@ class DiskConfigJsonTest(test_servers.ServersSampleBase): subs['access_ip_v6'] = '' self._verify_response('server-get-resp', subs, response, 200) - def test_update_server(self): - uuid = self._post_server(use_common_server_api_samples=False) - response = self._do_put('servers/%s' % uuid, - 'server-update-put-req', {}) - subs = {} - subs['hostid'] = '[a-f0-9]+' - subs['access_ip_v4'] = '' - subs['access_ip_v6'] = '' - self._verify_response('server-update-put-resp', subs, response, 200) - def test_resize_server(self): self.flags(allow_resize_to_same_host=True) uuid = self._post_server(use_common_server_api_samples=False) diff --git a/nova/tests/functional/api_sample_tests/test_servers.py b/nova/tests/functional/api_sample_tests/test_servers.py index 8a550c156406..38d195c7d865 100644 --- a/nova/tests/functional/api_sample_tests/test_servers.py +++ b/nova/tests/functional/api_sample_tests/test_servers.py @@ -42,13 +42,22 @@ class ServersSampleBase(api_sample_base.ApiSampleTestBaseV21): 'access_ip_v4': '1.2.3.4', 'access_ip_v6': '80fe::' } + # TODO(gmann): Remove this hack once all tests using this common + # _post_server method are enabled with all extension. + # This is added to avoid all tests updates together. + post_req_template = 'server-post-req' + post_resp_template = 'server-post-resp' + if self.all_extensions and use_common_server_api_samples: + post_req_template = 'server-create-req' + post_resp_template = 'server-create-resp' + orig_value = self.__class__._use_common_server_api_samples orig_sample_dir = self.__class__.sample_dir try: self.__class__._use_common_server_api_samples = ( use_common_server_api_samples) - response = self._do_post('servers', 'server-post-req', subs) - status = self._verify_response('server-post-resp', subs, + response = self._do_post('servers', post_req_template, subs) + status = self._verify_response(post_resp_template, subs, response, 202) return status finally: @@ -138,6 +147,24 @@ class ServersSampleJson219Test(ServersSampleJsonTest): self._verify_response('server-put-resp', subs, response, 200) +class ServersUpdateSampleJsonTest(ServersSampleBase): + sample_dir = 'servers' + + # TODO(gmann): This will be removed once all API tests runs for + # all extension enable. + all_extensions = True + + def test_update_server(self): + uuid = self._post_server() + subs = {} + subs['hostid'] = '[a-f0-9]+' + subs['access_ip_v4'] = '1.2.3.4' + subs['access_ip_v6'] = '80fe::' + response = self._do_put('servers/%s' % uuid, + 'server-update-req', subs) + self._verify_response('server-update-resp', subs, response, 200) + + class ServerSortKeysJsonTests(ServersSampleBase): sample_dir = 'servers-sort'