OVS agent restart breaks connectivity when l2pop is turned on

Bug #1489372 reported by Eugene Nikanorov
34
This bug affects 4 people
Affects Status Importance Assigned to Milestone
neutron
Fix Released
High
Eugene Nikanorov

Bug Description

l2pop flows added during startup are added lazily through different mechanism than other flows.
This results in setting cookie=0x0 for such flows.
They are deleted later in the process of stale flows removal since cookie doesn't match current agent stamp.

tags: added: l2-pop ovs
Revision history for this message
Kyle Mestery (mestery) wrote :

Marked https://bugs.launchpad.net/neutron/+bug/1489592 as a duplicate of this bug.

Revision history for this message
Ryan Moats (rmoats) wrote :

I'd be curious to know if (like the duplicate) restacking the network node fixes this bug

Revision history for this message
Kyle Mestery (mestery) wrote :

Marking confirmed since Ryan Moats saw this as well.

Changed in neutron:
status: New → Confirmed
Revision history for this message
Ryan Moats (rmoats) wrote :

marked confirmed based on the duplicate bug filing

Changed in neutron:
status: Confirmed → In Progress
Revision history for this message
Eugene Nikanorov (enikanorov) wrote :
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (master)

Reviewed: https://review.openstack.org/218118
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=7c39642f3640d7b9a3a6a789b5e2f4d3f0cc6837
Submitter: Jenkins
Branch: master

commit 7c39642f3640d7b9a3a6a789b5e2f4d3f0cc6837
Author: Eugene Nikanorov <email address hidden>
Date: Thu Aug 27 16:34:32 2015 +0400

    Add flows to tunnel bridge with proper cookie.

    Without that fix flows applied to br-tun through
    DeferredOVSBridge are created without cookie.
    That results in l2pop flows being deleted in the process of
    cleanup of stale flows.

    Solution is to add cookie to all add/mod-flows of OVSBrigde
    class in the method do_action_flows.
    Also, agent_uuid_stamp moved to a proper place - into the
    base OVSBridge class as storing attributes in Mixing was
    just a wrong code design.

    Change-Id: Ic09a0dbc04fc5da38d30e1392cf2ea27d576040c
    Closes-Bug: #1489372

Changed in neutron:
status: In Progress → Fix Committed
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/219887

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

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

commit afd1983680aea739ef0e4b0ff2c07ab09c4a86fb
Author: armando-migliaccio <email address hidden>
Date: Tue Sep 1 15:45:50 2015 -0700

    Catch errors on 'port not found' while deleting subnet

    In some circumstances (like the one triggered by the test_dhcp_ipv6 testcase)
    calls to deleting a port and calls to deleting subnets can happen in straight
    sequence.

    If this happens the execution of the operations can interleave leading
    to the subnet deletion to fail because the port has already gone. This patch
    ensures a missing port is handled correctly.

    The method delete_subnet is ginormous and hence impossible to test at a unit
    level without proper refactoring. That can happen with a follow-up patch.

    Closes-bug: #1490832

    Change-Id: I80c3733c93b2b66c2a1c4bc3bc24272afdd88b1f

commit e27299c124d89145bf1bc23f057e1b124204235e
Author: Ihar Hrachyshka <email address hidden>
Date: Tue Sep 1 11:22:39 2015 +0200

    [rpc] pull: removed a hack to avoid object backport triggered

    Since oslo.versionedobjects 0.8.0, the object is not backported if the
    requested version is the same as the latest known.

    Change-Id: Ia1e9aa77b75261e4b2d2b24f31250ce2a2f028a7

commit 7ea38a14bd32a3697b2cd72be4c947aa19378185
Author: Pavel Bondar <email address hidden>
Date: Fri Jul 24 11:50:26 2015 +0300

    Enable py34 tests for pluggable ipam backend

    Enable neutron.tests.unit.db.test_ipam_pluggable_backend.
    It was disabled after extending ipam tests to run db_base_plugin tests,
    which are not py34 compatible yet.

    Change-Id: I3ae491fa79d4c3311a86e98db3fb2f7d5926a0ba

commit a9b72392a14a114a364785cd268f0f50615f43b0
Author: OpenStack Proposal Bot <email address hidden>
Date: Tue Sep 1 04:25:00 2015 +0000

    Updated from global requirements

    Change-Id: Ie5ad70b0afbeb5502cc41f585f6a3f2942203369

commit 28e54ef089e8b3eca8e86992340530948aec12b7
Author: sridhargaddam <email address hidden>
Date: Thu Aug 27 09:49:28 2015 +0000

    Fix import path in neutron-sanity-check for ml2_sriov opts

    neutron-sanity-check fails while importing ml2_sriov
    configuration. This patch fixes the import path and
    also includes a unit test to avoid such issues.

    Closes-Bug: #1489374
    Change-Id: I4265ee78be9e7f83e35c94187d4577b32005bef9

commit 61121c5f2af27e31092db7ac6947f796198410a8
Author: armando-migliaccio <email address hidden>
Date: Wed Jul 8 13:48:11 2015 -0700

    Decentralize the managemement of service providers

    After the service split, some of the configuration, parsing and
    validation was kept in the neutron core; ultimately this needs to
    get closer to the services where it belongs.

    This patch starts from ProviderConfiguration and ServiceTypeManager
    classes, and aims at removing the hard-coded elements, like the list
    of known advanced services, so that in the long run we can make
    Neutron ea...

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

Duplicates of this bug

Other bug subscribers

Remote bug watches

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