[Bug 1799737] Re: l3 agent external_network_bridge broken with ovs

Corey Bryant corey.bryant at canonical.com
Mon Nov 5 14:03:24 UTC 2018


Hi Junien,

Thanks for reporting this and making Ubuntu better. I've added the
upstream neutron project to this bug as this doesn't appear to be
limited to the Ubuntu package. Does the charm also need a fix for this?
If so we should add the charm project to this bug.

Thanks,
Corey

** Also affects: neutron
   Importance: Undecided
       Status: New

-- 
You received this bug notification because you are a member of Ubuntu
OpenStack, which is subscribed to neutron in Ubuntu.
https://bugs.launchpad.net/bugs/1799737

Title:
  l3 agent external_network_bridge broken with ovs

Status in neutron:
  New
Status in neutron package in Ubuntu:
  New

Bug description:
  Hi,

  I'm running queens on xenial. The following commit introduced a
  regression :
  https://git.openstack.org/cgit/openstack/neutron/commit/?id=2b1d413ee90dfe2e9ae41c35ab37253df53fc6cd
  (fixing bug 1767422)

  The following call is wrong (in router_info.py) :

  self.driver.remove_vlan_tag(self.agent_conf.external_network_bridge,
  interface_name)

  In this call, interface_name is something like "qg-abcdefg-12", but
  remove_vlan_tag() expects a tap interface. This results in the
  following log :

  2018-10-24 00:28:40.880 23623 DEBUG ovsdbapp.backend.ovs_idl.transaction [-] Running txn command(idx=0): DbClearCommand(column=tag, table=Port, record=qg-0410dbf1-51) do_commit /usr/lib/python2.7/dist-packages/ovsdbapp/backend/ovs_idl/transaction.py:84
  2018-10-24 00:28:40.881 23623 DEBUG ovsdbapp.backend.ovs_idl.transaction [-] Transaction aborted do_commit /usr/lib/python2.7/dist-packages/ovsdbapp/backend/ovs_idl/transaction.py:112

  
  Sadly, the cause of the "Transaction aborted" is hidden (in https://github.com/openstack/ovsdbapp/blob/master/ovsdbapp/backend/ovs_idl/transaction.py#L87). If I print the exception, I get the following :

  2018-10-24 00:28:40.881 23623 DEBUG
  ovsdbapp.backend.ovs_idl.transaction [-] EXCEPTION Cannot find Port
  with name=qg-0410dbf1-51 do_commit /usr/lib/python2.7/dist-
  packages/ovsdbapp/backend/ovs_idl/transaction.py:88

  
  Checking the ovs database reveals that Port "names" are the tap interfaces, not the qg- interfaces. The ports staying the VLAN 4095 will basically make the network unusable. Using the following call fixes my problem :

  self.driver.remove_vlan_tag(self.agent_conf.external_network_bridge,
  self.driver._get_tap_name(interface_name,prefix=EXTERNAL_DEV_PREFIX))

  It would be nice to print the exception caught in
  https://github.com/openstack/ovsdbapp/blob/master/ovsdbapp/backend/ovs_idl/transaction.py#L87
  by the way...

  Thanks !

  For reference :

  $ dpkg -l|grep neutron
  ii  neutron-common                   2:12.0.3-0ubuntu1~cloud0                     all          Neutron is a virtual network service for Openstack - common
  ii  neutron-dhcp-agent               2:12.0.3-0ubuntu1~cloud0                     all          Neutron is a virtual network service for Openstack - DHCP agent
  ii  neutron-l3-agent                 2:12.0.3-0ubuntu1~cloud0                     all          Neutron is a virtual network service for Openstack - l3 agent
  ii  neutron-lbaas-common             2:12.0.0-0ubuntu1~cloud0                     all          Neutron is a virtual network service for Openstack - common
  ii  neutron-lbaasv2-agent            2:12.0.0-0ubuntu1~cloud0                     all          Neutron is a virtual network service for Openstack - LBaaSv2 agent
  ii  neutron-metadata-agent           2:12.0.3-0ubuntu1~cloud0                     all          Neutron is a virtual network service for Openstack - metadata agent
  ii  neutron-metering-agent           2:12.0.3-0ubuntu1~cloud0                     all          Neutron is a virtual network service for Openstack - metering agent
  ii  neutron-openvswitch-agent        2:12.0.3-0ubuntu1~cloud0                     all          Neutron is a virtual network service for Openstack - Open vSwitch plugin agent
  ii  python-neutron                   2:12.0.3-0ubuntu1~cloud0                     all          Neutron is a virtual network service for Openstack - Python library
  ii  python-neutron-fwaas             1:12.0.0-0ubuntu1~cloud0                     all          Firewall-as-a-Service driver for OpenStack Neutron
  ii  python-neutron-lbaas             2:12.0.0-0ubuntu1~cloud0                     all          Loadbalancer-as-a-Service driver for OpenStack Neutron
  ii  python-neutron-lib               1.13.0-0ubuntu1~cloud0                       all          Neutron shared routines and utilities - Python 2.7
  ii  python-neutronclient             1:6.7.0-0ubuntu1~cloud0                      all          client API library for Neutron - Python 2.7

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



More information about the Ubuntu-openstack-bugs mailing list