diff options
author | Jenkins <jenkins@review.openstack.org> | 2015-06-09 01:47:41 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2015-06-09 01:47:41 +0000 |
commit | 7330b3f90c4c1a5b066ed6adaebd444c2bdcea61 (patch) | |
tree | e0d37d3dc82806d28129af6b1d44fe5c12f8c471 | |
parent | 88dcf64b47b82ba3b85ffd3092cd41ac5d50afbf (diff) | |
parent | f036a54801df3437bb086a5c1594b11754487839 (diff) | |
download | nova-7330b3f90c4c1a5b066ed6adaebd444c2bdcea61.tar.gz |
Merge "Merge extended-volume functional tests of v2 and v2.1"
12 files changed, 60 insertions, 280 deletions
diff --git a/doc/api_samples/os-extended-volumes/server-get-resp.json b/doc/api_samples/os-extended-volumes/server-get-resp.json deleted file mode 100644 index ce9e6afa68..0000000000 --- a/doc/api_samples/os-extended-volumes/server-get-resp.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "server": { - "accessIPv4": "", - "accessIPv6": "", - "addresses": { - "private": [ - { - "addr": "192.168.0.3", - "version": 4 - } - ] - }, - "created": "2013-02-07T19:35:09Z", - "flavor": { - "id": "1", - "links": [ - { - "href": "http://openstack.example.com/openstack/flavors/1", - "rel": "bookmark" - } - ] - }, - "hostId": "570eff4776ab310707d11d181037337197086998a8b3305c90bf87c8", - "id": "ecb5e433-fa75-4db2-af3d-a29ae8618edc", - "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/ecb5e433-fa75-4db2-af3d-a29ae8618edc", - "rel": "self" - }, - { - "href": "http://openstack.example.com/openstack/servers/ecb5e433-fa75-4db2-af3d-a29ae8618edc", - "rel": "bookmark" - } - ], - "metadata": { - "My Server Name": "Apache1" - }, - "name": "new-server-test", - "progress": 0, - "status": "ACTIVE", - "tenant_id": "openstack", - "updated": "2013-02-07T19:35:10Z", - "user_id": "fake", - "os-extended-volumes:volumes_attached": [ - {"id": "volume_id1"}, - {"id": "volume_id2"} - ] - } -}
\ No newline at end of file diff --git a/doc/api_samples/os-extended-volumes/servers-detail-resp.json b/doc/api_samples/os-extended-volumes/servers-detail-resp.json deleted file mode 100644 index 9bfd77685a..0000000000 --- a/doc/api_samples/os-extended-volumes/servers-detail-resp.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "servers": [ - { - "accessIPv4": "", - "accessIPv6": "", - "addresses": { - "private": [ - { - "addr": "192.168.0.3", - "version": 4 - } - ] - }, - "created": "2012-12-05T07:34:10Z", - "flavor": { - "id": "1", - "links": [ - { - "href": "http://openstack.example.com/openstack/flavors/1", - "rel": "bookmark" - } - ] - }, - "hostId": "585aa01f94eca692eff9f77ffe3eab866d8a819e97397e28c5c7df12", - "id": "030758aa-5c41-41c6-8fb4-29d44eb96a85", - "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/030758aa-5c41-41c6-8fb4-29d44eb96a85", - "rel": "self" - }, - { - "href": "http://openstack.example.com/openstack/servers/030758aa-5c41-41c6-8fb4-29d44eb96a85", - "rel": "bookmark" - } - ], - "metadata": { - "My Server Name": "Apache1" - }, - "name": "new-server-test", - "progress": 0, - "status": "ACTIVE", - "tenant_id": "openstack", - "updated": "2012-12-05T07:34:10Z", - "user_id": "fake", - "os-extended-volumes:volumes_attached": [ - {"id": "volume_id1"}, - {"id": "volume_id2"} - ] - } - ] -}
\ No newline at end of file diff --git a/doc/v3/api_samples/os-extended-volumes/server-get-resp.json b/doc/v3/api_samples/os-extended-volumes/server-get-resp.json index 4037f17e47..33d6e8d2d6 100644 --- a/doc/v3/api_samples/os-extended-volumes/server-get-resp.json +++ b/doc/v3/api_samples/os-extended-volumes/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/7d62983e-23df-4320-bc89-bbc77f2a2e40", + "href": "http://openstack.example.com/v2/openstack/servers/7d62983e-23df-4320-bc89-bbc77f2a2e40", "rel": "self" }, { - "href": "http://openstack.example.com/servers/7d62983e-23df-4320-bc89-bbc77f2a2e40", + "href": "http://openstack.example.com/openstack/servers/7d62983e-23df-4320-bc89-bbc77f2a2e40", "rel": "bookmark" } ], diff --git a/doc/v3/api_samples/os-extended-volumes/servers-detail-resp.json b/doc/v3/api_samples/os-extended-volumes/servers-detail-resp.json index 68333b11dc..7e3481105f 100644 --- a/doc/v3/api_samples/os-extended-volumes/servers-detail-resp.json +++ b/doc/v3/api_samples/os-extended-volumes/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/8e479732-7701-48cd-af7a-04d84f51b742", + "href": "http://openstack.example.com/v2/openstack/servers/8e479732-7701-48cd-af7a-04d84f51b742", "rel": "self" }, { - "href": "http://openstack.example.com/servers/8e479732-7701-48cd-af7a-04d84f51b742", + "href": "http://openstack.example.com/openstack/servers/8e479732-7701-48cd-af7a-04d84f51b742", "rel": "bookmark" } ], diff --git a/doc/v3/api_samples/os-extended-volumes/v2.3/server-get-resp.json b/doc/v3/api_samples/os-extended-volumes/v2.3/server-get-resp.json index e286cad777..ff9ee413cd 100644 --- a/doc/v3/api_samples/os-extended-volumes/v2.3/server-get-resp.json +++ b/doc/v3/api_samples/os-extended-volumes/v2.3/server-get-resp.json @@ -34,11 +34,11 @@ "key_name": null, "links": [ { - "href": "http://openstack.example.com/v3/servers/7d62983e-23df-4320-bc89-bbc77f2a2e40", + "href": "http://openstack.example.com/v2/openstack/servers/7d62983e-23df-4320-bc89-bbc77f2a2e40", "rel": "self" }, { - "href": "http://openstack.example.com/servers/7d62983e-23df-4320-bc89-bbc77f2a2e40", + "href": "http://openstack.example.com/openstack/servers/7d62983e-23df-4320-bc89-bbc77f2a2e40", "rel": "bookmark" } ], diff --git a/doc/v3/api_samples/os-extended-volumes/v2.3/servers-detail-resp.json b/doc/v3/api_samples/os-extended-volumes/v2.3/servers-detail-resp.json index a1b37c3d00..4e4298f2ea 100644 --- a/doc/v3/api_samples/os-extended-volumes/v2.3/servers-detail-resp.json +++ b/doc/v3/api_samples/os-extended-volumes/v2.3/servers-detail-resp.json @@ -35,11 +35,11 @@ "key_name": null, "links": [ { - "href": "http://openstack.example.com/v3/servers/8e479732-7701-48cd-af7a-04d84f51b742", + "href": "http://openstack.example.com/v2/openstack/servers/8e479732-7701-48cd-af7a-04d84f51b742", "rel": "self" }, { - "href": "http://openstack.example.com/servers/8e479732-7701-48cd-af7a-04d84f51b742", + "href": "http://openstack.example.com/openstack/servers/8e479732-7701-48cd-af7a-04d84f51b742", "rel": "bookmark" } ], diff --git a/nova/tests/functional/api_samples/os-extended-volumes/server-get-resp.json.tpl b/nova/tests/functional/api_samples/os-extended-volumes/server-get-resp.json.tpl deleted file mode 100644 index 70b1deabe2..0000000000 --- a/nova/tests/functional/api_samples/os-extended-volumes/server-get-resp.json.tpl +++ /dev/null @@ -1,58 +0,0 @@ -{ - "server": { - "accessIPv4": "", - "accessIPv6": "", - "addresses": { - "private": [ - { - "addr": "%(ip)s", - "version": 4 - } - ] - }, - "created": "%(isotime)s", - "flavor": { - "id": "1", - "links": [ - { - "href": "%(host)s/openstack/flavors/1", - "rel": "bookmark" - } - ] - }, - "hostId": "%(hostid)s", - "id": "%(id)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", - "updated": "%(isotime)s", - "user_id": "fake", - "os-extended-volumes:volumes_attached": [ - {"id": "volume_id1"}, - {"id": "volume_id2"} - ] - } -} diff --git a/nova/tests/functional/api_samples/os-extended-volumes/servers-detail-resp.json.tpl b/nova/tests/functional/api_samples/os-extended-volumes/servers-detail-resp.json.tpl deleted file mode 100644 index 1962d6a6af..0000000000 --- a/nova/tests/functional/api_samples/os-extended-volumes/servers-detail-resp.json.tpl +++ /dev/null @@ -1,59 +0,0 @@ -{ - "servers": [ - { - "status": "ACTIVE", - "updated": "%(isotime)s", - "user_id": "fake", - "addresses": { - "private": [ - { - "addr": "%(ip)s", - "version": 4 - } - ] - }, - "links": [ - { - "href": "%(host)s/v2/openstack/servers/%(id)s", - "rel": "self" - }, - { - "href": "%(host)s/openstack/servers/%(id)s", - "rel": "bookmark" - } - ], - "created": "%(isotime)s", - "name": "new-server-test", - "image": { - "id": "%(uuid)s", - "links": [ - { - "href": "%(host)s/openstack/images/%(uuid)s", - "rel": "bookmark" - } - ] - }, - "id": "%(uuid)s", - "accessIPv4": "", - "accessIPv6": "", - "tenant_id": "openstack", - "progress": 0, - "flavor": { - "id": "1", - "links": [ - { - "href": "%(host)s/openstack/flavors/1", - "rel": "bookmark" - } - ] - }, - "hostId": "%(hostid)s", - "metadata": { - "My Server Name": "Apache1" - }, - "os-extended-volumes:volumes_attached": [ - {"id": "volume_id1"}, - {"id": "volume_id2"} - ] - }] -} diff --git a/nova/tests/functional/test_api_samples.py b/nova/tests/functional/test_api_samples.py index fca0859cad..198c0b34f2 100644 --- a/nova/tests/functional/test_api_samples.py +++ b/nova/tests/functional/test_api_samples.py @@ -37,7 +37,6 @@ from nova.cloudpipe import pipelib from nova.compute import api as compute_api from nova.compute import cells_api as cells_api from nova.console import manager as console_manager # noqa - only for cfg -from nova import db from nova.network import api as network_api from nova.network.neutronv2 import api as neutron_api # noqa - only for cfg from nova import objects @@ -862,30 +861,6 @@ class ExtendedIpsMacSampleJsonTests(ServersSampleBase): self._verify_response('servers-detail-resp', subs, response, 200) -class ExtendedVolumesSampleJsonTests(ServersSampleBase): - extension_name = ("nova.api.openstack.compute.contrib" - ".extended_volumes.Extended_volumes") - - def test_show(self): - uuid = self._post_server() - self.stubs.Set(db, 'block_device_mapping_get_all_by_instance', - fakes.stub_bdm_get_all_by_instance) - 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): - uuid = self._post_server() - self.stubs.Set(db, 'block_device_mapping_get_all_by_instance', - fakes.stub_bdm_get_all_by_instance) - response = self._do_get('servers/detail') - subs = self._get_regexes() - subs['id'] = uuid - subs['hostid'] = '[a-f0-9]+' - self._verify_response('servers-detail-resp', subs, response, 200) - - class ExtendedVIFNetSampleJsonTests(ServersSampleBase): extension_name = ("nova.api.openstack.compute.contrib" ".extended_virtual_interfaces_net.Extended_virtual_interfaces_net") diff --git a/nova/tests/functional/v3/api_samples/os-extended-volumes/server-get-resp.json.tpl b/nova/tests/functional/v3/api_samples/os-extended-volumes/server-get-resp.json.tpl index 1a28dd80ef..a72285b940 100644 --- a/nova/tests/functional/v3/api_samples/os-extended-volumes/server-get-resp.json.tpl +++ b/nova/tests/functional/v3/api_samples/os-extended-volumes/server-get-resp.json.tpl @@ -1,5 +1,7 @@ { "server": { + "accessIPv4": "%(access_ip_v4)s", + "accessIPv6": "%(access_ip_v6)s", "addresses": { "private": [ { @@ -15,7 +17,7 @@ "id": "1", "links": [ { - "href": "%(host)s/flavors/1", + "href": "%(host)s/openstack/flavors/1", "rel": "bookmark" } ] @@ -26,18 +28,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-volumes/servers-detail-resp.json.tpl b/nova/tests/functional/v3/api_samples/os-extended-volumes/servers-detail-resp.json.tpl index bb8a9bb9cb..4a756af99c 100644 --- a/nova/tests/functional/v3/api_samples/os-extended-volumes/servers-detail-resp.json.tpl +++ b/nova/tests/functional/v3/api_samples/os-extended-volumes/servers-detail-resp.json.tpl @@ -3,6 +3,8 @@ { "updated": "%(isotime)s", "created": "%(isotime)s", + "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/%(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_extended_volumes.py b/nova/tests/functional/v3/test_extended_volumes.py index 32bdaae8a8..8db84c0091 100644 --- a/nova/tests/functional/v3/test_extended_volumes.py +++ b/nova/tests/functional/v3/test_extended_volumes.py @@ -13,6 +13,8 @@ # License for the specific language governing permissions and limitations # under the License. +from oslo_config import cfg + from nova.compute import api as compute_api from nova import db from nova.tests.functional.v3 import test_servers @@ -20,9 +22,35 @@ from nova.tests.unit.api.openstack import fakes from nova.tests.unit import fake_block_device from nova.tests.unit import fake_instance +CONF = cfg.CONF +CONF.import_opt('osapi_compute_extension', + 'nova.api.openstack.compute.extensions') + class ExtendedVolumesSampleJsonTests(test_servers.ServersSampleBase): extension_name = "os-extended-volumes" + extra_extensions_to_load = ["os-access-ips"] + # TODO(park): 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(ExtendedVolumesSampleJsonTests, self)._get_flags() + f['osapi_compute_extension'] = CONF.osapi_compute_extension[:] + f['osapi_compute_extension'].append( + 'nova.api.openstack.compute.contrib.extended_volumes.' + 'Extended_volumes') + f['osapi_compute_extension'].append( + 'nova.api.openstack.compute.contrib.keypairs.' + 'Keypairs') + f['osapi_compute_extension'].append( + 'nova.api.openstack.compute.contrib.extended_ips_mac.' + 'Extended_ips_mac') + f['osapi_compute_extension'].append( + 'nova.api.openstack.compute.contrib.extended_ips.' + 'Extended_ips') + return f def _stub_compute_api_get_instance_bdms(self, server_id): @@ -61,6 +89,8 @@ class ExtendedVolumesSampleJsonTests(test_servers.ServersSampleBase): 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): @@ -71,4 +101,6 @@ class ExtendedVolumesSampleJsonTests(test_servers.ServersSampleBase): subs = self._get_regexes() subs['id'] = uuid 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) |