yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #29931
[Bug 1374663] Re: agent/linux/ip_lib.py does not correctly handle output from 'iproute2' command
** Changed in: neutron
Status: Fix Committed => Fix Released
** Changed in: neutron
Milestone: None => kilo-3
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1374663
Title:
agent/linux/ip_lib.py does not correctly handle output from 'iproute2'
command
Status in OpenStack Neutron (virtual network service):
Fix Released
Bug description:
The get_devices() method in neutron/agent/linux/ip_lib.py chokes if
'iproute2' presents interface names containing '@', such as ipip
tunnels:
513: tunl0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN mode DEFAULT group default
link/ipip 0.0.0.0 brd 0.0.0.0
And macvlan devices:
4: clone@eth0: <BROADCAST,MULTICAST> mtu 1454 qdisc noop state DOWN mode DEFAULT group default
link/ether c6:dd:66:a5:f6:5c brd ff:ff:ff:ff:ff:ff
Consider the follow sample code:
from neutron.agent.linux.ip_lib import IPWrapper
ip = IPWrapper()
for iface in ip.get_devices():
print iface.name, iface.addr.list()
The mere presence of one of the above interface names will cause the
code to fail with:
RuntimeError:
Command: ['ip', 'addr', 'show', 'tunl0@NONE']
Exit code: 1
Stdout: ''
Stderr: 'Device "tunl0@NONE" does not exist.\n'
This can cause failures in, e.g.,
neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py, which
performs almost exactly the same iteration in the
get_interface_by_ip() method.
To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1374663/+subscriptions
References