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 e0af5a9e49..0000000000 --- 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 bf99434259..0000000000 --- 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 898ab886ad..0000000000 --- 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 0000000000..ca53f3a7c2 --- /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 0000000000..c60685f4a8 --- /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 0000000000..8e24d867f8 --- /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 ce6e08455a..11496a66e6 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 d38d967042..0000000000 --- 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 6df0507c34..0000000000 --- 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 4ac22820df..0000000000 --- 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 0000000000..25b6415890 --- /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 0000000000..4b30e0cfbd --- /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 0000000000..e34896621d --- /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 047d9be049..7261c4bae5 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 86d2a3a36c..d89fa63f55 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 425379caaa..c745e8b6a1 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 8a550c1564..38d195c7d8 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'