neutron/neutron
Salvatore Orlando 9808cac073 Fix IP recycling on exhausted pool
When recycling an IP, allocation pools are loaded with an inner
join with ip avaiblity ranges. However, if the pool is exhausted,
there will be no availability ranges and the query will return
no results because of the inner join. It will therefore be
impossible to reuse IP addresses once the pool has been exhausted.

This patch tries to reload allocation pools without joining on
IP avaiability ranges if the first query did not return any result.
Replacing an inner join with an outer join will not be possible
as postgresql backend does not support 'SELECT ... FOR UPDATE' with
outer joins (for more info see bug 1215350).

The patch also contains unit tests for verifying IP are recycled
correctly even when the pool is exhausted.

Bug 1240353

Change-Id: I87f274bd759cb47be77717f0760d3704f9f34ade
(cherry picked from commit 72af3cef2a)
2013-10-16 10:40:03 -04:00
..
agent use proxy mode on vxlan interface only when l2-population is activated 2013-10-16 10:39:12 -04:00
api Send proper exception info as expected by the neutron client 2013-09-19 17:32:30 +04:00
cmd remove binaries under bin 2013-08-16 10:10:30 +08:00
common Change hard coded numbers to constants in security group tests 2013-09-23 10:21:24 -04:00
db Fix IP recycling on exhausted pool 2013-10-16 10:40:03 -04:00
debug Fix message i18n error 2013-09-08 15:58:12 +08:00
extensions Change hard coded numbers to constants in security group tests 2013-09-23 10:21:24 -04:00
locale Imported Translations from Transifex 2013-10-02 06:10:31 +00:00
openstack Merge "Sync rootwrap with code from oslo" 2013-09-27 03:27:22 +00:00
plugins use proxy mode on vxlan interface only when l2-population is activated 2013-10-16 10:39:12 -04:00
scheduler Ensure router exists when auto_schedule_routers 2013-09-26 22:48:46 +08:00
server Disable lazy translation 2013-10-01 23:16:23 +00:00
services Use L3 api from vpn ipsec driver via service plugin 2013-10-11 22:39:18 -04:00
tests Fix IP recycling on exhausted pool 2013-10-16 10:40:03 -04:00
__init__.py Rename Quantum to Neutron 2013-07-06 15:02:43 -04:00
auth.py Rename Quantum to Neutron 2013-07-06 15:02:43 -04:00
context.py Allow for skipping admin roles loading on context creation 2013-08-28 14:06:43 +04:00
hooks.py Fixes Windows setup dependency bug 2013-08-15 22:58:14 +03:00
manager.py Add agent scheduling for LBaaS namespace agent 2013-07-19 13:25:04 +04:00
neutron_plugin_base_v2.py Remove openstack.common.exception usage 2013-08-06 10:42:02 +02:00
policy.py Fix message i18n error 2013-09-08 15:58:12 +08:00
quota.py Fallback to Quota Conf Driver if Quotas table is not defined 2013-10-11 19:59:59 -04:00
service.py Fix message i18n error 2013-09-08 15:58:12 +08:00
version.py Rename Quantum to Neutron 2013-07-06 15:02:43 -04:00
wsgi.py Use built-in print() instead of print statement 2013-09-21 07:30:33 -07:00