← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1470579] [NEW] Linux bridge agent fails if test VXLAN interface exists

 

Public bug reported:

During initialization, the Linux bridge agent appears to test VXLAN
operation by creating VXLAN interface vxlan-1 with VNID 1. If a VXLAN
interface with VNID 1 already exists on the host, it fails. I found this
particular issue because my labs run on public cloud hosts that require
manual VXLAN interfaces to work around multi-host networking
constraints. Most hosts probably won't contain existing VXLAN
interfaces. However, this test should use a VNID from the range in the
ML2 configuration file (vni_ranges) rather than VNID 1.

2015-07-01 16:15:26.838 18614 ERROR neutron.agent.linux.utils [-]
Command: ['sudo', '/usr/bin/neutron-rootwrap', '/etc/neutron/rootwrap.conf', 'ip', 'link', 'add', 'vxlan-1', 'type', 'vxlan', 'id', '1', 'dev', 'eth1', 'proxy']
Exit code: 2
Stdin:
Stdout:
Stderr: RTNETLINK answers: File exists

2015-07-01 16:15:26.839 18614 CRITICAL neutron [-] RuntimeError:
Command: ['sudo', '/usr/bin/neutron-rootwrap', '/etc/neutron/rootwrap.conf', 'ip', 'link', 'add', 'vxlan-1', 'type', 'vxlan', 'id', '1', 'dev', 'eth1', 'proxy']
Exit code: 2
Stdin:
Stdout:
Stderr: RTNETLINK answers: File exists

2015-07-01 16:15:26.839 18614 TRACE neutron Traceback (most recent call last):
2015-07-01 16:15:26.839 18614 TRACE neutron   File "/usr/bin/neutron-linuxbridge-agent", line 10, in <module>
2015-07-01 16:15:26.839 18614 TRACE neutron     sys.exit(main())
2015-07-01 16:15:26.839 18614 TRACE neutron   File "/usr/lib/python2.7/dist-packages/neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py", line 1016, in main
2015-07-01 16:15:26.839 18614 TRACE neutron     polling_interval)
2015-07-01 16:15:26.839 18614 TRACE neutron   File "/usr/lib/python2.7/dist-packages/neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py", line 748, in __init__
2015-07-01 16:15:26.839 18614 TRACE neutron     self.setup_linux_bridge(interface_mappings)
2015-07-01 16:15:26.839 18614 TRACE neutron   File "/usr/lib/python2.7/dist-packages/neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py", line 818, in setup_linux_bridge
2015-07-01 16:15:26.839 18614 TRACE neutron     self.br_mgr = LinuxBridgeManager(interface_mappings)
2015-07-01 16:15:26.839 18614 TRACE neutron   File "/usr/lib/python2.7/dist-packages/neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py", line 82, in __init__
2015-07-01 16:15:26.839 18614 TRACE neutron     self.check_vxlan_support()
2015-07-01 16:15:26.839 18614 TRACE neutron   File "/usr/lib/python2.7/dist-packages/neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py", line 566, in check_vxlan_support
2015-07-01 16:15:26.839 18614 TRACE neutron     if self.vxlan_ucast_supported():
2015-07-01 16:15:26.839 18614 TRACE neutron   File "/usr/lib/python2.7/dist-packages/neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py", line 529, in vxlan_ucast_supported
2015-07-01 16:15:26.839 18614 TRACE neutron     test_iface = self.ensure_vxlan(seg_id)
2015-07-01 16:15:26.839 18614 TRACE neutron   File "/usr/lib/python2.7/dist-packages/neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py", line 249, in ensure_vxlan
2015-07-01 16:15:26.839 18614 TRACE neutron     int_vxlan = self.ip.add_vxlan(interface, segmentation_id, **args)
2015-07-01 16:15:26.839 18614 TRACE neutron   File "/usr/lib/python2.7/dist-packages/neutron/agent/linux/ip_lib.py", line 183, in add_vxlan
2015-07-01 16:15:26.839 18614 TRACE neutron     self._as_root([], 'link', cmd)
2015-07-01 16:15:26.839 18614 TRACE neutron   File "/usr/lib/python2.7/dist-packages/neutron/agent/linux/ip_lib.py", line 69, in _as_root
2015-07-01 16:15:26.839 18614 TRACE neutron     log_fail_as_error=self.log_fail_as_error)
2015-07-01 16:15:26.839 18614 TRACE neutron   File "/usr/lib/python2.7/dist-packages/neutron/agent/linux/ip_lib.py", line 78, in _execute
2015-07-01 16:15:26.839 18614 TRACE neutron     log_fail_as_error=log_fail_as_error)
2015-07-01 16:15:26.839 18614 TRACE neutron   File "/usr/lib/python2.7/dist-packages/neutron/agent/linux/utils.py", line 137, in execute
2015-07-01 16:15:26.839 18614 TRACE neutron     raise RuntimeError(m)
2015-07-01 16:15:26.839 18614 TRACE neutron RuntimeError:
2015-07-01 16:15:26.839 18614 TRACE neutron Command: ['sudo', '/usr/bin/neutron-rootwrap', '/etc/neutron/rootwrap.conf', 'ip', 'link', 'add', 'vxlan-1', 'type', 'vxlan', 'id', '1', 'dev', 'eth1', 'proxy']
2015-07-01 16:15:26.839 18614 TRACE neutron Exit code: 2
2015-07-01 16:15:26.839 18614 TRACE neutron Stdin:
2015-07-01 16:15:26.839 18614 TRACE neutron Stdout:
2015-07-01 16:15:26.839 18614 TRACE neutron Stderr: RTNETLINK answers: File exists

** Affects: neutron
     Importance: Undecided
         Status: New


** Tags: linuxbridge

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1470579

Title:
  Linux bridge agent fails if test VXLAN interface exists

Status in OpenStack Neutron (virtual network service):
  New

Bug description:
  During initialization, the Linux bridge agent appears to test VXLAN
  operation by creating VXLAN interface vxlan-1 with VNID 1. If a VXLAN
  interface with VNID 1 already exists on the host, it fails. I found
  this particular issue because my labs run on public cloud hosts that
  require manual VXLAN interfaces to work around multi-host networking
  constraints. Most hosts probably won't contain existing VXLAN
  interfaces. However, this test should use a VNID from the range in the
  ML2 configuration file (vni_ranges) rather than VNID 1.

  2015-07-01 16:15:26.838 18614 ERROR neutron.agent.linux.utils [-]
  Command: ['sudo', '/usr/bin/neutron-rootwrap', '/etc/neutron/rootwrap.conf', 'ip', 'link', 'add', 'vxlan-1', 'type', 'vxlan', 'id', '1', 'dev', 'eth1', 'proxy']
  Exit code: 2
  Stdin:
  Stdout:
  Stderr: RTNETLINK answers: File exists

  2015-07-01 16:15:26.839 18614 CRITICAL neutron [-] RuntimeError:
  Command: ['sudo', '/usr/bin/neutron-rootwrap', '/etc/neutron/rootwrap.conf', 'ip', 'link', 'add', 'vxlan-1', 'type', 'vxlan', 'id', '1', 'dev', 'eth1', 'proxy']
  Exit code: 2
  Stdin:
  Stdout:
  Stderr: RTNETLINK answers: File exists

  2015-07-01 16:15:26.839 18614 TRACE neutron Traceback (most recent call last):
  2015-07-01 16:15:26.839 18614 TRACE neutron   File "/usr/bin/neutron-linuxbridge-agent", line 10, in <module>
  2015-07-01 16:15:26.839 18614 TRACE neutron     sys.exit(main())
  2015-07-01 16:15:26.839 18614 TRACE neutron   File "/usr/lib/python2.7/dist-packages/neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py", line 1016, in main
  2015-07-01 16:15:26.839 18614 TRACE neutron     polling_interval)
  2015-07-01 16:15:26.839 18614 TRACE neutron   File "/usr/lib/python2.7/dist-packages/neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py", line 748, in __init__
  2015-07-01 16:15:26.839 18614 TRACE neutron     self.setup_linux_bridge(interface_mappings)
  2015-07-01 16:15:26.839 18614 TRACE neutron   File "/usr/lib/python2.7/dist-packages/neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py", line 818, in setup_linux_bridge
  2015-07-01 16:15:26.839 18614 TRACE neutron     self.br_mgr = LinuxBridgeManager(interface_mappings)
  2015-07-01 16:15:26.839 18614 TRACE neutron   File "/usr/lib/python2.7/dist-packages/neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py", line 82, in __init__
  2015-07-01 16:15:26.839 18614 TRACE neutron     self.check_vxlan_support()
  2015-07-01 16:15:26.839 18614 TRACE neutron   File "/usr/lib/python2.7/dist-packages/neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py", line 566, in check_vxlan_support
  2015-07-01 16:15:26.839 18614 TRACE neutron     if self.vxlan_ucast_supported():
  2015-07-01 16:15:26.839 18614 TRACE neutron   File "/usr/lib/python2.7/dist-packages/neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py", line 529, in vxlan_ucast_supported
  2015-07-01 16:15:26.839 18614 TRACE neutron     test_iface = self.ensure_vxlan(seg_id)
  2015-07-01 16:15:26.839 18614 TRACE neutron   File "/usr/lib/python2.7/dist-packages/neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py", line 249, in ensure_vxlan
  2015-07-01 16:15:26.839 18614 TRACE neutron     int_vxlan = self.ip.add_vxlan(interface, segmentation_id, **args)
  2015-07-01 16:15:26.839 18614 TRACE neutron   File "/usr/lib/python2.7/dist-packages/neutron/agent/linux/ip_lib.py", line 183, in add_vxlan
  2015-07-01 16:15:26.839 18614 TRACE neutron     self._as_root([], 'link', cmd)
  2015-07-01 16:15:26.839 18614 TRACE neutron   File "/usr/lib/python2.7/dist-packages/neutron/agent/linux/ip_lib.py", line 69, in _as_root
  2015-07-01 16:15:26.839 18614 TRACE neutron     log_fail_as_error=self.log_fail_as_error)
  2015-07-01 16:15:26.839 18614 TRACE neutron   File "/usr/lib/python2.7/dist-packages/neutron/agent/linux/ip_lib.py", line 78, in _execute
  2015-07-01 16:15:26.839 18614 TRACE neutron     log_fail_as_error=log_fail_as_error)
  2015-07-01 16:15:26.839 18614 TRACE neutron   File "/usr/lib/python2.7/dist-packages/neutron/agent/linux/utils.py", line 137, in execute
  2015-07-01 16:15:26.839 18614 TRACE neutron     raise RuntimeError(m)
  2015-07-01 16:15:26.839 18614 TRACE neutron RuntimeError:
  2015-07-01 16:15:26.839 18614 TRACE neutron Command: ['sudo', '/usr/bin/neutron-rootwrap', '/etc/neutron/rootwrap.conf', 'ip', 'link', 'add', 'vxlan-1', 'type', 'vxlan', 'id', '1', 'dev', 'eth1', 'proxy']
  2015-07-01 16:15:26.839 18614 TRACE neutron Exit code: 2
  2015-07-01 16:15:26.839 18614 TRACE neutron Stdin:
  2015-07-01 16:15:26.839 18614 TRACE neutron Stdout:
  2015-07-01 16:15:26.839 18614 TRACE neutron Stderr: RTNETLINK answers: File exists

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1470579/+subscriptions


Follow ups

References