vmware-nsx/neutron
Henry Gessau 9e3111250b Predictable iptables chains output order
This fixes the iptables unit tests that break with a randomized PYTHONHASHSEED
(see the bug report).

The chains for iptables are stored as sets to avoid duplicates. When they are
output by iptables_manager their order can therefore be unpredictable. This was
found hash seed 1016732220.

To fix this we:
 - Sort the chains output by iptables_manager
 - Update the unit tests to check for sorted chains

When multiple tables are processed, they can be processed in any order or
dumped in any order. Found with hash seed 3728666619.

To fix this we:
 - Traverse the tables in sorted order for dumping
 - Fix tests to allow for tables to be processed in any order

Note: There are several other unrelated unit tests that also break with a
randomized PYTHONHASHSEED, but they are not addressed here. They will be
addressed in separate patches.

Partial-bug: #1348818

Change-Id: Ic3f4cd85316c9fc2e78bc7f5e900cfac87baf39d
2014-08-26 16:38:59 -04:00
..
agent Predictable iptables chains output order 2014-08-26 16:38:59 -04:00
api Send HTTP exceptions in the format expected by neutronclient 2014-08-18 17:21:45 +04:00
cmd Move ARP responder test to sanity command 2014-07-29 18:44:07 +03:00
common Merge "Log exceptions inside spawned functions" 2014-08-26 09:03:18 +00:00
db Merge "Change autogenerate to be unconditional" 2014-08-26 17:15:28 +00:00
debug Remove the useless vim modelines 2014-06-21 15:07:31 +08:00
extensions Merge "SecurityGroupRuleExists should point out rule id inseand of group id" 2014-08-19 21:50:03 +00:00
hacking Use jsonutils instead of stdlib json 2014-08-14 12:45:58 +02:00
locale Imported Translations from Transifex 2014-08-17 06:06:09 +00:00
notifiers Fix spelling mistakes 2014-08-01 16:10:23 +00:00
openstack Fix spelling mistakes 2014-08-01 16:10:23 +00:00
plugins Merge "Refactor type_tunnel/gre/vxlan to reduce duplicate code" 2014-08-26 10:51:06 +00:00
scheduler Merge "Minor refactoring of auto_schedule_routers" 2014-08-25 22:14:58 +00:00
server Configure agents using neutron.common.config.init (formerly .parse) 2014-06-17 21:56:24 +02:00
services Merge "Arista Layer 3 Sevice Plugin" 2014-08-25 22:12:54 +00:00
tests Predictable iptables chains output order 2014-08-26 16:38:59 -04:00
__init__.py Remove the useless vim modelines 2014-06-21 15:07:31 +08:00
auth.py add auth token to context 2014-08-12 11:17:21 +09:00
context.py add auth token to context 2014-08-12 11:17:21 +09:00
hooks.py Remove the useless vim modelines 2014-06-21 15:07:31 +08:00
manager.py Moved rpc_compat.py code back into rpc.py 2014-06-24 10:35:39 +02:00
neutron_plugin_base_v2.py Renamed start_rpc_listener -> start_rpc_listeners 2014-06-19 12:58:01 +02:00
policy.py Allow to import _LC, _LE, _LI and _LW functions directly 2014-07-17 14:56:19 +00:00
quota.py Remove the useless vim modelines 2014-06-21 15:07:31 +08:00
service.py Moved rpc_compat.py code back into rpc.py 2014-06-24 10:35:39 +02:00
version.py Remove the useless vim modelines 2014-06-21 15:07:31 +08:00
wsgi.py Remove the useless vim modelines 2014-06-21 15:07:31 +08:00