summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrian Waldon <brian.waldon@rackspace.com>2011-07-13 14:02:44 -0400
committerBrian Waldon <brian.waldon@rackspace.com>2011-07-13 14:02:44 -0400
commit132a47611b2fdbbb1e6c70a33bfd092854ea6e98 (patch)
tree3b8cd19765708cd9f173936eebba9954790e2a74
parent880121c8498530d9c0e9a38e983c4d4518c1189e (diff)
downloadnova-132a47611b2fdbbb1e6c70a33bfd092854ea6e98.tar.gz
nova-132a47611b2fdbbb1e6c70a33bfd092854ea6e98.tar.xz
nova-132a47611b2fdbbb1e6c70a33bfd092854ea6e98.zip
updating testing; simplifying instance-level code
-rw-r--r--nova/api/openstack/servers.py8
-rw-r--r--nova/api/openstack/views/addresses.py1
-rw-r--r--nova/api/openstack/views/servers.py2
-rw-r--r--nova/db/sqlalchemy/api.py2
-rw-r--r--nova/tests/api/openstack/test_servers.py24
5 files changed, 18 insertions, 19 deletions
diff --git a/nova/api/openstack/servers.py b/nova/api/openstack/servers.py
index 2cb27472a..5230f4d5c 100644
--- a/nova/api/openstack/servers.py
+++ b/nova/api/openstack/servers.py
@@ -489,13 +489,7 @@ class ControllerV11(Controller):
builder = nova.api.openstack.views.servers.ViewBuilderV11(
addresses_builder, flavor_builder, image_builder, base_url)
- context = req.environ['nova.context']
- interfaces = db.api.virtual_interface_get_by_instance(context,
- instance['id'])
- _instance = dict(instance)
- _instance['virtual_interfaces'] = interfaces
-
- return builder.build(_instance, is_detail=is_detail)
+ return builder.build(instance, is_detail=is_detail)
def _action_change_password(self, input_dict, req, id):
context = req.environ['nova.context']
diff --git a/nova/api/openstack/views/addresses.py b/nova/api/openstack/views/addresses.py
index c7464a7c5..b127ac38c 100644
--- a/nova/api/openstack/views/addresses.py
+++ b/nova/api/openstack/views/addresses.py
@@ -67,4 +67,3 @@ class ViewBuilderV11(ViewBuilder):
ip = {'addr': fixed_ip['address'], 'version': 4}
fixed_ips.append(ip)
return fixed_ips
-
diff --git a/nova/api/openstack/views/servers.py b/nova/api/openstack/views/servers.py
index 691cc48ca..a957aa58e 100644
--- a/nova/api/openstack/views/servers.py
+++ b/nova/api/openstack/views/servers.py
@@ -159,7 +159,7 @@ class ViewBuilderV11(ViewBuilder):
response["flavorRef"] = flavor_ref
def _build_addresses(self, response, inst):
- interfaces = inst['virtual_interfaces']
+ interfaces = inst.get('virtual_interfaces', [])
response['addresses'] = self.addresses_builder.build(interfaces)
def _build_extra(self, response, inst):
diff --git a/nova/db/sqlalchemy/api.py b/nova/db/sqlalchemy/api.py
index 95a34afa1..a831516a8 100644
--- a/nova/db/sqlalchemy/api.py
+++ b/nova/db/sqlalchemy/api.py
@@ -132,9 +132,9 @@ def require_instance_exists(f):
return wrapper
-
###################
+
@require_admin_context
def service_destroy(context, service_id):
session = get_session()
diff --git a/nova/tests/api/openstack/test_servers.py b/nova/tests/api/openstack/test_servers.py
index da2925798..7a9a89d1a 100644
--- a/nova/tests/api/openstack/test_servers.py
+++ b/nova/tests/api/openstack/test_servers.py
@@ -84,6 +84,12 @@ def return_server_with_addresses(private, public):
return _return_server
+def return_server_with_interfaces(interfaces):
+ def _return_server(context, id):
+ return stub_instance(id, interfaces=interfaces)
+ return _return_server
+
+
def return_server_with_power_state(power_state):
def _return_server(context, id):
return stub_instance(id, power_state=power_state)
@@ -136,10 +142,13 @@ def instance_addresses(context, instance_id):
def stub_instance(id, user_id=1, private_address=None, public_addresses=None,
host=None, power_state=0, reservation_id="",
- uuid=FAKE_UUID):
+ uuid=FAKE_UUID, interfaces=None):
metadata = []
metadata.append(InstanceMetadata(key='seq', value=id))
+ if interfaces is None:
+ interfaces = []
+
inst_type = instance_types.get_instance_type_by_flavor_id(1)
if public_addresses is None:
@@ -183,7 +192,8 @@ def stub_instance(id, user_id=1, private_address=None, public_addresses=None,
"display_description": "",
"locked": False,
"metadata": metadata,
- "uuid": uuid}
+ "uuid": uuid,
+ "virtual_interfaces": interfaces}
instance["fixed_ips"] = {
"address": private_address,
@@ -445,12 +455,8 @@ class ServersTest(test.TestCase):
],
},
]
-
- _return_vifs = return_virtual_interface_by_instance(interfaces)
- self.stubs.Set(nova.db.api,
- 'virtual_interface_get_by_instance',
- _return_vifs)
-
+ new_return_server = return_server_with_interfaces(interfaces)
+ self.stubs.Set(nova.db.api, 'instance_get', new_return_server)
req = webob.Request.blank('/v1.1/servers/1')
res = req.get_response(fakes.wsgi_app())
@@ -932,13 +938,13 @@ class ServersTest(test.TestCase):
res = req.get_response(fakes.wsgi_app())
+ self.assertEqual(res.status_int, 200)
server = json.loads(res.body)['server']
self.assertEqual(16, len(server['adminPass']))
self.assertEqual('server_test', server['name'])
self.assertEqual(1, server['id'])
self.assertEqual(flavor_ref, server['flavorRef'])
self.assertEqual(image_href, server['imageRef'])
- self.assertEqual(res.status_int, 200)
def test_create_instance_v1_1_bad_href(self):
self._setup_for_create_instance()