vmware-nsx/neutron/tests/unit
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
..
agent Add the option to minimize ovs l2 polling 2013-10-14 22:24:15 +00:00
bigswitch Utilizes assertIn 2013-10-09 10:02:51 +08:00
brocade Neutron network delete fails with brocade plugin 2013-09-24 01:32:00 +00:00
cisco cisco/nexus plugin doesn't create port for router interface 2013-10-11 20:23:55 -04:00
db Fix access to lifetime dict in update_ipsecpolicy method 2013-10-10 21:57:26 +04:00
embrane Adds support for L3 routing/NAT as a service plugin 2013-09-11 12:12:10 +02:00
extensions Fix H102, H103 Apache 2.0 license hacking check error 2013-08-08 12:46:18 +09:00
hyperv Merge "Fixes port status hanging to build status" 2013-10-10 22:13:30 +00:00
linuxbridge Change rpc_support_old_agents default to False 2013-10-06 12:01:38 -04:00
metaplugin Adds support for L3 routing/NAT as a service plugin 2013-09-11 12:12:10 +02:00
midonet Add port bindings to ports created in Midonet 2013-10-15 08:26:38 +00:00
ml2 Merge "Fix l2 pop doesn't propagate ip address updates" 2013-10-05 03:16:52 +00:00
mlnx change port status only if port is bound to the good host 2013-10-02 15:14:18 +02:00
nec Utilizes assertIn 2013-10-09 10:02:51 +08:00
nicira Utilizes assertIn 2013-10-09 10:02:51 +08:00
openvswitch Add the option to minimize ovs l2 polling 2013-10-14 22:24:15 +00:00
plumgrid Enable authentication between PLUMgrid Director and Plugin 2013-08-26 16:39:38 -07:00
ryu remove netifaces dependency of ryu-agent 2013-07-24 20:18:23 +09:00
services Use L3 api from vpn ipsec driver via service plugin 2013-10-11 14:03:05 -07:00
__init__.py Remove last vestiges of nose 2013-08-11 11:15:28 -03:00
_test_extension_portbindings.py Utilizes assertIn 2013-10-09 10:02:51 +08:00
_test_rootwrap_exec.py Rename Quantum to Neutron 2013-07-06 15:02:43 -04:00
database_stubs.py Use built-in print() instead of print statement 2013-09-21 07:30:33 -07:00
dummy_plugin.py Service Type Framework refactoring 2013-07-25 21:47:30 +04:00
extension_stubs.py Rename Quantum to Neutron 2013-07-06 15:02:43 -04:00
test_agent_config.py Rename Quantum to Neutron 2013-07-06 15:02:43 -04:00
test_agent_ext_plugin.py Add agent scheduling for LBaaS namespace agent 2013-07-19 13:25:04 +04:00
test_agent_linux_utils.py Add support for managing async processes 2013-10-14 07:20:02 +00:00
test_agent_netns_cleanup.py Improve dhcp agent structure to support multiple dhcp models 2013-08-23 13:41:31 -07:00
test_agent_ovs_cleanup.py Rename Quantum to Neutron 2013-07-06 15:02:43 -04:00
test_agent_rpc.py Add l2 population base classes 2013-09-12 01:06:51 +02:00
test_api_api_common.py Rename Quantum to Neutron 2013-07-06 15:02:43 -04:00
test_api_v2_resource.py Send proper exception info as expected by the neutron client 2013-09-19 17:32:30 +04:00
test_api_v2.py Enable Quota DB driver by default 2013-10-07 08:52:45 +09:00
test_attributes.py Correct VPNaaS limit checks in extension 2013-08-29 20:35:08 -04:00
test_auth.py Rename Quantum to Neutron 2013-07-06 15:02:43 -04:00
test_common_log.py Make neutron.common.log.log print module path 2013-09-07 02:10:57 +09:00
test_common_utils.py Rename Quantum to Neutron 2013-07-06 15:02:43 -04:00
test_config.py Raise ConfigFilesNotFoundError if CONF.api_paste_config not found 2013-10-08 17:39:34 +09:00
test_db_migration.py Add support for service plugins to the migration framework 2013-08-09 14:08:27 +04:00
test_db_plugin.py Fix IP recycling on exhausted pool 2013-10-16 05:52:14 -07:00
test_db_rpc_base.py Rename Quantum to Neutron 2013-07-06 15:02:43 -04:00
test_debug_commands.py Rename Quantum to Neutron 2013-07-06 15:02:43 -04:00
test_dhcp_agent.py Fix dhcp_release lease race condition 2013-10-08 12:41:07 -07:00
test_extension_allowedaddresspairs.py Updating address pairs with xml doesn't work 2013-10-15 14:03:10 +08:00
test_extension_ext_gw_mode.py Adds support for L3 routing/NAT as a service plugin 2013-09-11 12:12:10 +02:00
test_extension_ext_net.py Adds support for L3 routing/NAT as a service plugin 2013-09-11 12:12:10 +02:00
test_extension_extended_attribute.py Enable Quota DB driver by default 2013-10-07 08:52:45 +09:00
test_extension_extradhcpopts.py bp: pxeboot-port, provide pxeboot on ports 2013-09-11 14:51:55 -06:00
test_extension_extraroute.py Adds support for L3 routing/NAT as a service plugin 2013-09-11 12:12:10 +02:00
test_extension_firewall.py Fix H102, H103 Apache 2.0 license hacking check error 2013-08-08 12:46:18 +09:00
test_extension_pnet.py Enable Quota DB driver by default 2013-10-07 08:52:45 +09:00
test_extension_portsecurity.py Avoid performing extra query for fetching port security binding 2013-07-31 02:10:35 -07:00
test_extension_security_group.py Change hard coded numbers to constants in security group tests 2013-09-23 10:21:24 -04:00
test_extensions.py Utilizes assertIn 2013-10-09 10:02:51 +08:00
test_iptables_firewall.py Implement Allowed Address Pairs 2013-09-05 03:53:59 -07:00
test_iptables_manager.py Utilizes assertNotIn 2013-10-09 08:25:13 +08:00
test_l3_agent.py Prevent L3 agent looping calls from hanging 2013-10-08 06:08:01 -07:00
test_l3_plugin.py Enable Quota DB driver by default 2013-10-07 08:52:45 +09:00
test_legacy.py Rename Quantum to Neutron 2013-07-06 15:02:43 -04:00
test_linux_daemon.py Merge "Change daemon Pidfile class to not use root_helper" 2013-09-19 21:21:12 +00:00
test_linux_dhcp.py Merge "Change daemon Pidfile class to not use root_helper" 2013-09-19 21:21:12 +00:00
test_linux_external_process.py Change daemon Pidfile class to not use root_helper 2013-09-10 13:04:14 -04:00
test_linux_interface.py Utilize assertIsInstance 2013-10-03 23:02:23 +00:00
test_linux_ip_lib.py Handle VLAN interfaces with Linux IP wrapper 2013-10-15 17:25:47 +00:00
test_metadata_agent.py Rename Quantum to Neutron 2013-07-06 15:02:43 -04:00
test_metadata_namespace_proxy.py Rename Quantum to Neutron 2013-07-06 15:02:43 -04:00
test_neutron_context.py Utilizes assertNotIn 2013-10-09 08:25:13 +08:00
test_neutron_manager.py Add agent scheduling for LBaaS namespace agent 2013-07-19 13:25:04 +04:00
test_policy.py Allow sharing of firewall rules and policies in policy.json 2013-09-13 07:26:22 -07:00
test_provider_configuration.py Fix usage of _fields method in provider_configuration.py 2013-09-23 08:07:16 +04:00
test_quota_ext.py Fallback to Quota Conf Driver if Quotas table is not defined 2013-10-09 22:28:03 +09:00
test_routerserviceinsertion.py Support for NVP advanced FwaaS service 2013-09-17 10:18:22 -07:00
test_security_groups_rpc.py Change hard coded numbers to constants in security group tests 2013-09-23 10:21:24 -04:00
test_servicetype.py Utilizes assertIn 2013-10-09 10:02:51 +08:00
test_wsgi.py Remove last of assertEquals 2013-07-30 18:31:00 -07:00
testlib_api.py add portbinding host into vip port 2013-09-25 14:41:31 +08:00