[ovn] Multiple servers can try to create neutron_pg_drop at the same time

Bug #1934930 reported by Terry Wilson
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
neutron
Fix Released
High
Unassigned

Bug Description

Even though we use may_exist=True to create the neutron_pg_drop Port_Group, it's possible that when another server creates it before us that we don't get the update before we check if it exists before exiting.

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

Fix proposed to branch: master
Review: https://review.opendev.org/c/openstack/neutron/+/799900

Changed in neutron:
status: New → In Progress
Changed in neutron:
status: In Progress → Triaged
importance: Undecided → High
tags: added: ovn
Changed in neutron:
status: Triaged → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (master)

Reviewed: https://review.opendev.org/c/openstack/neutron/+/799900
Committed: https://opendev.org/openstack/neutron/commit/2e6f6c9ec30259d03363479e72e36129b08563b1
Submitter: "Zuul (22348)"
Branch: master

commit 2e6f6c9ec30259d03363479e72e36129b08563b1
Author: Terry Wilson <email address hidden>
Date: Wed Jul 7 18:21:47 2021 +0000

    Ensure only one worker creates neturon_pg_drop

    Use an OVSDB lock to ensure that only one worker tries to create
    the neutron_pg_drop port group. This also waits pre_fork so that if
    getting the port group fails, neutron exits instead of continuing
    on without the port group being created.

    It was previously possible that a server could create the port
    group and we wouldn't get the update before trying to create it
    ourselves and checking for its existence.

    This also modifies the get_port_group method to use the built-in
    lookup() which searches by name or uuid and can take advantage of
    both indexing and newly added ovsdbapp wait for sync functionality.

    Closes-Bug: #1934930
    Change-Id: Id870f746ff8e9741a7c211aebdcf13597d31465b

Changed in neutron:
status: In Progress → Fix Released
tags: added: neutron-proactive-backport-potential
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/neutron 19.0.0.0rc1

This issue was fixed in the openstack/neutron 19.0.0.0rc1 release candidate.

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

Fix proposed to branch: stable/wallaby
Review: https://review.opendev.org/c/openstack/neutron/+/865167

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

Reviewed: https://review.opendev.org/c/openstack/neutron/+/865167
Committed: https://opendev.org/openstack/neutron/commit/8f200e881fb6363e9ef721d910f6dddf27c0d251
Submitter: "Zuul (22348)"
Branch: stable/wallaby

commit 8f200e881fb6363e9ef721d910f6dddf27c0d251
Author: Terry Wilson <email address hidden>
Date: Wed Jul 7 18:21:47 2021 +0000

    Ensure only one worker creates neturon_pg_drop

    Use an OVSDB lock to ensure that only one worker tries to create
    the neutron_pg_drop port group. This also waits pre_fork so that if
    getting the port group fails, neutron exits instead of continuing
    on without the port group being created.

    It was previously possible that a server could create the port
    group and we wouldn't get the update before trying to create it
    ourselves and checking for its existence.

    This also modifies the get_port_group method to use the built-in
    lookup() which searches by name or uuid and can take advantage of
    both indexing and newly added ovsdbapp wait for sync functionality.

    Conflicts:
            neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/ovsdb_monitor.py

    Closes-Bug: #1934930
    Change-Id: Id870f746ff8e9741a7c211aebdcf13597d31465b
    (cherry picked from commit 2e6f6c9ec30259d03363479e72e36129b08563b1)

tags: added: in-stable-wallaby
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/neutron wallaby-eom

This issue was fixed in the openstack/neutron wallaby-eom release.

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.