Native ovsdb implementation not working

Bug #1528894 reported by Mohammed Naser
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
neutron
Fix Released
Medium
Hynek Mlnarik

Bug Description

When trying to use the new native OVSDB provider, the connectivity never goes up due to the fact that what seems to be the db_set operation failing to change the patch ports from "nonexistant-peer" to the correct peer, therefore not linking the bridges together.

https://github.com/openstack/neutron/blob/master/neutron/plugins/ml2/drivers/openvswitch/agent/ovs_neutron_agent.py#L1119

The system must be running the latest Liberty release, python-openvswitch package installed and the following command executed:

# ovs-vsctl set-manager ptcp:6640:127.0.0.1

Once that's all done, the openvswitch agent configuration should be changed to the following:

[OVS]
ovsdb_interface = ovsdb

Restarting the OVS agent will setup everything but leave your network in a failed state because the correct patch ports aren't updated:

# ovs-vsctl show
    Bridge br-ex
        Port br-ex
            Interface br-ex
                type: internal
        Port "em1"
            Interface "em1"
        Port phy-br-ex
            Interface phy-br-ex
                type: patch
                options: {peer=nonexistent-peer}
    Bridge br-int
        fail_mode: secure
        Port "qvo25d28228-9c"
            tag: 1
            Interface "qvo25d28228-9c"
...
        Port int-br-ex
            Interface int-br-ex
                type: patch
                options: {peer=nonexistent-peer}

Reverting to the regular old forked implementation works with no problems.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to neutron (master)

Fix proposed to branch: master
Review: https://review.openstack.org/297214

Changed in neutron:
assignee: nobody → Hynek Mlnarik (hmlnarik-s)
status: New → In Progress
Revision history for this message
Hynek Mlnarik (hmlnarik-s) wrote :

The issue is manifested in functional tests: after DbSetCommand that sets options:peer, transaction is aborted:

DEBUG neutron.agent.ovsdb.impl_idl [-] Running txn command(idx=0): DbSetCommand(record=int-br-inbfd653, table=Interface, col_values=(('options:peer', 'phy-br-inbfd653'),)) do_commit neutron/agent/ovsdb/impl_idl.py:77
DEBUG neutron.agent.ovsdb.impl_idl [-] Transaction aborted do_commit neutron/agent/ovsdb/impl_idl.py:102

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to neutron (master)

Related fix proposed to branch: master
Review: https://review.openstack.org/297303

Revision history for this message
Assaf Muller (amuller) wrote :

Added a fullstack test to catch this sort of stuff in the future.

Changed in neutron:
importance: Undecided → Medium
tags: added: ovs-lib
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to neutron (stable/liberty)

Fix proposed to branch: stable/liberty
Review: https://review.openstack.org/297343

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to neutron (stable/mitaka)

Fix proposed to branch: stable/mitaka
Review: https://review.openstack.org/297344

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (master)

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

commit d130245967fa4d31fd54eaede38c3fdb42d51916
Author: Hynek Mlnarik <email address hidden>
Date: Thu Mar 24 16:22:17 2016 +0100

    Fix setting peer to bridge interfaces

    OVSDB implementation refuses to set options:peer column value
     as there is no such column in the Interface table. The correct way
     is to set 'options' column value to a map containing key 'peer', as
     already used in ovs_lib.

    Change-Id: Ib5e956f425b36f54cda017c91ac71d9d7ee9747c
    Closes-Bug: 1528894

Changed in neutron:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to neutron (master)

Reviewed: https://review.openstack.org/297303
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=6e5b877bda0d95c6fdd644986403773225533726
Submitter: Jenkins
Branch: master

commit 6e5b877bda0d95c6fdd644986403773225533726
Author: Assaf Muller <email address hidden>
Date: Thu Mar 24 14:22:20 2016 -0400

    Add fullstack connectivity test with ovsdb native interface

    Related-Bug: #1528894
    Change-Id: Idb0d6a1fc15d519af40f02364bda57e794e6f3b8

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (stable/mitaka)

Reviewed: https://review.openstack.org/297344
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=99915fa76bd4ce13e0d36059616ba357f4f54ee2
Submitter: Jenkins
Branch: stable/mitaka

commit 99915fa76bd4ce13e0d36059616ba357f4f54ee2
Author: Hynek Mlnarik <email address hidden>
Date: Thu Mar 24 16:22:17 2016 +0100

    Fix setting peer to bridge interfaces

    OVSDB implementation refuses to set options:peer column value
     as there is no such column in the Interface table. The correct way
     is to set 'options' column value to a map containing key 'peer', as
     already used in ovs_lib.

    Change-Id: Ib5e956f425b36f54cda017c91ac71d9d7ee9747c
    Closes-Bug: 1528894

tags: added: in-stable-mitaka
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to neutron (stable/kilo)

Fix proposed to branch: stable/kilo
Review: https://review.openstack.org/298707

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to neutron (master)

Related fix proposed to branch: master
Review: https://review.openstack.org/299380

Revision history for this message
Doug Hellmann (doug-hellmann) wrote : Fix included in openstack/neutron 8.0.0.0rc3

This issue was fixed in the openstack/neutron 8.0.0.0rc3 release candidate.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to neutron (stable/kilo)

Fix proposed to branch: stable/kilo
Review: https://review.openstack.org/300544

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on neutron (stable/kilo)

Change abandoned by Hynek Mlnarik (<email address hidden>) on branch: stable/kilo
Review: https://review.openstack.org/298707
Reason: Apologies, did not notice this. Change in Change-Id induced a new git review. Replaced with https://review.openstack.org/300544

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (stable/liberty)

Reviewed: https://review.openstack.org/297343
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=0e543db4ff639ed9b32bca2276e22696f919999d
Submitter: Jenkins
Branch: stable/liberty

commit 0e543db4ff639ed9b32bca2276e22696f919999d
Author: Hynek Mlnarik <email address hidden>
Date: Thu Mar 24 16:22:17 2016 +0100

    Fix setting peer to bridge interfaces

    OVSDB implementation refuses to set options:peer column value
     as there is no such column in the Interface table. The correct way
     is to set 'options' column value to a map containing key 'peer', as
     already used in ovs_lib.

    Change-Id: Ib5e956f425b36f54cda017c91ac71d9d7ee9747c
    Closes-Bug: 1528894
    (cherry picked from commit d130245967fa4d31fd54eaede38c3fdb42d51916)

tags: added: in-stable-liberty
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to neutron (master)

Fix proposed to branch: master
Review: https://review.openstack.org/302570

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (master)
Download full text (11.4 KiB)

Reviewed: https://review.openstack.org/302570
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=03ccdd6a6d8e4cea9145e39dd7a1614656024aed
Submitter: Jenkins
Branch: master

commit 3213eb124e40b130e174ac3a91067e2b196788dd
Author: Cedric Brandily <email address hidden>
Date: Tue Mar 29 18:06:44 2016 +0200

    Support Routes==2.3

    SubMapper.connect allows in Routes<=2.2 to define routes with/without a
    name:

     map.connect(route_name, route_path)
     map.connect(route_path)

    Routes==2.3 SubMapper.connect now requires a route name (but not
    Mapper.connect). This change adds a route name when needed to support
    Routes<=2.2 and Routes==2.3.

    Closes-Bug: #1563028
    Change-Id: I655bfe7f047945896d63dd94c584acfe60d81b38
    (cherry picked from commit c6efa6292cac9267428366dc3cee00f6fc73e208)

commit 4283a7e36b74823f229400f0f049742f630db28b
Author: Ihar Hrachyshka <email address hidden>
Date: Wed Mar 30 11:48:37 2016 +0200

    Constraint requirements using mitaka upper-constraints.txt file

    Change-Id: I6a908470987ce05769c425c4623df404cef76a10

commit fc690974480611242d4fc6e1deaaf68171fcaed3
Author: OpenStack Proposal Bot <email address hidden>
Date: Wed Mar 30 06:21:15 2016 +0000

    Imported Translations from Zanata

    For more information about this automatic import see:
    https://wiki.openstack.org/wiki/Translations/Infrastructure

    Change-Id: I78c24969927224277f381532ad2604cfde8741fc

commit 41be555eddb0f9947fdaa4e73fa74a72677d4d11
Author: OpenStack Proposal Bot <email address hidden>
Date: Tue Mar 29 06:07:19 2016 +0000

    Imported Translations from Zanata

    For more information about this automatic import see:
    https://wiki.openstack.org/wiki/Translations/Infrastructure

    Change-Id: Iafa43bfcfca4d6af0d0866206c07fa817f567de6

commit b435ec56af98d2c04de37dd779ed3613ec4583ad
Author: OpenStack Proposal Bot <email address hidden>
Date: Mon Mar 28 06:07:02 2016 +0000

    Imported Translations from Zanata

    For more information about this automatic import see:
    https://wiki.openstack.org/wiki/Translations/Infrastructure

    Change-Id: I9e908579b4704c4294367113523b898839586426

commit bec65f6cdd159ec252c4aa0a63aabc9aea8fcfba
Author: YAMAMOTO Takashi <email address hidden>
Date: Fri Mar 25 15:25:39 2016 +0900

    api tests: Check correct extensions

    auto_allocate -> auto-allocated-topology
    rbac_policies -> rbac-policies

    Closes-Bug: #1561858

    (cherry picked from commit 9d3bab6b8d6b2122732faeb66f831927bee0ac7e)
    Change-Id: Ied13e52bf78afe571f7243e93005bf5c68fe44db

commit f0c3b19165a5ca73ea8f1dc0ddaad290eee35039
Author: OpenStack Proposal Bot <email address hidden>
Date: Fri Mar 25 06:06:36 2016 +0000

    Imported Translations from Zanata

    For more information about this automatic import see:
    https://wiki.openstack.org/wiki/Translations/Infrastructure

    Change-Id: Idb22eac32944a088d24f4d44e537d9bba09dbcc2

commit 99915fa76bd4ce13e0d36059616ba357f4f54ee2
Author: Hynek Mlnarik <email address hidden>
Date: Thu Mar...

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to neutron (master)

Reviewed: https://review.openstack.org/299380
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=0c2caa977f120d045b20edaf0b6dd6176ce5def4
Submitter: Jenkins
Branch: master

commit 0c2caa977f120d045b20edaf0b6dd6176ce5def4
Author: Inessa Vasilevskaya <email address hidden>
Date: Wed Mar 30 15:54:04 2016 +0300

    Fullstack connectivity: test interface scenario added.

    This patch adds (of_interface=native, ovsdb_interface=native)
    test scenario. Other scenarios have been renamed for the
    configuration to be self-explanatory.

    Change-Id: I302db874ffa61004d706d946ba8fdb35b927e830
    Related-bug: #1528894

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to neutron (stable/kilo)

Fix proposed to branch: stable/kilo
Review: https://review.openstack.org/304965

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on neutron (stable/kilo)

Change abandoned by Hynek Mlnarik (<email address hidden>) on branch: stable/kilo
Review: https://review.openstack.org/300544
Reason: Reproposed as https://review.openstack.org/#/c/304965/

Revision history for this message
OpenStack Infra (hudson-openstack) wrote :

Change abandoned by Dave Walker (<email address hidden>) on branch: stable/kilo
Review: https://review.openstack.org/304965
Reason:
stable/kilo closed for 2015.1.4

This release is now pending its final release and no freeze exception has
been seen for this changeset. Therefore, I am now abandoning this change.

If this is not correct, please urgently raise a thread on openstack-dev.

More details at: https://wiki.openstack.org/wiki/StableBranch

Revision history for this message
Thierry Carrez (ttx) wrote : Fix included in openstack/neutron 7.1.0

This issue was fixed in the openstack/neutron 7.1.0 release.

Revision history for this message
Doug Hellmann (doug-hellmann) wrote : Fix included in openstack/neutron 9.0.0.0b1

This issue was fixed in the openstack/neutron 9.0.0.0b1 development milestone.

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.