← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1622850] Re: The use_veth_interconnection config doesn't work fine

 

Reviewed:  https://review.openstack.org/369160
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=951cd80c341fdc2783c8e3042a9e93becab58e36
Submitter: Jenkins
Branch:    master

commit 951cd80c341fdc2783c8e3042a9e93becab58e36
Author: Hirofumi Ichihara <ichihara.hirofumi@xxxxxxxxxxxxx>
Date:   Tue Sep 13 15:04:52 2016 +0900

    Pass not IPDevice but port_name into OVSBridge's add_port()
    
    The use_veth_interconnection config doesn't work fine because
    IPDevice is passed into OVSBridge's add_port() although the method
    expects port_name. This patch fixes the wrong argument.
    
    Change-Id: I6ea3e37d857f34228c41118709b91f4407555a33
    Closes-Bug: #1622850


** 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/1622850

Title:
  The use_veth_interconnection config doesn't work fine

Status in neutron:
  Fix Released

Bug description:
  The use_veth_interconnection config doesn't work fine because IPDevice
  is passed into OVSBridge's add_port() although the method expects
  port_name.

  * current wrong codes
  int_ofport = self.int_br.add_port(int_veth)
  phys_ofport = br.add_port(phys_veth)

  * expecting codes
  int_ofport = self.int_br.add_port(int_if_name)
  phys_ofport = br.add_port(phys_if_name)

  
  This issue doesn't happen in a case using ovs-vsctl because IPDevice has __str__() overridden (returns device name). However, In a case using native(ryu app), the issue happens.

  * log
  Timed out retrieving ofport on port phy-br-eth1.
  2016-09-13 08:54:16.854 TRACE neutron.agent.common.ovs_lib Traceback (most recent call last):
  2016-09-13 08:54:16.854 TRACE neutron.agent.common.ovs_lib   File "/opt/stack/neutron/neutron/agent/common/ovs_lib.py", line 286, in get_port_ofport
  2016-09-13 08:54:16.854 TRACE neutron.agent.common.ovs_lib     ofport = self._get_port_ofport(port_name)
  2016-09-13 08:54:16.854 TRACE neutron.agent.common.ovs_lib   File "/opt/stack/neutron/neutron/agent/common/ovs_lib.py", line 92, in wrapped
  2016-09-13 08:54:16.854 TRACE neutron.agent.common.ovs_lib     return new_fn(*args, **kwargs)
  2016-09-13 08:54:16.854 TRACE neutron.agent.common.ovs_lib   File "/usr/local/lib/python2.7/dist-packages/retrying.py", line 49, in wrapped_f
  2016-09-13 08:54:16.854 TRACE neutron.agent.common.ovs_lib     return Retrying(*dargs, **dkw).call(f, *args, **kw)
  2016-09-13 08:54:16.854 TRACE neutron.agent.common.ovs_lib   File "/usr/local/lib/python2.7/dist-packages/retrying.py", line 214, in call
  2016-09-13 08:54:16.854 TRACE neutron.agent.common.ovs_lib     raise RetryError(attempt)
  2016-09-13 08:54:16.854 TRACE neutron.agent.common.ovs_lib RetryError: RetryError[Attempts: 16, Value: None]

  Actually I saw there is no phy-br-eth1 device in my env and then the
  interface is created after I have fixed above.

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


References