← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1625724] [NEW] some functional ovs tests are not mutually isolated

 

Public bug reported:

Some tests, like ARPSpoofTestCase or OVSFlowTestCase, don't set
int_peer_patch_port and tun_peer_patch_port to unique values, making
tests clash on attempt to add the same port to different bridges:

http://logs.openstack.org/17/372817/1/check/gate-neutron-dsvm-
functional-ubuntu-trusty/dc73766/testr_results.html.gz

Traceback (most recent call last):
  File "neutron/tests/functional/agent/test_ovs_flows.py", line 351, in setUp
    self.br_tun.setup_default_table(self.tun_p, True)
  File "neutron/plugins/ml2/drivers/openvswitch/agent/openflow/native/br_tun.py", line 119, in setup_default_table
    actions=actions)
  File "neutron/plugins/ml2/drivers/openvswitch/agent/openflow/native/ofswitch.py", line 201, in install_apply_actions
    **match_kwargs)
  File "neutron/plugins/ml2/drivers/openvswitch/agent/openflow/native/ofswitch.py", line 188, in install_instructions
    self._send_msg(msg)
  File "neutron/plugins/ml2/drivers/openvswitch/agent/openflow/native/ofswitch.py", line 89, in _send_msg
    raise RuntimeError(m)
RuntimeError: ofctl request version=0x4,msg_type=0xe,msg_len=None,xid=0xefa1def,OFPFlowMod(buffer_id=4294967295,command=0,cookie=11167842442732864518L,cookie_mask=0,flags=0,hard_timeout=0,idle_timeout=0,instructions=[OFPInstructionActions(actions=[NXActionLearn(cookie=11167842442732864518L,experimenter=8992,fin_hard_timeout=0,fin_idle_timeout=0,flags=0,hard_timeout=300,idle_timeout=0,len=96,priority=1,specs=[NXFlowSpecMatch(dst=('vlan_tci', 0),n_bits=12,src=('vlan_tci', 0)), NXFlowSpecMatch(dst=('eth_dst', 0),n_bits=48,src=('eth_src', 0)), NXFlowSpecLoad(dst=('vlan_tci', 0),n_bits=16,src=0), NXFlowSpecLoad(dst=('tunnel_id', 0),n_bits=64,src=('tunnel_id', 0)), NXFlowSpecOutput(dst='',n_bits=32,src=('in_port', 0))],subtype=16,table_id=20,type=65535), OFPActionOutput(len=16,max_len=0,port=-1,type=0)],type=4)],match=OFPMatch(oxm_fields={}),out_group=0,out_port=0,priority=1,table_id=10) timed out

In the test log:

http://logs.openstack.org/17/372817/1/check/gate-neutron-dsvm-
functional-ubuntu-trusty/dc73766/logs/dsvm-functional-
logs/neutron.tests.functional.agent.test_ovs_flows.OVSFlowTestCase.test_install_flood_to_tun_native,vsctl_.txt.gz#_2016-09-20_06_49_39_366

2016-09-20 06:49:39.366 26997 ERROR neutron.agent.ovsdb.impl_vsctl [req-
0efe376e-dfa5-407b-a462-55084cdb57ad - - - - -] Unable to execute ['ovs-
vsctl', '--timeout=10', '--oneline', '--format=json', '--', '--may-
exist', 'add-port', 'test-brdd5b39b5', 'patch-int', '--', 'set',
'Interface', 'patch-int', 'type=patch', 'options:peer=patch-tun'].
Exception: Exit code: 1; Stdin: ; Stdout: ; Stderr: ovs-vsctl: "--may-
exist add-port test-brdd5b39b5 patch-int" but patch-int is actually
attached to bridge test-br3454b438

Some other test used the same name for patch-int port.

** Affects: neutron
     Importance: High
         Status: New


** Tags: functional-tests gate-failure

** Tags added: functional-tests

** Changed in: neutron
   Importance: Undecided => High

** Tags added: gate-failure

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

Title:
  some functional ovs tests are not mutually isolated

Status in neutron:
  New

Bug description:
  Some tests, like ARPSpoofTestCase or OVSFlowTestCase, don't set
  int_peer_patch_port and tun_peer_patch_port to unique values, making
  tests clash on attempt to add the same port to different bridges:

  http://logs.openstack.org/17/372817/1/check/gate-neutron-dsvm-
  functional-ubuntu-trusty/dc73766/testr_results.html.gz

  Traceback (most recent call last):
    File "neutron/tests/functional/agent/test_ovs_flows.py", line 351, in setUp
      self.br_tun.setup_default_table(self.tun_p, True)
    File "neutron/plugins/ml2/drivers/openvswitch/agent/openflow/native/br_tun.py", line 119, in setup_default_table
      actions=actions)
    File "neutron/plugins/ml2/drivers/openvswitch/agent/openflow/native/ofswitch.py", line 201, in install_apply_actions
      **match_kwargs)
    File "neutron/plugins/ml2/drivers/openvswitch/agent/openflow/native/ofswitch.py", line 188, in install_instructions
      self._send_msg(msg)
    File "neutron/plugins/ml2/drivers/openvswitch/agent/openflow/native/ofswitch.py", line 89, in _send_msg
      raise RuntimeError(m)
  RuntimeError: ofctl request version=0x4,msg_type=0xe,msg_len=None,xid=0xefa1def,OFPFlowMod(buffer_id=4294967295,command=0,cookie=11167842442732864518L,cookie_mask=0,flags=0,hard_timeout=0,idle_timeout=0,instructions=[OFPInstructionActions(actions=[NXActionLearn(cookie=11167842442732864518L,experimenter=8992,fin_hard_timeout=0,fin_idle_timeout=0,flags=0,hard_timeout=300,idle_timeout=0,len=96,priority=1,specs=[NXFlowSpecMatch(dst=('vlan_tci', 0),n_bits=12,src=('vlan_tci', 0)), NXFlowSpecMatch(dst=('eth_dst', 0),n_bits=48,src=('eth_src', 0)), NXFlowSpecLoad(dst=('vlan_tci', 0),n_bits=16,src=0), NXFlowSpecLoad(dst=('tunnel_id', 0),n_bits=64,src=('tunnel_id', 0)), NXFlowSpecOutput(dst='',n_bits=32,src=('in_port', 0))],subtype=16,table_id=20,type=65535), OFPActionOutput(len=16,max_len=0,port=-1,type=0)],type=4)],match=OFPMatch(oxm_fields={}),out_group=0,out_port=0,priority=1,table_id=10) timed out

  In the test log:

  http://logs.openstack.org/17/372817/1/check/gate-neutron-dsvm-
  functional-ubuntu-trusty/dc73766/logs/dsvm-functional-
  logs/neutron.tests.functional.agent.test_ovs_flows.OVSFlowTestCase.test_install_flood_to_tun_native,vsctl_.txt.gz#_2016-09-20_06_49_39_366

  2016-09-20 06:49:39.366 26997 ERROR neutron.agent.ovsdb.impl_vsctl
  [req-0efe376e-dfa5-407b-a462-55084cdb57ad - - - - -] Unable to execute
  ['ovs-vsctl', '--timeout=10', '--oneline', '--format=json', '--',
  '--may-exist', 'add-port', 'test-brdd5b39b5', 'patch-int', '--',
  'set', 'Interface', 'patch-int', 'type=patch', 'options:peer=patch-
  tun']. Exception: Exit code: 1; Stdin: ; Stdout: ; Stderr: ovs-vsctl:
  "--may-exist add-port test-brdd5b39b5 patch-int" but patch-int is
  actually attached to bridge test-br3454b438

  Some other test used the same name for patch-int port.

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


Follow ups