summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--nova/api/openstack/servers.py3
-rw-r--r--nova/tests/api/openstack/test_servers.py29
2 files changed, 15 insertions, 17 deletions
diff --git a/nova/api/openstack/servers.py b/nova/api/openstack/servers.py
index 58eda53b9..323e6fda6 100644
--- a/nova/api/openstack/servers.py
+++ b/nova/api/openstack/servers.py
@@ -67,10 +67,9 @@ def _translate_detail_keys(inst):
inst_dict['addresses'] = dict(public=[], private=[])
inst_dict['metadata'] = {}
+ inst_dict['hostId'] = ''
if inst['host']:
inst_dict['hostId'] = hashlib.sha224(inst['host']).hexdigest()
- else:
- inst_dict['hostId'] = ''
return dict(server=inst_dict)
diff --git a/nova/tests/api/openstack/test_servers.py b/nova/tests/api/openstack/test_servers.py
index e615141ff..6c91b3f5b 100644
--- a/nova/tests/api/openstack/test_servers.py
+++ b/nova/tests/api/openstack/test_servers.py
@@ -43,10 +43,6 @@ def return_servers(context, user_id=1):
return [stub_instance(i, user_id) for i in xrange(5)]
-def return_servers_with_host(context, user_id=1):
- return [stub_instance(i, user_id, 1) for i in xrange(5)]
-
-
def return_security_group(context, instance_id, security_group_id):
pass
@@ -60,12 +56,8 @@ def instance_address(context, instance_id):
def stub_instance(id, user_id=1, with_hosts=False):
- if with_hosts:
- return Instance(id=id, state=0, image_id=10, user_id=user_id,
- display_name='server%s' % id, host='host%s' % (id % 2))
- else:
- return Instance(id=id, state=0, image_id=10, user_id=user_id,
- display_name='server%s' % id)
+ return Instance(id=id, state=0, image_id=10, user_id=user_id,
+ display_name='server%s' % id)
def fake_compute_api(cls, req, id):
@@ -246,20 +238,27 @@ class ServersTest(unittest.TestCase):
'''
We want to make sure that if two instances are on the same host, then
they return the same hostId. If two instances are on different hosts,
- they should return different hostId's. In this test, we get 5 instances
- back where 2 are on one host and 3 are on another.
+ they should return different hostId's. In this test, there are 5
+ instances - 2 on one host and 3 on another.
'''
+
+ def return_servers_with_host(context, user_id=1):
+ return [
+ Instance(id=i, state=0, image_id=10, user_id=user_id,
+ display_name='server%s' % i, host='host%s' % (i % 2))
+ for i in xrange(5)]
self.stubs.Set(nova.db.api, 'instance_get_all_by_user',
- return_servers_with_host)
+ return_servers_with_host)
+
req = webob.Request.blank('/v1.0/servers/detail')
res = req.get_response(fakes.wsgi_app())
res_dict = json.loads(res.body)
server_list = res_dict['servers']
host_ids = [server_list[0]['hostId'], server_list[1]['hostId']]
- self.assertTrue(host_ids[0])
- self.assertTrue(host_ids[1])
+ self.assertTrue(host_ids[0] and host_ids[1])
self.assertTrue(host_ids[0] != host_ids[1])
+
i = 0
for s in res_dict['servers']:
self.assertEqual(s['id'], i)