** Changed in: neutron Status: In Progress => Fix Released -- You received this bug notification because you are a member of Yahoo! Engineering Team, which is subscribed to neutron. https://bugs.launchpad.net/bugs/1460494
Title: neutron-ovs-cleanup failing to start with ovs bonding Status in neutron: Fix Released Bug description: System is running Openstack Kilo: [root@network01 ~]# cat /etc/redhat-release CentOS Linux release 7.1.1503 (Core) [root@network01 ~]# uname -r 3.10.0-229.4.2.el7.x86_64 [root@network01 ~]# rpm -qa|grep neutron openstack-neutron-ml2-2015.1.0-1.el7.noarch openstack-neutron-common-2015.1.0-1.el7.noarch openstack-neutron-openvswitch-2015.1.0-1.el7.noarch python-neutronclient-2.3.11-1.el7.noarch python-neutron-2015.1.0-1.el7.noarch openstack-neutron-2015.1.0-1.el7.noarch Issue is with python-neutron-2015.1.0-1.el7.noarch line 316 of: /usr/lib/python2.7/site-packages/neutron/agent/common/ovs_lib.py get_vif_ports function is expecting that each ovs port will have an interface with a matching name, i.e. ovs port eth0 must have ovs Interface with name eth0. This does not work for bonded interfaces created within ovs as port bond2 may have Interface eth0 and Interface eth1 as an example. 2015-05-29 16:53:06.034 2833 INFO neutron.common.config [-] Logging enabled! 2015-05-29 16:53:06.039 2833 INFO neutron.common.config [-] /usr/bin/neutron-ovs-cleanup version 2015.1.0 2015-05-29 16:53:06.502 2833 ERROR neutron.agent.ovsdb.impl_vsctl [-] Unable to execute ['ovs-vsctl', '--timeout=10', '--oneline', '--format=json', '--', '--columns=external_ids', 'list', 'Interface', 'bond2']. 2015-05-29 16:53:06.502 2833 TRACE neutron.agent.ovsdb.impl_vsctl Traceback (most recent call last): 2015-05-29 16:53:06.502 2833 TRACE neutron.agent.ovsdb.impl_vsctl File "/usr/lib/python2.7/site-packages/neutron/agent/ovsdb/impl_vsctl.py", line 63, in run_vsctl 2015-05-29 16:53:06.502 2833 TRACE neutron.agent.ovsdb.impl_vsctl log_fail_as_error=False).rstrip() 2015-05-29 16:53:06.502 2833 TRACE neutron.agent.ovsdb.impl_vsctl File "/usr/lib/python2.7/site-packages/neutron/agent/linux/utils.py", line 137, in execute 2015-05-29 16:53:06.502 2833 TRACE neutron.agent.ovsdb.impl_vsctl raise RuntimeError(m) 2015-05-29 16:53:06.502 2833 TRACE neutron.agent.ovsdb.impl_vsctl RuntimeError: 2015-05-29 16:53:06.502 2833 TRACE neutron.agent.ovsdb.impl_vsctl Command: ['sudo', 'neutron-rootwrap', '/etc/neutron/rootwrap.conf', 'ovs-vsctl', '--timeout=10', '--oneline', '--format=json', '--', '--columns=external_ids', 'list', 'Interface', 'bond2'] 2015-05-29 16:53:06.502 2833 TRACE neutron.agent.ovsdb.impl_vsctl Exit code: 1 2015-05-29 16:53:06.502 2833 TRACE neutron.agent.ovsdb.impl_vsctl Stdin: 2015-05-29 16:53:06.502 2833 TRACE neutron.agent.ovsdb.impl_vsctl Stdout: 2015-05-29 16:53:06.502 2833 TRACE neutron.agent.ovsdb.impl_vsctl Stderr: ovs-vsctl: no row "bond2" in table Interface 2015-05-29 16:53:06.502 2833 TRACE neutron.agent.ovsdb.impl_vsctl 2015-05-29 16:53:06.502 2833 TRACE neutron.agent.ovsdb.impl_vsctl 2015-05-29 16:53:06.503 2833 CRITICAL neutron [-] RuntimeError: Command: ['sudo', 'neutron-rootwrap', '/etc/neutron/rootwrap.conf', 'ovs-vsctl', '--timeout=10', '--oneline', '--format=json', '--', '--columns=external_ids', 'list', 'Interface', 'bond2'] Exit code: 1 Stdin: Stdout: Stderr: ovs-vsctl: no row "bond2" in table Interface 2015-05-29 16:53:06.503 2833 TRACE neutron Traceback (most recent call last): 2015-05-29 16:53:06.503 2833 TRACE neutron File "/usr/bin/neutron-ovs-cleanup", line 10, in <module> 2015-05-29 16:53:06.503 2833 TRACE neutron sys.exit(main()) 2015-05-29 16:53:06.503 2833 TRACE neutron File "/usr/lib/python2.7/site-packages/neutron/cmd/ovs_cleanup.py", line 100, in main 2015-05-29 16:53:06.503 2833 TRACE neutron ports = collect_neutron_ports(available_configuration_bridges) 2015-05-29 16:53:06.503 2833 TRACE neutron File "/usr/lib/python2.7/site-packages/neutron/cmd/ovs_cleanup.py", line 60, in collect_neutron_ports 2015-05-29 16:53:06.503 2833 TRACE neutron ports += [port.port_name for port in ovs.get_vif_ports()] 2015-05-29 16:53:06.503 2833 TRACE neutron File "/usr/lib/python2.7/site-packages/neutron/agent/common/ovs_lib.py", line 316, in get_vif_ports 2015-05-29 16:53:06.503 2833 TRACE neutron check_error=True) 2015-05-29 16:53:06.503 2833 TRACE neutron File "/usr/lib/python2.7/site-packages/neutron/agent/common/ovs_lib.py", line 139, in db_get_val 2015-05-29 16:53:06.503 2833 TRACE neutron check_error=check_error) 2015-05-29 16:53:06.503 2833 TRACE neutron File "/usr/lib/python2.7/site-packages/neutron/agent/ovsdb/impl_vsctl.py", line 83, in execute 2015-05-29 16:53:06.503 2833 TRACE neutron txn.add(self) 2015-05-29 16:53:06.503 2833 TRACE neutron File "/usr/lib/python2.7/site-packages/neutron/agent/ovsdb/api.py", line 68, in __exit__ 2015-05-29 16:53:06.503 2833 TRACE neutron self.result = self.commit() 2015-05-29 16:53:06.503 2833 TRACE neutron File "/usr/lib/python2.7/site-packages/neutron/agent/ovsdb/impl_vsctl.py", line 50, in commit 2015-05-29 16:53:06.503 2833 TRACE neutron res = self.run_vsctl(args) 2015-05-29 16:53:06.503 2833 TRACE neutron File "/usr/lib/python2.7/site-packages/neutron/agent/ovsdb/impl_vsctl.py", line 70, in run_vsctl 2015-05-29 16:53:06.503 2833 TRACE neutron ctxt.reraise = False 2015-05-29 16:53:06.503 2833 TRACE neutron File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 85, in __exit__ 2015-05-29 16:53:06.503 2833 TRACE neutron six.reraise(self.type_, self.value, self.tb) 2015-05-29 16:53:06.503 2833 TRACE neutron File "/usr/lib/python2.7/site-packages/neutron/agent/ovsdb/impl_vsctl.py", line 63, in run_vsctl 2015-05-29 16:53:06.503 2833 TRACE neutron log_fail_as_error=False).rstrip() 2015-05-29 16:53:06.503 2833 TRACE neutron File "/usr/lib/python2.7/site-packages/neutron/agent/linux/utils.py", line 137, in execute 2015-05-29 16:53:06.503 2833 TRACE neutron raise RuntimeError(m) 2015-05-29 16:53:06.503 2833 TRACE neutron RuntimeError: 2015-05-29 16:53:06.503 2833 TRACE neutron Command: ['sudo', 'neutron-rootwrap', '/etc/neutron/rootwrap.conf', 'ovs-vsctl', '--timeout=10', '--oneline', '--format=json', '--', '--columns=external_ids', 'list', 'Interface', 'bond2'] 2015-05-29 16:53:06.503 2833 TRACE neutron Exit code: 1 2015-05-29 16:53:06.503 2833 TRACE neutron Stdin: 2015-05-29 16:53:06.503 2833 TRACE neutron Stdout: 2015-05-29 16:53:06.503 2833 TRACE neutron Stderr: ovs-vsctl: no row "bond2" in table Interface 2015-05-29 16:53:06.503 2833 TRACE neutron 2015-05-29 16:53:06.503 2833 TRACE neutron ovs_lib.py should be updated so that for an ovs bond port all interfaces belonging to the bond are looked up without relying on the name of the Interface to be matching. To manage notifications about this bug go to: https://bugs.launchpad.net/neutron/+bug/1460494/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : yahoo-eng-team@lists.launchpad.net Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp