vmware-nsx/neutron/db
Salvatore Orlando 10f4a40137 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
2013-10-16 05:52:14 -07:00
..
firewall FWaaS - fix reordering of rules in policy 2013-09-17 23:46:56 -07:00
loadbalancer LBaaS: Fix healthmonitor disassociation for non-admin 2013-09-09 11:22:46 +04:00
metering Fix adding identical metering rules on two labels 2013-09-23 10:23:05 +02:00
migration Merge "DB migration upgrade/downgrade not employed for brocade-plugin" 2013-10-12 01:47:04 +00:00
vpn Fix access to lifetime dict in update_ipsecpolicy method 2013-10-10 21:57:26 +04:00
__init__.py Rename Quantum to Neutron 2013-07-06 15:02:43 -04:00
agents_db.py add greenthread.sleep to increase yields 2013-10-02 17:00:25 -04:00
agentschedulers_db.py Adds support for L3 routing/NAT as a service plugin 2013-09-11 12:12:10 +02:00
allowedaddresspairs_db.py Prevent update_port ip_address from matching address_pair 2013-09-11 11:12:21 -07:00
api.py Remove global DB_ENGINE from Neutron 2013-08-05 08:51:16 -07:00
db_base_plugin_v2.py Fix IP recycling on exhausted pool 2013-10-16 05:52:14 -07:00
dhcp_rpc_base.py Fix message i18n error 2013-09-08 15:58:12 +08:00
external_net_db.py Adds support for L3 routing/NAT as a service plugin 2013-09-11 12:12:10 +02:00
extradhcpopt_db.py Allow subclasses to modify dict_extend hooks 2013-09-02 17:37:22 -07:00
extraroute_db.py Removing rpc communication from db transaction 2013-10-15 11:11:05 +02:00
l3_agentschedulers_db.py Adds support for L3 routing/NAT as a service plugin 2013-09-11 12:12:10 +02:00
l3_db.py Fix error code for deletion of router which is in use by vpnservice 2013-09-12 11:05:56 -07:00
l3_gwmode_db.py Register an extend_dict function for ext_gw_mode extension 2013-09-10 15:38:16 -07:00
l3_rpc_base.py Adds support for L3 routing/NAT as a service plugin 2013-09-11 12:12:10 +02:00
model_base.py Apply Oslo ModelBase to NeutronBase 2013-07-08 10:14:26 +08:00
models_v2.py Remove DHCP lease logic 2013-08-12 16:55:48 -07:00
portbindings_base.py refactor port binding codes 2013-07-26 23:04:51 +08:00
portbindings_db.py allow subclasses to modify the parents model hooks 2013-08-09 00:53:33 -04:00
portsecurity_db.py Allow subclasses to modify dict_extend hooks 2013-09-02 17:37:22 -07:00
quota_db.py Rename Quantum to Neutron 2013-07-06 15:02:43 -04:00
routedserviceinsertion_db.py Support for NVP advanced FwaaS service 2013-09-17 10:18:22 -07:00
routerservicetype_db.py Service Type Framework refactoring 2013-07-25 21:47:30 +04:00
securitygroups_db.py Change hard coded numbers to constants in security group tests 2013-09-23 10:21:24 -04:00
securitygroups_rpc_base.py Implement Allowed Address Pairs 2013-09-05 03:53:59 -07:00
servicetype_db.py LBaaS integration with service type framework 2013-09-03 23:05:33 +04:00
sqlalchemyutils.py Rename Quantum to Neutron 2013-07-06 15:02:43 -04:00