summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrian Lamar <brian.lamar@rackspace.com>2011-08-16 11:31:29 -0400
committerBrian Lamar <brian.lamar@rackspace.com>2011-08-16 11:31:29 -0400
commit44a278bc5a456c8eda74c61aaa68cfd74ee0d6e8 (patch)
treecfc61fef1732fe040133dc9a15b20d8729244ce3
parent7aef19a8757dc9558b1c0d83cb1fb08ac976cf5b (diff)
downloadnova-44a278bc5a456c8eda74c61aaa68cfd74ee0d6e8.tar.gz
nova-44a278bc5a456c8eda74c61aaa68cfd74ee0d6e8.tar.xz
nova-44a278bc5a456c8eda74c61aaa68cfd74ee0d6e8.zip
Small bug fix...don't cast DB objects to dicts.
-rw-r--r--nova/api/openstack/views/servers.py4
-rw-r--r--nova/tests/integrated/test_servers.py5
2 files changed, 7 insertions, 2 deletions
diff --git a/nova/api/openstack/views/servers.py b/nova/api/openstack/views/servers.py
index 8222f6766..60fdf54be 100644
--- a/nova/api/openstack/views/servers.py
+++ b/nova/api/openstack/views/servers.py
@@ -146,7 +146,7 @@ class ViewBuilderV11(ViewBuilder):
return response
def _build_image(self, response, inst):
- if 'image_ref' in dict(inst):
+ if inst.get("image_ref", None):
image_href = inst['image_ref']
image_id = str(common.get_id_from_href(image_href))
_bookmark = self.image_builder.generate_bookmark(image_id)
@@ -161,7 +161,7 @@ class ViewBuilderV11(ViewBuilder):
}
def _build_flavor(self, response, inst):
- if "instance_type" in dict(inst):
+ if inst.get("instance_type", None):
flavor_id = inst["instance_type"]['flavorid']
flavor_ref = self.flavor_builder.generate_href(flavor_id)
flavor_bookmark = self.flavor_builder.generate_bookmark(flavor_id)
diff --git a/nova/tests/integrated/test_servers.py b/nova/tests/integrated/test_servers.py
index 150279a95..725f6d529 100644
--- a/nova/tests/integrated/test_servers.py
+++ b/nova/tests/integrated/test_servers.py
@@ -27,6 +27,7 @@ LOG = logging.getLogger('nova.tests.integrated')
class ServersTest(integrated_helpers._IntegratedTestBase):
+
def test_get_servers(self):
"""Simple check that listing servers works."""
servers = self.api.get_servers()
@@ -103,6 +104,10 @@ class ServersTest(integrated_helpers._IntegratedTestBase):
# It should be available...
# TODO(justinsb): Mock doesn't yet do this...
#self.assertEqual('available', found_server['status'])
+ servers = self.api.get_servers(detail=True)
+ for server in servers:
+ self.assertTrue("image" in server)
+ self.assertTrue("flavor" in server)
self._delete_server(created_server_id)