summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Bogott <abogott@wikimedia.org>2012-07-12 01:26:02 -0500
committerAndrew Bogott <abogott@wikimedia.org>2012-07-12 01:26:02 -0500
commitb0da2c4f4ed492f11c343852442e447073a5af76 (patch)
treeb5d36eec80437ab10b33dcb9cd9630dc19a50620
parent6d9a3e62b073f294330d57a12378c1f6e58bd970 (diff)
When over quota for floating ips, return HTTPRequestEntityTooLarge.
Previously we were returning a generic Internal Server Error which seems dumb. Fixes bug 1021721. Change-Id: Ia30b8de22bcc00d159bb4894ab4dc5f4870c346b
-rw-r--r--nova/api/openstack/compute/contrib/floating_ips.py2
-rw-r--r--nova/tests/api/openstack/compute/contrib/test_floating_ips.py3
2 files changed, 3 insertions, 2 deletions
diff --git a/nova/api/openstack/compute/contrib/floating_ips.py b/nova/api/openstack/compute/contrib/floating_ips.py
index ed5f61d53..df25e4fd2 100644
--- a/nova/api/openstack/compute/contrib/floating_ips.py
+++ b/nova/api/openstack/compute/contrib/floating_ips.py
@@ -174,7 +174,7 @@ class FloatingIPController(object):
msg = _("No more floating ips in pool %s.") % pool
else:
msg = _("No more floating ips available.")
- raise webob.exc.HTTPBadRequest(explanation=msg)
+ raise webob.exc.HTTPRequestEntityTooLarge(explanation=msg)
return _translate_floating_ip_view(ip)
diff --git a/nova/tests/api/openstack/compute/contrib/test_floating_ips.py b/nova/tests/api/openstack/compute/contrib/test_floating_ips.py
index 6ce0daa05..e1a5593d3 100644
--- a/nova/tests/api/openstack/compute/contrib/test_floating_ips.py
+++ b/nova/tests/api/openstack/compute/contrib/test_floating_ips.py
@@ -228,7 +228,8 @@ class FloatingIpTest(test.TestCase):
self.stubs.Set(rpc, "call", fake_call)
req = fakes.HTTPRequest.blank('/v2/fake/os-floating-ips')
- self.assertRaises(webob.exc.HTTPBadRequest, self.controller.create,
+ self.assertRaises(webob.exc.HTTPRequestEntityTooLarge,
+ self.controller.create,
req)
def test_floating_ip_allocate(self):