Spotted in check job that has no relationship to netlink.
Traceback (most recent call last):
File "neutron/tests/base.py", line 118, in func
return f(self, *args, **kwargs)
File "neutron/tests/functional/agent/linux/test_netlink_lib.py", line 69, in test_list_entries
self.assertEqual(expected, entries_list)
File "/opt/stack/new/neutron/.tox/dsvm-functional/local/lib/python2.7/site-packages/testtools/testcase.py", line 411, in assertEqual
self.assertThat(observed, matcher, message)
File "/opt/stack/new/neutron/.tox/dsvm-functional/local/lib/python2.7/site-packages/testtools/testcase.py", line 498, in assertThat
raise mismatch_error
testtools.matchers._impl.MismatchError: !=:
reference = ((4, 'icmp', 8, 0, '1.1.1.1', '2.2.2.2', 3333, 10),
(4, 'tcp', 1, 2, '1.1.1.1', '2.2.2.2', 10),
(4, 'udp', 4, 5, '1.1.1.1', '2.2.2.2', 10))
actual = ((4, 'icmp', 8, 0, '1.1.1.1', '2.2.2.2', 3333, 10),
(4, 'tcp', 1, 2, '1.1.1.1', '2.2.2.2', 10),
(4, 'udp', 4, 5, '1.1.1.1', '2.2.2.2', 10),
(4, 'tcp', 40364, 12345, '192.168.0.1', '192.168.0.2', 10),
(4, 'tcp', 59330, 12346, '192.168.0.1', '192.168.0.2', 10))
http://logs.openstack.org/29/489429/2/check/gate-neutron-dsvm-functional-ubuntu-xenial/3f2b494/testr_results.html.gz
The possible problem here is zone_id created by netlink-lib during functional tests duplicated with zone_id created by something else. In this test case, netlink-lib lists all conntrack entries in OS with zone_id is '10', but some other entries with zone '10' already existed hence the test didn't work properly.
Problem is in the test case, netlink-lib doesn't create these two conntrack entries
(4, 'tcp', 40364, 12345, '192.168.0.1', '192.168.0.2', 10), (4, 'tcp', 59330, 12346, '192.168.0.1', '192.168.0.2', 10) so I'm in doubt that these conntrack entries somehow already existed before tests running.