According to the result of debugging by adding print_traceback in ovs_lib.OVSBridge.get_vif_port_by_id,
the following tests fails and the following stack trace is got:
File "/home/ubuntu/neutron/.venv/local/lib/python2.7/site-packages/eventlet/greenthread.py", line 194, in main
result = function(*args, **kwargs)
File "neutron/openstack/common/rpc/impl_fake.py", line 67, in _inner
namespace, **args)
File "neutron/openstack/common/rpc/dispatcher.py", line 172, in dispatch
result = getattr(proxyobj, method)(ctxt, **kwargs)
File "neutron/plugins/openvswitch/agent/ovs_neutron_agent.py", line 296, in port_update
vif_port = self.int_br.get_vif_port_by_id(port['id'])
File "neutron/agent/linux/ovs_lib.py", line 362, in get_vif_port_by_id
print traceback.print_stack()
More intersting thing is that it occurs only when both OVS plugin test and Ryu plugin test are run.
More precisely, it happens when we run
- first neutron.tests.unit.openvswitch.test_ovs_neutron_agent.TestOvsNeutronAgent, and
- then neutron.tests.unit.ryu.test_ryu_plugin.TestRyuPortsV2.test_update_port
In the unit test, ovs-vsctl command is unexpectedly called in ryu plugin test.
It occurs in the latest master branch. logs.openstack. org/70/ 58270/2/ check/gate- neutron- python27/ 79ef6dd/ console. html logs.openstack. org/25/ 58125/4/ check/gate- neutron- python27/ 2cc0dc5/ console. html#_2013- 11-27_01_ 46_09_003
In gating test, the followings hit this issue:
http://
http://
According to the result of debugging by adding print_traceback in ovs_lib. OVSBridge. get_vif_ port_by_ id,
the following tests fails and the following stack trace is got:
neutron. tests.unit. ryu.test_ ryu_plugin. TestRyuPortsV2. test_update_ port_update_ ip_address_ only tests.unit. ryu.test_ ryu_plugin. TestRyuPortsV2. test_update_ port tests.unit. ryu.test_ ryu_plugin. TestRyuPortsV2. test_update_ port_update_ ips tests.unit. ryu.test_ ryu_plugin. TestRyuPortsV2. test_update_ port_delete_ ip tests.unit. ryu.test_ ryu_plugin. TestRyuPortsV2. test_update_ port_add_ additional_ ip tests.unit. ryu.test_ ryu_plugin. TestRyuPortsV2. test_update_ port_not_ admin tests.unit. ryu.test_ ryu_plugin. TestRyuPortsV2. test_update_ port_update_ ip
neutron.
neutron.
neutron.
neutron.
neutron.
neutron.
File "/home/ ubuntu/ neutron/ .venv/local/ lib/python2. 7/site- packages/ eventlet/ greenthread. py", line 194, in main openstack/ common/ rpc/impl_ fake.py" , line 67, in _inner openstack/ common/ rpc/dispatcher. py", line 172, in dispatch plugins/ openvswitch/ agent/ovs_ neutron_ agent.py" , line 296, in port_update br.get_ vif_port_ by_id(port[ 'id']) agent/linux/ ovs_lib. py", line 362, in get_vif_port_by_id print_stack( )
result = function(*args, **kwargs)
File "neutron/
namespace, **args)
File "neutron/
result = getattr(proxyobj, method)(ctxt, **kwargs)
File "neutron/
vif_port = self.int_
File "neutron/
print traceback.
More intersting thing is that it occurs only when both OVS plugin test and Ryu plugin test are run. tests.unit. openvswitch. test_ovs_ neutron_ agent.TestOvsNe utronAgent, and tests.unit. ryu.test_ ryu_plugin. TestRyuPortsV2. test_update_ port
More precisely, it happens when we run
- first neutron.
- then neutron.
$ source .venv/bin/activate args='- -concurrency= 4 neutron. tests.unit. openvswitch. test_ovs_ neutron_ agent.TestOvsNe utronAgent neutron. tests.unit. ryu.test_ ryu_plugin. TestRyuPortsV2. test_update_ port'
$ OS_DEBUG=1 python setup.py testr --testr-