summaryrefslogtreecommitdiffstats
path: root/nova/tests
diff options
context:
space:
mode:
authorivan-zhu <bozhu@linux.vnet.ibm.com>2012-10-24 16:13:01 +0800
committerivan-zhu <bozhu@linux.vnet.ibm.com>2012-10-25 12:04:58 +0800
commitd9c95e4c8bb0a2d9d7f73600d82bfd32318c37a6 (patch)
tree176f6c3e6f1ef0785c7610b95bb407c869a6831a /nova/tests
parentdf1fb2978c854beb58646406796c2bef2bfb047f (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.py30
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')