diff --git a/doc/api_samples/OS-EXT-AZ/server-get-resp.json b/doc/api_samples/OS-EXT-AZ/server-get-resp.json deleted file mode 100644 index c2f0fb2ba7a8..000000000000 --- a/doc/api_samples/OS-EXT-AZ/server-get-resp.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "server": { - "OS-EXT-AZ:availability_zone": "nova", - "accessIPv4": "", - "accessIPv6": "", - "addresses": { - "private": [ - { - "addr": "192.168.0.3", - "version": 4 - } - ] - }, - "created": "2013-01-30T13:38:47Z", - "flavor": { - "id": "1", - "links": [ - { - "href": "http://openstack.example.com/openstack/flavors/1", - "rel": "bookmark" - } - ] - }, - "hostId": "d38ea49a033b0efaf80c165de63f4805c886dfb94dc0fe731227eccb", - "id": "fb7babfd-e1a1-4add-90e6-3558180983c7", - "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/fb7babfd-e1a1-4add-90e6-3558180983c7", - "rel": "self" - }, - { - "href": "http://openstack.example.com/openstack/servers/fb7babfd-e1a1-4add-90e6-3558180983c7", - "rel": "bookmark" - } - ], - "metadata": { - "My Server Name": "Apache1" - }, - "name": "new-server-test", - "progress": 0, - "status": "ACTIVE", - "tenant_id": "openstack", - "updated": "2013-01-30T13:38:49Z", - "user_id": "fake" - } -} diff --git a/doc/api_samples/OS-EXT-AZ/servers-detail-resp.json b/doc/api_samples/OS-EXT-AZ/servers-detail-resp.json deleted file mode 100644 index 2ecea959a12e..000000000000 --- a/doc/api_samples/OS-EXT-AZ/servers-detail-resp.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - "servers": [ - { - "OS-EXT-AZ:availability_zone": "nova", - "accessIPv4": "", - "accessIPv6": "", - "addresses": { - "private": [ - { - "addr": "192.168.0.3", - "version": 4 - } - ] - }, - "created": "2013-01-30T13:26:51Z", - "flavor": { - "id": "1", - "links": [ - { - "href": "http://openstack.example.com/openstack/flavors/1", - "rel": "bookmark" - } - ] - }, - "hostId": "60c988a84401fa15888a32833e5848e9caa99a45778310ba7b363165", - "id": "3dbf5b00-dabc-41ff-b6ab-4409568fae9d", - "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/3dbf5b00-dabc-41ff-b6ab-4409568fae9d", - "rel": "self" - }, - { - "href": "http://openstack.example.com/openstack/servers/3dbf5b00-dabc-41ff-b6ab-4409568fae9d", - "rel": "bookmark" - } - ], - "metadata": { - "My Server Name": "Apache1" - }, - "name": "new-server-test", - "progress": 0, - "status": "ACTIVE", - "tenant_id": "openstack", - "updated": "2013-01-30T13:26:52Z", - "user_id": "fake" - } - ] -} diff --git a/doc/api_samples/os-availability-zone/availability-zone-post-req.json b/doc/v3/api_samples/os-availability-zone/availability-zone-post-req.json similarity index 100% rename from doc/api_samples/os-availability-zone/availability-zone-post-req.json rename to doc/v3/api_samples/os-availability-zone/availability-zone-post-req.json diff --git a/doc/api_samples/os-availability-zone/availability-zone-post-resp.json b/doc/v3/api_samples/os-availability-zone/availability-zone-post-resp.json similarity index 100% rename from doc/api_samples/os-availability-zone/availability-zone-post-resp.json rename to doc/v3/api_samples/os-availability-zone/availability-zone-post-resp.json diff --git a/doc/v3/api_samples/os-extended-availability-zone/server-get-resp.json b/doc/v3/api_samples/os-extended-availability-zone/server-get-resp.json index bbede8753963..c3962cac156a 100644 --- a/doc/v3/api_samples/os-extended-availability-zone/server-get-resp.json +++ b/doc/v3/api_samples/os-extended-availability-zone/server-get-resp.json @@ -1,5 +1,7 @@ { "server": { + "accessIPv4": "1.2.3.4", + "accessIPv6": "80fe::", "addresses": { "private": [ { @@ -15,7 +17,7 @@ "id": "1", "links": [ { - "href": "http://openstack.example.com/flavors/1", + "href": "http://openstack.example.com/openstack/flavors/1", "rel": "bookmark" } ] @@ -26,7 +28,7 @@ "id": "70a599e0-31e7-49b7-b260-868f441e862b", "links": [ { - "href": "http://openstack.example.com/images/70a599e0-31e7-49b7-b260-868f441e862b", + "href": "http://openstack.example.com/openstack/images/70a599e0-31e7-49b7-b260-868f441e862b", "rel": "bookmark" } ] @@ -34,11 +36,11 @@ "key_name": null, "links": [ { - "href": "http://openstack.example.com/v3/servers/f22e4521-d03a-4e9f-9fd3-016b9e227219", + "href": "http://openstack.example.com/v2/openstack/servers/f22e4521-d03a-4e9f-9fd3-016b9e227219", "rel": "self" }, { - "href": "http://openstack.example.com/servers/f22e4521-d03a-4e9f-9fd3-016b9e227219", + "href": "http://openstack.example.com/openstack/servers/f22e4521-d03a-4e9f-9fd3-016b9e227219", "rel": "bookmark" } ], diff --git a/doc/v3/api_samples/os-extended-availability-zone/servers-detail-resp.json b/doc/v3/api_samples/os-extended-availability-zone/servers-detail-resp.json index b0db0f910285..1a03b3380f69 100644 --- a/doc/v3/api_samples/os-extended-availability-zone/servers-detail-resp.json +++ b/doc/v3/api_samples/os-extended-availability-zone/servers-detail-resp.json @@ -1,6 +1,8 @@ { "servers": [ { + "accessIPv4": "1.2.3.4", + "accessIPv6": "80fe::", "addresses": { "private": [ { @@ -16,7 +18,7 @@ "id": "1", "links": [ { - "href": "http://openstack.example.com/flavors/1", + "href": "http://openstack.example.com/openstack/flavors/1", "rel": "bookmark" } ] @@ -27,7 +29,7 @@ "id": "70a599e0-31e7-49b7-b260-868f441e862b", "links": [ { - "href": "http://openstack.example.com/images/70a599e0-31e7-49b7-b260-868f441e862b", + "href": "http://openstack.example.com/openstack/images/70a599e0-31e7-49b7-b260-868f441e862b", "rel": "bookmark" } ] @@ -35,11 +37,11 @@ "key_name": null, "links": [ { - "href": "http://openstack.example.com/v3/servers/55f43fa2-dc7c-4c0b-b21a-76f9abe516f9", + "href": "http://openstack.example.com/v2/openstack/servers/55f43fa2-dc7c-4c0b-b21a-76f9abe516f9", "rel": "self" }, { - "href": "http://openstack.example.com/servers/55f43fa2-dc7c-4c0b-b21a-76f9abe516f9", + "href": "http://openstack.example.com/openstack/servers/55f43fa2-dc7c-4c0b-b21a-76f9abe516f9", "rel": "bookmark" } ], diff --git a/nova/tests/functional/api_samples/OS-EXT-AZ/server-get-resp.json.tpl b/nova/tests/functional/api_samples/OS-EXT-AZ/server-get-resp.json.tpl deleted file mode 100644 index a852da12074e..000000000000 --- a/nova/tests/functional/api_samples/OS-EXT-AZ/server-get-resp.json.tpl +++ /dev/null @@ -1,55 +0,0 @@ -{ - "server": { - "updated": "%(isotime)s", - "created": "%(isotime)s", - "OS-EXT-AZ:availability_zone": "nova", - "accessIPv4": "", - "accessIPv6": "", - "addresses": { - "private": [ - { - "addr": "%(ip)s", - "version": 4 - } - ] - }, - "flavor": { - "id": "1", - "links": [ - { - "href": "%(host)s/openstack/flavors/1", - "rel": "bookmark" - } - ] - }, - "hostId": "%(hostid)s", - "id": "%(uuid)s", - "image": { - "id": "%(uuid)s", - "links": [ - { - "href": "%(host)s/openstack/images/%(uuid)s", - "rel": "bookmark" - } - ] - }, - "links": [ - { - "href": "%(host)s/v2/openstack/servers/%(uuid)s", - "rel": "self" - }, - { - "href": "%(host)s/openstack/servers/%(uuid)s", - "rel": "bookmark" - } - ], - "metadata": { - "My Server Name": "Apache1" - }, - "name": "new-server-test", - "progress": 0, - "status": "ACTIVE", - "tenant_id": "openstack", - "user_id": "fake" - } -} diff --git a/nova/tests/functional/api_samples/OS-EXT-AZ/servers-detail-resp.json.tpl b/nova/tests/functional/api_samples/OS-EXT-AZ/servers-detail-resp.json.tpl deleted file mode 100644 index b0ddc7c051c8..000000000000 --- a/nova/tests/functional/api_samples/OS-EXT-AZ/servers-detail-resp.json.tpl +++ /dev/null @@ -1,57 +0,0 @@ -{ - "servers": [ - { - "updated": "%(isotime)s", - "created": "%(isotime)s", - "OS-EXT-AZ:availability_zone": "nova", - "accessIPv4": "", - "accessIPv6": "", - "addresses": { - "private": [ - { - "addr": "%(ip)s", - "version": 4 - } - ] - }, - "flavor": { - "id": "1", - "links": [ - { - "href": "%(host)s/openstack/flavors/1", - "rel": "bookmark" - } - ] - }, - "hostId": "%(hostid)s", - "id": "%(uuid)s", - "image": { - "id": "%(uuid)s", - "links": [ - { - "href": "%(host)s/openstack/images/%(uuid)s", - "rel": "bookmark" - } - ] - }, - "links": [ - { - "href": "%(host)s/v2/openstack/servers/%(id)s", - "rel": "self" - }, - { - "href": "%(host)s/openstack/servers/%(id)s", - "rel": "bookmark" - } - ], - "metadata": { - "My Server Name": "Apache1" - }, - "name": "new-server-test", - "progress": 0, - "status": "ACTIVE", - "tenant_id": "openstack", - "user_id": "fake" - } - ] -} diff --git a/nova/tests/functional/api_samples/os-availability-zone/availability-zone-details-resp.json.tpl b/nova/tests/functional/api_samples/os-availability-zone/availability-zone-details-resp.json.tpl deleted file mode 100644 index 07529dfc938a..000000000000 --- a/nova/tests/functional/api_samples/os-availability-zone/availability-zone-details-resp.json.tpl +++ /dev/null @@ -1,48 +0,0 @@ -{ - "availabilityZoneInfo": [ - { - "zoneName": "zone-1", - "zoneState": { - "available": true - }, - "hosts": { - "fake_host-1": { - "nova-compute": { - "active": true, - "available": true, - "updated_at": "2012-12-26T14:45:25.000000" - } - } - } - }, - { - "zoneName": "internal", - "zoneState": { - "available": true - }, - "hosts": { - "fake_host-1": { - "nova-sched": { - "active": true, - "available": true, - "updated_at": "2012-12-26T14:45:25.000000" - } - }, - "fake_host-2": { - "nova-network": { - "active": true, - "available": false, - "updated_at": "2012-12-26T14:45:24.000000" - } - } - } - }, - { - "zoneName": "zone-2", - "zoneState": { - "available": false - }, - "hosts": null - } - ] -} \ No newline at end of file diff --git a/nova/tests/functional/api_samples/os-availability-zone/availability-zone-get-resp.json.tpl b/nova/tests/functional/api_samples/os-availability-zone/availability-zone-get-resp.json.tpl deleted file mode 100644 index c512d182fb84..000000000000 --- a/nova/tests/functional/api_samples/os-availability-zone/availability-zone-get-resp.json.tpl +++ /dev/null @@ -1,18 +0,0 @@ -{ - "availabilityZoneInfo": [ - { - "zoneName": "zone-1", - "zoneState": { - "available": true - }, - "hosts": null - }, - { - "zoneName": "zone-2", - "zoneState": { - "available": false - }, - "hosts": null - } - ] -} \ No newline at end of file diff --git a/nova/tests/functional/test_api_samples.py b/nova/tests/functional/test_api_samples.py index 91cbc930930a..c78be6f35b12 100644 --- a/nova/tests/functional/test_api_samples.py +++ b/nova/tests/functional/test_api_samples.py @@ -247,22 +247,6 @@ class UsedLimitsForAdminSamplesJsonTest(ApiSampleTestBaseV2): response, 200) -class AvailabilityZoneJsonTest(ServersSampleBase): - extension_name = ("nova.api.openstack.compute.contrib.availability_zone." - "Availability_zone") - - def test_create_availability_zone(self): - subs = { - 'image_id': fake.get_valid_image_id(), - 'host': self._get_host(), - "availability_zone": "nova" - } - response = self._do_post('servers', 'availability-zone-post-req', subs) - subs.update(self._get_regexes()) - self._verify_response('availability-zone-post-resp', subs, - response, 202) - - class ExtendedIpsSampleJsonTests(ServersSampleBase): extension_name = ("nova.api.openstack.compute.contrib" ".extended_ips.Extended_ips") @@ -357,26 +341,6 @@ class BlockDeviceMappingV2BootJsonTest(ServersSampleBase): return self._post_server() -class ExtendedAvailabilityZoneJsonTests(ServersSampleBase): - extension_name = ("nova.api.openstack.compute.contrib" - ".extended_availability_zone" - ".Extended_availability_zone") - - def test_show(self): - uuid = self._post_server() - response = self._do_get('servers/%s' % uuid) - subs = self._get_regexes() - subs['hostid'] = '[a-f0-9]+' - self._verify_response('server-get-resp', subs, response, 200) - - def test_detail(self): - self._post_server() - response = self._do_get('servers/detail') - subs = self._get_regexes() - subs['hostid'] = '[a-f0-9]+' - self._verify_response('servers-detail-resp', subs, response, 200) - - class ServerGroupQuotas_LimitsSampleJsonTest(LimitsSampleJsonTest): sample_dir = None extension_name = ("nova.api.openstack.compute.contrib." diff --git a/nova/tests/functional/api_samples/os-availability-zone/availability-zone-post-req.json.tpl b/nova/tests/functional/v3/api_samples/os-availability-zone/availability-zone-post-req.json.tpl similarity index 100% rename from nova/tests/functional/api_samples/os-availability-zone/availability-zone-post-req.json.tpl rename to nova/tests/functional/v3/api_samples/os-availability-zone/availability-zone-post-req.json.tpl diff --git a/nova/tests/functional/api_samples/os-availability-zone/availability-zone-post-resp.json.tpl b/nova/tests/functional/v3/api_samples/os-availability-zone/availability-zone-post-resp.json.tpl similarity index 100% rename from nova/tests/functional/api_samples/os-availability-zone/availability-zone-post-resp.json.tpl rename to nova/tests/functional/v3/api_samples/os-availability-zone/availability-zone-post-resp.json.tpl diff --git a/nova/tests/functional/v3/api_samples/os-extended-availability-zone/server-get-resp.json.tpl b/nova/tests/functional/v3/api_samples/os-extended-availability-zone/server-get-resp.json.tpl index d6436738effe..9195edad6c5f 100644 --- a/nova/tests/functional/v3/api_samples/os-extended-availability-zone/server-get-resp.json.tpl +++ b/nova/tests/functional/v3/api_samples/os-extended-availability-zone/server-get-resp.json.tpl @@ -3,6 +3,8 @@ "updated": "%(isotime)s", "created": "%(isotime)s", "OS-EXT-AZ:availability_zone": "nova", + "accessIPv4": "%(access_ip_v4)s", + "accessIPv6": "%(access_ip_v6)s", "addresses": { "private": [ { @@ -17,7 +19,7 @@ "id": "1", "links": [ { - "href": "%(host)s/flavors/1", + "href": "%(host)s/openstack/flavors/1", "rel": "bookmark" } ] @@ -28,18 +30,18 @@ "id": "%(uuid)s", "links": [ { - "href": "%(host)s/images/%(uuid)s", + "href": "%(host)s/openstack/images/%(uuid)s", "rel": "bookmark" } ] }, "links": [ { - "href": "%(host)s/v3/servers/%(uuid)s", + "href": "%(host)s/v2/openstack/servers/%(uuid)s", "rel": "self" }, { - "href": "%(host)s/servers/%(uuid)s", + "href": "%(host)s/openstack/servers/%(uuid)s", "rel": "bookmark" } ], diff --git a/nova/tests/functional/v3/api_samples/os-extended-availability-zone/servers-detail-resp.json.tpl b/nova/tests/functional/v3/api_samples/os-extended-availability-zone/servers-detail-resp.json.tpl index c81acaf935db..2671d014bada 100644 --- a/nova/tests/functional/v3/api_samples/os-extended-availability-zone/servers-detail-resp.json.tpl +++ b/nova/tests/functional/v3/api_samples/os-extended-availability-zone/servers-detail-resp.json.tpl @@ -4,6 +4,8 @@ "updated": "%(isotime)s", "created": "%(isotime)s", "OS-EXT-AZ:availability_zone": "nova", + "accessIPv4": "%(access_ip_v4)s", + "accessIPv6": "%(access_ip_v6)s", "addresses": { "private": [ { @@ -18,7 +20,7 @@ "id": "1", "links": [ { - "href": "%(host)s/flavors/1", + "href": "%(host)s/openstack/flavors/1", "rel": "bookmark" } ] @@ -29,18 +31,18 @@ "id": "%(uuid)s", "links": [ { - "href": "%(host)s/images/%(uuid)s", + "href": "%(host)s/openstack/images/%(uuid)s", "rel": "bookmark" } ] }, "links": [ { - "href": "%(host)s/v3/servers/%(id)s", + "href": "%(host)s/v2/openstack/servers/%(id)s", "rel": "self" }, { - "href": "%(host)s/servers/%(id)s", + "href": "%(host)s/openstack/servers/%(id)s", "rel": "bookmark" } ], diff --git a/nova/tests/functional/v3/test_availability_zone.py b/nova/tests/functional/v3/test_availability_zone.py index 269b7c651d3e..e0caecfcc7c7 100644 --- a/nova/tests/functional/v3/test_availability_zone.py +++ b/nova/tests/functional/v3/test_availability_zone.py @@ -18,11 +18,26 @@ from nova.tests.functional.v3 import test_servers CONF = cfg.CONF CONF.import_opt('manager', 'nova.cells.opts', group='cells') +CONF.import_opt('osapi_compute_extension', + 'nova.api.openstack.compute.extensions') class AvailabilityZoneJsonTest(test_servers.ServersSampleBase): ADMIN_API = True extension_name = "os-availability-zone" + extra_extensions_to_load = ["os-access-ips"] + # TODO(gmann): Overriding '_api_version' till all functional tests + # are merged between v2 and v2.1. After that base class variable + # itself can be changed to 'v2' + _api_version = 'v2' + + def _get_flags(self): + f = super(AvailabilityZoneJsonTest, self)._get_flags() + f['osapi_compute_extension'] = CONF.osapi_compute_extension[:] + f['osapi_compute_extension'].append( + 'nova.api.openstack.compute.contrib.availability_zone.' + 'Availability_zone') + return f def _setup_services(self): self.conductor = self.start_service('conductor', diff --git a/nova/tests/functional/v3/test_extended_availability_zone.py b/nova/tests/functional/v3/test_extended_availability_zone.py index 50a6dad4dddf..8b97a8845507 100644 --- a/nova/tests/functional/v3/test_extended_availability_zone.py +++ b/nova/tests/functional/v3/test_extended_availability_zone.py @@ -13,17 +13,45 @@ # License for the specific language governing permissions and limitations # under the License. +from oslo_config import cfg + from nova.tests.functional.v3 import test_servers +CONF = cfg.CONF +CONF.import_opt('osapi_compute_extension', + 'nova.api.openstack.compute.extensions') + class ExtendedAvailabilityZoneJsonTests(test_servers.ServersSampleBase): extension_name = "os-extended-availability-zone" + extra_extensions_to_load = ["os-access-ips"] + # TODO(gmann): Overriding '_api_version' till all functional tests + # are merged between v2 and v2.1. After that base class variable + # itself can be changed to 'v2' + _api_version = 'v2' + + def _get_flags(self): + f = super(ExtendedAvailabilityZoneJsonTests, self)._get_flags() + f['osapi_compute_extension'] = CONF.osapi_compute_extension[:] + f['osapi_compute_extension'].append( + 'nova.api.openstack.compute.contrib.keypairs.Keypairs') + f['osapi_compute_extension'].append( + 'nova.api.openstack.compute.contrib.extended_availability_zone.' + 'Extended_availability_zone') + f['osapi_compute_extension'].append( + 'nova.api.openstack.compute.contrib.extended_ips.Extended_ips') + f['osapi_compute_extension'].append( + 'nova.api.openstack.compute.contrib.extended_ips_mac.' + 'Extended_ips_mac') + return f def test_show(self): uuid = self._post_server() response = self._do_get('servers/%s' % uuid) subs = self._get_regexes() subs['hostid'] = '[a-f0-9]+' + subs['access_ip_v4'] = '1.2.3.4' + subs['access_ip_v6'] = '80fe::' self._verify_response('server-get-resp', subs, response, 200) def test_detail(self): @@ -31,4 +59,6 @@ class ExtendedAvailabilityZoneJsonTests(test_servers.ServersSampleBase): response = self._do_get('servers/detail') subs = self._get_regexes() subs['hostid'] = '[a-f0-9]+' + subs['access_ip_v4'] = '1.2.3.4' + subs['access_ip_v6'] = '80fe::' self._verify_response('servers-detail-resp', subs, response, 200)