summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJay Pipes <jaypipes@gmail.com>2012-12-26 14:53:53 -0500
committerJay Pipes <jaypipes@gmail.com>2012-12-26 14:53:53 -0500
commitfa16f2b68603be04cb5f4e915625181ac6c119eb (patch)
treea59e66df652510c156538bbc9b5a8b056d30b00c
parent5f697f64e5c445ba1b62c82d9167fd6b9c7256d2 (diff)
downloadnova-fa16f2b68603be04cb5f4e915625181ac6c119eb.tar.gz
nova-fa16f2b68603be04cb5f4e915625181ac6c119eb.tar.xz
nova-fa16f2b68603be04cb5f4e915625181ac6c119eb.zip
Remove improper NotFound except block in list servers
Added a couple tests to verify that NotFound was actually never raised when no results are returned from list servers or list servers details, and then removed the except blocks from the controller. Change-Id: I36856066b9e4c4e3f7b85ddf8facb35204034838 fixes: lp bug #1089385
-rw-r--r--nova/api/openstack/compute/servers.py6
-rw-r--r--nova/tests/api/openstack/compute/test_servers.py24
2 files changed, 24 insertions, 6 deletions
diff --git a/nova/api/openstack/compute/servers.py b/nova/api/openstack/compute/servers.py
index a62740681..c36d53993 100644
--- a/nova/api/openstack/compute/servers.py
+++ b/nova/api/openstack/compute/servers.py
@@ -452,9 +452,6 @@ class Controller(wsgi.Controller):
servers = self._get_servers(req, is_detail=False)
except exception.Invalid as err:
raise exc.HTTPBadRequest(explanation=str(err))
- except exception.NotFound:
- msg = _("Instance could not be found")
- raise exc.HTTPNotFound(explanation=msg)
return servers
@wsgi.serializers(xml=ServersTemplate)
@@ -464,9 +461,6 @@ class Controller(wsgi.Controller):
servers = self._get_servers(req, is_detail=True)
except exception.Invalid as err:
raise exc.HTTPBadRequest(explanation=str(err))
- except exception.NotFound as err:
- msg = _("Instance could not be found")
- raise exc.HTTPNotFound(explanation=msg)
return servers
def _add_instance_faults(self, ctxt, instances):
diff --git a/nova/tests/api/openstack/compute/test_servers.py b/nova/tests/api/openstack/compute/test_servers.py
index 15be74d15..38954ec43 100644
--- a/nova/tests/api/openstack/compute/test_servers.py
+++ b/nova/tests/api/openstack/compute/test_servers.py
@@ -77,6 +77,10 @@ def return_servers_by_reservation(context, reservation_id=""):
reservation_id=reservation_id) for i in xrange(5)]
+def return_servers_empty(context, *args, **kwargs):
+ return []
+
+
def return_servers_by_reservation_empty(context, reservation_id=""):
return []
@@ -527,6 +531,16 @@ class ServersControllerTest(test.TestCase):
self.assertRaises(webob.exc.HTTPNotFound,
self.ips_controller.index, req, server_id)
+ def test_get_server_list_empty(self):
+ self.stubs.Set(db, 'instance_get_all_by_filters',
+ return_servers_empty)
+
+ req = fakes.HTTPRequest.blank('/v2/fake/servers')
+ res_dict = self.controller.index(req)
+
+ num_servers = len(res_dict['servers'])
+ self.assertEqual(0, num_servers)
+
def test_get_server_list_with_reservation_id(self):
self.stubs.Set(db, 'instance_get_all_by_reservation',
return_servers_by_reservation)
@@ -610,6 +624,16 @@ class ServersControllerTest(test.TestCase):
self.assertRaises(webob.exc.HTTPBadRequest,
self.controller.index, req)
+ def test_get_server_details_empty(self):
+ self.stubs.Set(db, 'instance_get_all_by_filters',
+ return_servers_empty)
+
+ req = fakes.HTTPRequest.blank('/v2/fake/servers/detail')
+ res_dict = self.controller.index(req)
+
+ num_servers = len(res_dict['servers'])
+ self.assertEqual(0, num_servers)
+
def test_get_server_details_with_limit(self):
req = fakes.HTTPRequest.blank('/v2/fake/servers/detail?limit=3')
res = self.controller.detail(req)