neutron.tests.functional.agent.l3.test_legacy_router.L3AgentTestCase.test_legacy_router_lifecycle* fail
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
neutron |
Fix Released
|
High
|
Brian Haley |
Bug Description
I keep seeing these two tests fail:
http://
Example stack trace:
Traceback (most recent call last):
File "neutron/
return f(self, *args, **kwargs)
File "neutron/
self.
File "neutron/
self.
File "neutron/
namespace=
File "neutron/
return list(privileged
File "/opt/stack/
return self.channel.
File "/opt/stack/
raise exc_type(
KeyError
I think the problem is that in the privsep get_routing_table code, one of the IPv6 routes does not have an integer in the route['oif'] element, it is None, raising the KeyError.
For example, here is a list of IPv6 routes on my local system:
--> ip -6 r
2601:18f:
fe80::/64 dev enp0s31f6 proto kernel metric 256 pref medium
fe80::/64 dev tun0 proto kernel metric 256 pref medium
default via fe80::9ade:
But a little test program I wrote shows iproute2 returns no 'oif':
dst: fe80::/64
gateway: None
oif: None
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "./getroute.py", line 78, in foo
routes = list(get_
File "./getroute.py", line 50, in get_routing_table
print 'interface: %s' % ipdb_interfaces
KeyError: None
Digging further, since there are two routes to fe80::/64, it's returned differently from pyroute2:
{'metrics': {}, 'dst_len': 64, 'family': 10, 'proto': 2, 'tos': 0, 'dst': 'fe80::/64', 'pref': '00', 'ipdb_priority': 0, 'priority': 256, 'flags': 0, 'encap': {}, 'src_len': 0, 'table': 254, 'multipath': ({'oif': 2, 'family': 10}, {'oif': 6, 'dst_len': 64, 'family': 10, 'proto': 2, 'tos': 0, 'pref': '00', 'priority': 256, 'flags': 0, 'encap': {}, 'src_len': 0, 'table': 254, 'type': 1, 'scope': 0}), 'type': 1, 'scope': 0, 'ipdb_scope': 'system'}
So it looks like we need to parse this 'multipath' element, but there are two items in the list, so we have to parse them both.
tags: | added: functional-tests gate-failure |
Fix proposed to branch: master /review. openstack. org/607093
Review: https:/