neutron-fwaas/quantum/tests/unit
Peter Feiner b606ee1da8 defer firewall updates to iptables data structures
One of two patches that fixes bug #1194438.

In the iptables firewall driver, each port method (update_port_filter,
prepare_port_filter, remove_port_filter) makes O(N) calls, where
N=len(firewall.ports), to IptablesManager methods that update dozens
of data structures. When the firewall methods are called in sequence,
e.g., by SecurityGroupAgentRpcMixin, the calls to IptablesManager's
methods start to add up.

This patch changes IptablesFirewallDriver to defer and coalesce calls
to IptablesManager. Now a sequence of M port method calls results in
O(N) calls to IptablesManager methods instead of O(N*M) as before.

Conflicts:
	quantum/agent/linux/iptables_firewall.py

Change-Id: If17eeaec197beae8b8aecffca1f19d4535a7226e
(cherry picked from commit e31c9fd3fe)
2013-08-04 14:31:58 +02:00
..
bigswitch Prevent possible server list damage in BigSwitch plugin 2013-07-24 12:46:52 -07:00
brocade Replace "OpenStack LLC" with "OpenStack Foundation" 2013-03-13 15:06:24 -04:00
cisco Fix Cisco Nexus plugin failures for vlan IDs 1006-4094 2013-08-01 09:50:47 -04:00
db Raise VipExists exception in case Vip is created or updated 2013-04-05 07:15:24 +00:00
extensions Replace "OpenStack LLC" with "OpenStack Foundation" 2013-03-13 15:06:24 -04:00
hyperv Add common test base class to hold common things. 2013-03-05 18:07:14 -05:00
linuxbridge Fix unit tests for RHEL 2013-04-05 07:20:52 +00:00
metaplugin Replace "OpenStack LLC" with "OpenStack Foundation" 2013-03-13 15:06:24 -04:00
midonet Merge "Allow gateway address to be unset for an existing subnet" into stable/grizzly 2013-07-30 17:31:33 +00:00
nec Merge "Ensure to remove auto delete ports from OFC in NEC plugin" into stable/grizzly 2013-06-13 20:38:25 +00:00
nicira Replace "OpenStack LLC" with "OpenStack Foundation" 2013-03-13 15:06:24 -04:00
openvswitch Ensure that L3 managed port have status ACTIVE 2013-07-30 02:43:20 -07:00
plumgrid PLUMgrid quantum plugin 2013-02-10 07:49:48 -08:00
ryu Resolves ryu plugin unittest errors 2013-03-14 09:50:14 +08:00
services Fix lb-vip does not get route to default gw 2013-04-02 15:44:17 -04:00
__init__.py Replace "OpenStack LLC" with "OpenStack Foundation" 2013-03-13 15:06:24 -04:00
_test_extension_portbindings.py Use oslo-config-2013.1b3 2013-02-17 17:33:05 +00:00
_test_rootwrap_exec.py Replace "OpenStack LLC" with "OpenStack Foundation" 2013-03-13 15:06:24 -04:00
database_stubs.py Logging module cleanup 2013-01-03 16:20:56 +08:00
dummy_plugin.py Replace "OpenStack LLC" with "OpenStack Foundation" 2013-03-13 15:06:24 -04:00
extension_stubs.py Replace "OpenStack LLC" with "OpenStack Foundation" 2013-03-13 15:06:24 -04:00
test_agent_config.py Replace "OpenStack LLC" with "OpenStack Foundation" 2013-03-13 15:06:24 -04:00
test_agent_ext_plugin.py Fix issues with db pooling 2013-03-22 15:49:54 +00:00
test_agent_linux_utils.py Add common test base class to hold common things. 2013-03-05 18:07:14 -05:00
test_agent_netns_cleanup.py Replace "OpenStack LLC" with "OpenStack Foundation" 2013-03-13 15:06:24 -04:00
test_agent_ovs_cleanup.py Replace "OpenStack LLC" with "OpenStack Foundation" 2013-03-13 15:06:24 -04:00
test_agent_rpc.py Ensure that the report state is not a blocking call 2013-06-29 05:33:21 +00:00
test_api_api_common.py Add common test base class to hold common things. 2013-03-05 18:07:14 -05:00
test_api_v2.py Replace "OpenStack LLC" with "OpenStack Foundation" 2013-03-13 15:06:24 -04:00
test_api_v2_resource.py Return unicode for object in json and xml serializer 2013-04-02 13:40:53 -04:00
test_attributes.py Validate that netaddr does not receive a string with whitespace 2013-05-11 06:29:22 +00:00
test_auth.py Replace "OpenStack LLC" with "OpenStack Foundation" 2013-03-13 15:06:24 -04:00
test_common_utils.py Replace "OpenStack LLC" with "OpenStack Foundation" 2013-03-13 15:06:24 -04:00
test_config.py Replace "OpenStack LLC" with "OpenStack Foundation" 2013-03-13 15:06:24 -04:00
test_db.py Replace "OpenStack LLC" with "OpenStack Foundation" 2013-03-13 15:06:24 -04:00
test_db_migration.py Add common test base class to hold common things. 2013-03-05 18:07:14 -05:00
test_db_plugin.py Merge "Allow gateway address to be unset for an existing subnet" into stable/grizzly 2013-07-30 17:31:33 +00:00
test_db_rpc_base.py Replace "OpenStack LLC" with "OpenStack Foundation" 2013-03-13 15:06:24 -04:00
test_debug_commands.py Allow probe-create to specify device_owner. 2013-03-07 20:24:52 -08:00
test_dhcp_agent.py Ensure that the report state is not a blocking call 2013-06-29 05:33:21 +00:00
test_extension_extended_attribute.py Add common test base class to hold common things. 2013-03-05 18:07:14 -05:00
test_extension_extraroute.py Remove deprecated assertEquals alias. 2013-02-28 16:29:23 +09:00
test_extension_portsecurity.py Replace "OpenStack LLC" with "OpenStack Foundation" 2013-03-13 15:06:24 -04:00
test_extension_security_group.py Merge "get_security_groups now creates default security group" into stable/grizzly 2013-05-21 00:08:47 +00:00
test_extensions.py Replace "OpenStack LLC" with "OpenStack Foundation" 2013-03-13 15:06:24 -04:00
test_iptables_firewall.py defer firewall updates to iptables data structures 2013-08-04 14:31:58 +02:00
test_iptables_manager.py Add common test base class to hold common things. 2013-03-05 18:07:14 -05:00
test_l3_agent.py Pass metadata port to metadata proxy 2013-04-05 07:18:11 +00:00
test_l3_plugin.py Fix port_id filter not honored 2013-05-02 07:03:39 +00:00
test_linux_daemon.py Change Daemon class to better match process command lines. 2013-05-13 08:58:02 +00:00
test_linux_dhcp.py Fix DHCP agent to work with latest dnsmasq 2013-07-29 14:39:56 -07:00
test_linux_external_process.py Add common test base class to hold common things. 2013-03-05 18:07:14 -05:00
test_linux_interface.py Create veth peer in namespace. 2013-05-07 11:56:21 +00:00
test_linux_ip_lib.py Create veth peer in namespace. 2013-05-07 11:56:21 +00:00
test_loadbalancer_plugin.py Replace "OpenStack LLC" with "OpenStack Foundation" 2013-03-13 15:06:24 -04:00
test_metadata_agent.py Adds POST method support in the metadata service 2013-05-05 07:20:36 +00:00
test_metadata_namespace_proxy.py Adds POST method support in the metadata service 2013-05-05 07:20:36 +00:00
test_policy.py Replace "OpenStack LLC" with "OpenStack Foundation" 2013-03-13 15:06:24 -04:00
test_quantum_context.py Add common test base class to hold common things. 2013-03-05 18:07:14 -05:00
test_quantum_manager.py Replace "OpenStack LLC" with "OpenStack Foundation" 2013-03-13 15:06:24 -04:00
test_quota_ext.py DbQuotaDriver allows negative quotas to be set. 2013-06-10 21:22:31 +00:00
test_rootwrap.py Replace "OpenStack LLC" with "OpenStack Foundation" 2013-03-13 15:06:24 -04:00
test_routerserviceinsertion.py Add common test base class to hold common things. 2013-03-05 18:07:14 -05:00
test_security_groups_rpc.py Disable secgroup extension when Noop Firewall driver is used 2013-03-08 08:32:20 +00:00
test_servicetype.py Replace "OpenStack LLC" with "OpenStack Foundation" 2013-03-13 15:06:24 -04:00
test_wsgi.py Return unicode for object in json and xml serializer 2013-04-02 13:40:53 -04:00
testlib_api.py Replace "OpenStack LLC" with "OpenStack Foundation" 2013-03-13 15:06:24 -04:00