diff options
| author | ivan-zhu <bozhu@linux.vnet.ibm.com> | 2012-10-24 16:13:01 +0800 |
|---|---|---|
| committer | ivan-zhu <bozhu@linux.vnet.ibm.com> | 2012-10-25 12:04:58 +0800 |
| commit | d9c95e4c8bb0a2d9d7f73600d82bfd32318c37a6 (patch) | |
| tree | 176f6c3e6f1ef0785c7610b95bb407c869a6831a /nova/tests | |
| parent | df1fb2978c854beb58646406796c2bef2bfb047f (diff) | |
Support for nova client list hosts with specific zone
Implements one workitem of blueprint apis-for-nova-manage
This add an optional QUEY_STRING(zone=xxx) in /v1.1/{tenant_id}/os-hosts.
So we can also send /v1.1/{tenant_id}/os-hosts?zone=xxx now.
It will only return the hosts that availability_zone=xxx.
Change-Id: I89f2c0bf50f8ea1ef9f06da664f5c4b24098e5df
Diffstat (limited to 'nova/tests')
| -rw-r--r-- | nova/tests/api/openstack/compute/contrib/test_hosts.py | 30 |
1 files changed, 22 insertions, 8 deletions
diff --git a/nova/tests/api/openstack/compute/contrib/test_hosts.py b/nova/tests/api/openstack/compute/contrib/test_hosts.py index 570b13473..b2b5407f5 100644 --- a/nova/tests/api/openstack/compute/contrib/test_hosts.py +++ b/nova/tests/api/openstack/compute/contrib/test_hosts.py @@ -29,15 +29,18 @@ from nova import test FLAGS = flags.FLAGS LOG = logging.getLogger(__name__) HOST_LIST = [ - {"host_name": "host_c1", "service": "compute"}, - {"host_name": "host_c2", "service": "compute"}, - {"host_name": "host_v1", "service": "volume"}, - {"host_name": "host_v2", "service": "volume"}] + {"host_name": "host_c1", "service": "compute", "zone": "nova"}, + {"host_name": "host_c2", "service": "compute", "zone": "nonova"}, + {"host_name": "host_v1", "service": "volume", "zone": "nova"}, + {"host_name": "host_v2", "service": "volume", "zone": "nonova"}] +HOST_LIST_NOVA_ZONE = [ + {"host_name": "host_c1", "service": "compute", "zone": "nova"}, + {"host_name": "host_v1", "service": "volume", "zone": "nova"}] SERVICES_LIST = [ - {"host": "host_c1", "topic": "compute"}, - {"host": "host_c2", "topic": "compute"}, - {"host": "host_v1", "topic": "volume"}, - {"host": "host_v2", "topic": "volume"}] + {"host": "host_c1", "topic": "compute", "availability_zone": "nova"}, + {"host": "host_c2", "topic": "compute", "availability_zone": "nonova"}, + {"host": "host_v1", "topic": "volume", "availability_zone": "nova"}, + {"host": "host_v2", "topic": "volume", "availability_zone": "nonova"}] def stub_service_get_all(self, req): @@ -97,6 +100,12 @@ def _create_instance_dict(**kwargs): class FakeRequest(object): environ = {"nova.context": context.get_admin_context()} + GET = {} + + +class FakeRequestWithNovaZone(object): + environ = {"nova.context": context.get_admin_context()} + GET = {"zone": "nova"} class HostTestCase(test.TestCase): @@ -130,6 +139,11 @@ class HostTestCase(test.TestCase): if host["service"] == "compute"] self.assertEqual(compute_hosts, expected) + def test_list_hosts_with_zone(self): + req = FakeRequestWithNovaZone() + hosts = os_hosts._list_hosts(req) + self.assertEqual(hosts, HOST_LIST_NOVA_ZONE) + def test_disable_host(self): self._test_host_update('host_c1', 'status', 'disable', 'disabled') self._test_host_update('host_c2', 'status', 'disable', 'enabled') |
