floating IPs extension should not catch NoMoreFloatingIps and re-raise as EntityTooLarge
Bug #1026167 reported by
Mark McLoughlin
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Fix Released
|
Low
|
Eoghan Glynn |
Bug Description
See bug #1021721 and #1021373
The floating IPs extension is doing this:
try:
address = self.network_
...
except exception.
..
raise webob.exc.
however, there's no need for this now becausethe faultwrap Middleware will now catch QuotaError based exceptions and re-raise them as a 413 error
Changed in nova: | |
assignee: | nobody → Eoghan Glynn (eglynn) |
status: | New → Confirmed |
importance: | Undecided → Low |
Changed in nova: | |
milestone: | none → folsom-3 |
Changed in nova: | |
status: | Fix Committed → Fix Released |
Changed in nova: | |
milestone: | folsom-3 → 2012.2 |
To post a comment you must log in.
Interestingly, https:/ /review. openstack. org/9738 was actually addressing the wrong exception.
NoMoreFloatingIps is raised when the floating IP range is exhausted, whereas the case referred to in bug #1021721 is floating IP quota over-run, which is indicated by a FloatingIpLimit Exceeded.
Now the FloatingIpLimit Exceeded case is already reported as a 413, since the fix for bug #1021373 landed.
Whereas the initial patch for bug #1021721 is problematic, as it leads to a 500 Server Error due to the retry-after header being left unset.
So I would propose allowing the exception. NoMoreFloatingI ps to bubble up to the FaultWrapper middleware, and then treating this as a 404 as opposed to a 413.
The reasoning here is that NoMoreFloatingIps extends NotFound, which is in turn associated with the 404 status, so the intent appears to be that floating IP range exhaustion is treated as a free floating IP resource not being found.