test_assert_bridges_ports_vxlan functional test fails

Bug #1470637 reported by Kevin Benton
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
neutron
Fix Released
Undecided
Kevin Benton

Bug Description

This is caused by too long of a random name on the bridge so the veth pairs get hashed names that the test isn't expecting.

2015-07-01 17:19:37,656 INFO [neutron.plugins.ml2.drivers.openvswitch.agent.ovs_neutron_agent] Mapping physical network physnet to bridge br-int857970511
2015-07-01 17:19:37,672 WARNING [neutron.plugins.ml2.drivers.openvswitch.agent.ovs_neutron_agent] Creating an interface named br-int857970511 exceeds the 15 character limitation. It was shortened to int-br-inb25be8 to fit.
2015-07-01 17:19:37,672 WARNING [neutron.plugins.ml2.drivers.openvswitch.agent.ovs_neutron_agent] Creating an interface named br-int857970511 exceeds the 15 character limitation. It was shortened to phy-br-inb25be8 to fit.
2015-07-01 17:19:37,743 ERROR [neutron.agent.ovsdb.impl_vsctl] Unable to execute ['ovs-vsctl', '--timeout=10', '--oneline', '--format=json', '--', '--may-exist', 'add-port', 'br-int857970511', 'br-in-patch-tun', '--', 'set', 'Interface', 'br-in-patch-tun', 'type=patch', 'options:peer=br-tu-patch-int'].
Traceback (most recent call last):
  File "neutron/agent/ovsdb/impl_vsctl.py", line 63, in run_vsctl
    log_fail_as_error=False).rstrip()
  File "neutron/agent/linux/utils.py", line 138, in execute
    raise RuntimeError(m)
RuntimeError:
Command: ['ovs-vsctl', '--timeout=10', '--oneline', '--format=json', '--', '--may-exist', 'add-port', 'br-int857970511', 'br-in-patch-tun', '--', 'set', 'Interface', 'br-in-patch-tun', 'type=patch', 'options:peer=br-tu-patch-int']
Exit code: 1
Stdin:
Stdout:
Stderr: ovs-vsctl: "--may-exist add-port br-int857970511 br-in-patch-tun" but br-in-patch-tun is actually attached to bridge br-int811298200

2015-07-01 17:19:37,752 ERROR [neutron.agent.ovsdb.impl_vsctl] Unable to execute ['ovs-vsctl', '--timeout=10', '--oneline', '--format=json', '--', '--may-exist', 'add-port', 'br-tun352940953', 'br-tu-patch-int', '--', 'set', 'Interface', 'br-tu-patch-int', 'type=patch', 'options:peer=br-in-patch-tun'].
Traceback (most recent call last):
  File "neutron/agent/ovsdb/impl_vsctl.py", line 63, in run_vsctl
    log_fail_as_error=False).rstrip()
  File "neutron/agent/linux/utils.py", line 138, in execute
    raise RuntimeError(m)
RuntimeError:
Command: ['ovs-vsctl', '--timeout=10', '--oneline', '--format=json', '--', '--may-exist', 'add-port', 'br-tun352940953', 'br-tu-patch-int', '--', 'set', 'Interface', 'br-tu-patch-int', 'type=patch', 'options:peer=br-in-patch-tun']
Exit code: 1
Stdin:
Stdout:
Stderr: ovs-vsctl: "--may-exist add-port br-tun352940953 br-tu-patch-int" but br-tu-patch-int is actually attached to bridge br-tun804966222

2015-07-01 17:19:37,894 WARNING [neutron.agent.securitygroups_rpc] Driver configuration doesn't match with enable_security_group
}}}

Traceback (most recent call last):
  File "neutron/tests/functional/agent/test_l2_ovs_agent.py", line 292, in test_assert_bridges_ports_vxlan
    self.assert_bridge_ports()
  File "neutron/tests/functional/agent/test_l2_ovs_agent.py", line 203, in assert_bridge_ports
    self.assertTrue(self.ovs.port_exists(port))
  File "/opt/stack/new/neutron/.tox/dsvm-functional/local/lib/python2.7/site-packages/unittest2/case.py", line 702, in assertTrue
    raise self.failureException(msg)
AssertionError: False is not true

Changed in neutron:
assignee: nobody → Kevin Benton (kevinbenton)
Changed in neutron:
status: New → In Progress
Changed in neutron:
status: In Progress → Fix Committed
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to neutron (feature/qos)

Fix proposed to branch: feature/qos
Review: https://review.openstack.org/197990

Akihiro Motoki (amotoki)
Changed in neutron:
milestone: none → liberty-2
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (feature/qos)
Download full text (3.5 KiB)

Reviewed: https://review.openstack.org/197990
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=8a0e11143cadfc925e6f986fb39d73e6879a8fae
Submitter: Jenkins
Branch: feature/qos

commit f1771131a85a2fe633126f354364205554ef71d1
Author: Kevin Benton <email address hidden>
Date: Wed Jul 1 13:06:38 2015 -0700

    Change the half of the bridge name used for ports

    The code to generate the names of the patch ports
    was based on a chunk of the bridge name starting from
    the beginning. With the long suffix, this ended up
    excluding all of the random characters in the name.
    (e.g. br-int374623235 would create an interface br-in-patch-tun).

    This meant that if two tests using patch interfaces ran together,
    they would have a name collision and one would fail.

    This patch updates the patch port name generation to use the
    randomized back portion of the name.

    Change-Id: I172e0b2c0b53e8c7151bd92f0915773ea62c0c6a
    Closes-Bug: #1470637

commit 49569327c20d8a10ba3d426833ff28d68b1b7a27
Author: armando-migliaccio <email address hidden>
Date: Wed Jul 1 12:00:14 2015 -0700

    Fix log traces induced by retry decorator

    Patch 4e77442d5 added a retry decorator to the API layer
    to catch DB deadlock errors. However, when they occur, the
    retried operation ends up being ineffective because the original
    body has been altered, which leads the notification and validation
    layers to barf exceptions due to unrecognized/unserializable elements.

    This ultimately results to an error reported to the user.

    To address this, let's make a deep copy of the request body, before
    we pass it down to the lower layers. This allows the decorator to
    work on a pristine copy of the body on every attempt. The performance
    impact for this should be negligible.

    Closes-bug: #1470615

    Change-Id: I82a2a002612d28fa8f97b0afbd4f7ba1e8830377

commit cf8c9e40c8720036bd0c06bd8370f88a472e3e6f
Author: Fawad Khaliq <email address hidden>
Date: Tue Jun 30 02:17:19 2015 -0700

    Update PLUMgrid plugin information

    README was quite oudated and created confusion
    among users.

    Updated the information after decomposition.

    Change-Id: I78bf8dec20ba2ceb644d4565035d29bbf53cb3b5

commit 8dd8a7d93564168b98fa2350eedf56acede42b0f
Author: Sean M. Collins <email address hidden>
Date: Tue Jun 30 12:06:07 2015 -0400

    Remove bridge cleanup call

    Remove the bridge cleanup call to delete bridges, since we are seeing
    race conditions where bridges are deleted, then new interfaces are
    created and are attempting to plug into the bridge before it is
    recreated.

    Change-Id: I4ccc96566a5770384eacbbdc492bf09a514f5b31
    Related-Bug: #1328546

commit 4dc68ea88bf4f07b13253bf9eeedffe22b1f8013
Author: Kevin Benton <email address hidden>
Date: Thu May 28 23:13:19 2015 -0700

    Read vif port information in bulk

    During startup, the agent was making many calls per port
    to read information about the current VLAN, external ID, etc.
    This resulted in hundreds of calls just to read information about
    a relatively small num...

Read more...

tags: added: in-feature-qos
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to neutron (feature/pecan)

Fix proposed to branch: feature/pecan
Review: https://review.openstack.org/200163

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (feature/pecan)
Download full text (28.1 KiB)

Reviewed: https://review.openstack.org/200163
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=ec799c458976d5bdc03f36fa4bf56c8ca0160614
Submitter: Jenkins
Branch: feature/pecan

commit a0a022373b90835059b8949a57b097030bcbc37e
Author: John Davidge <email address hidden>
Date: Tue Jul 7 17:00:01 2015 +0100

    Fix issues with allocation pool generation for ::/64 cidr

    Passing a ::/64 cidr to certain netaddr functions without specifying
    the ip_version causes errors. Fix this by specifying ip_version.

    Change-Id: I31aaf9f5dabe4dd0845507f245387cd4186c410c
    Closes-Bug: 1472304

commit c28b6b0ef8606abea00eeea4fde96a4f646da952
Author: Brian Haley <email address hidden>
Date: Tue Jul 7 17:03:04 2015 -0400

    Remove lingering traces of q_

    The rename from Quantum to Neutron left a few q_ strings
    around, let's go ahead and clean them up.

    Change-Id: I06e6bdbd0c2f3a25bb90b5fa291009b9ec2d471d

commit 5b6ca5ce898a2e9a810ec49a1712337a41822788
Author: armando-migliaccio <email address hidden>
Date: Tue Jul 7 11:13:41 2015 -0700

    Make sure path_prefix is set during unit tests

    Change 18bc67d5 broke *-aas unit tests.

    This change ensures that mocking is done correctly, the same way
    it is done for the other plugin attributes

    Change-Id: I4167f18560e3a3aad652aae1ea9d3c6bc34dc796
    Closes-bug: #1472361

commit 13b0f6f8e2fd1e84ff3580cd75bb879e18064da6
Author: Carl Baldwin <email address hidden>
Date: Tue Jul 7 16:41:03 2015 +0000

    Add IP_ANY dict to ease choosing between IPv4 and IPv6 "any" address

    I'm working on a new patch that will add one more case where we need
    to choose between 0.0.0.0/0 and ::/0 based on the ip version. I
    thought I'd add a new constant and simplify a couple of existing uses.

    Change-Id: I376d60c7de4bafcaf2387685ddcc1d98978ce446

commit a863342caf7da9a1c0430549c1ea1e53408b34af
Author: Cyril Roelandt <email address hidden>
Date: Tue Jul 7 14:25:06 2015 +0000

    Python3: cast the result of zip() to list

    The result of get_sorts was a 'zip object' in Python 3, and it was later used
    as a list, which fails. Just cast the result to a list to fix this issue.

    Change-Id: I12017f79cad92b1da4fe5f9939b38436db7219eb
    Blueprint: neutron-python3

commit 8b13609edac2c136e1a0acbc05ad93059bb59fc1
Author: Pavel Bondar <email address hidden>
Date: Thu Jul 2 11:35:18 2015 +0300

    Track allocation_pools in SubnetRequest

    To keep pluggable and non-pluggable ipam implementation consistent
    non-pluggable one has to be switched to track allocation_pools and
    gateway_ip using SubnetRequests.
    SubnetRequest requires allocation_pools to be list of IPRanges.
    Previously allocation_pools were tracked as list of dicts.
    So allocation_pools generating and validating was moved before
    SubnetRequest is created.

    Partially-Implements: blueprint neutron-ipam

    Change-Id: I8d2fec3013b302db202121f946b53a0610ae8321

commit 04197bc4bbf2bc611371060db839028c2686f87a
Author: Kevin Benton <email address hidden>
Date: Mon Jun 29 21:05:08 2015 -0700

    Add ARP spoofing protection for ...

tags: added: in-feature-pecan
Changed in neutron:
status: Fix Committed → Fix Released
Thierry Carrez (ttx)
Changed in neutron:
milestone: liberty-2 → 7.0.0
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.