ovsdb monitor ignores modified ports

Bug #1843870 reported by Lucian Petrut
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
neutron
Fix Released
Medium
Lucian Petrut

Bug Description

The ovsdb monitor used by Neutron ignores modified ports. For this reason, some port changes will not be handled.

One particular case comes from ofport changes. On Windows, depending on the OVS version, the ofport can change after VM reboots. The neutron ovs agent will have to update the flows in this situation, which it does, but only when "minimize_polling" is disabled.

The neutron ovsdb monitor should propagate the events received for modified ports. Those can either be part of the "added" device list or have a separate one for modified ports.

description: updated
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/681984

Changed in neutron:
assignee: nobody → Lucian Petrut (petrutlucian94)
status: New → In Progress
Miguel Lavalle (minsel)
Changed in neutron:
importance: Undecided → Medium
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (master)

Reviewed: https://review.opendev.org/681984
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=451c21571f40ca83eb3189e5c924b03c0561f853
Submitter: Zuul
Branch: master

commit 451c21571f40ca83eb3189e5c924b03c0561f853
Author: Lucian Petrut <email address hidden>
Date: Thu Sep 12 17:34:04 2019 +0300

    ovsdb monitor: handle modified ports

    This patch ensures that the ovsdb monitor propagates the events
    received for modified ports.

    We'll use a new list for the modified ports, which the neutron ovs
    agent can handle.

    In particular, this will cover the situation in which the ofport
    changes. When using recent OVS Windows versions, VM ofports change
    to -1 (invalid) when the VMs are shut down, receiving a valid
    ofport when the VMs are powered back on (different than the initial
    one). With this patch applied, "modify" events will be propagated
    to the ovs agent, which will then update the OpenFlow rules.
    The old rules are cleaned up by "update_stale_ofport_rules"
    once the invalid ofport is detected.

    Closes-Bug: #1843870
    Co-authored-by: Alin Serdean <email address hidden>

    Change-Id: I0c3a570cbb3fbb03b4224744b32e034e9e255f8e

Changed in neutron:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/neutron 16.0.0.0b1

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

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

Fix proposed to branch: stable/train
Review: https://review.opendev.org/714417

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

Reviewed: https://review.opendev.org/714417
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=4991325054689a6ffde3afde725b43bbe1f8b584
Submitter: Zuul
Branch: stable/train

commit 4991325054689a6ffde3afde725b43bbe1f8b584
Author: Lucian Petrut <email address hidden>
Date: Thu Sep 12 17:34:04 2019 +0300

    ovsdb monitor: handle modified ports

    This patch ensures that the ovsdb monitor propagates the events
    received for modified ports.

    We'll use a new list for the modified ports, which the neutron ovs
    agent can handle.

    In particular, this will cover the situation in which the ofport
    changes. When using recent OVS Windows versions, VM ofports change
    to -1 (invalid) when the VMs are shut down, receiving a valid
    ofport when the VMs are powered back on (different than the initial
    one). With this patch applied, "modify" events will be propagated
    to the ovs agent, which will then update the OpenFlow rules.
    The old rules are cleaned up by "update_stale_ofport_rules"
    once the invalid ofport is detected.

    Closes-Bug: #1843870
    Co-authored-by: Alin Serdean <email address hidden>

    Conflicts:
          neutron/plugins/ml2/drivers/openvswitch/agent/ovs_neutron_agent.py

    Change-Id: I0c3a570cbb3fbb03b4224744b32e034e9e255f8e
    (cherry picked from commit 451c21571f40ca83eb3189e5c924b03c0561f853)

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

Fix proposed to branch: stable/stein
Review: https://review.opendev.org/731541

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

Reviewed: https://review.opendev.org/731541
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=3e7abdf7acbb53ce7262c26e9078dbd453eb6cb0
Submitter: Zuul
Branch: stable/stein

commit 3e7abdf7acbb53ce7262c26e9078dbd453eb6cb0
Author: Lucian Petrut <email address hidden>
Date: Thu Sep 12 17:34:04 2019 +0300

    ovsdb monitor: handle modified ports

    This patch ensures that the ovsdb monitor propagates the events
    received for modified ports.

    We'll use a new list for the modified ports, which the neutron ovs
    agent can handle.

    In particular, this will cover the situation in which the ofport
    changes. When using recent OVS Windows versions, VM ofports change
    to -1 (invalid) when the VMs are shut down, receiving a valid
    ofport when the VMs are powered back on (different than the initial
    one). With this patch applied, "modify" events will be propagated
    to the ovs agent, which will then update the OpenFlow rules.
    The old rules are cleaned up by "update_stale_ofport_rules"
    once the invalid ofport is detected.

    Closes-Bug: #1843870
    Co-authored-by: Alin Serdean <email address hidden>

    Conflicts:
          neutron/plugins/ml2/drivers/openvswitch/agent/ovs_neutron_agent.py

    Change-Id: I0c3a570cbb3fbb03b4224744b32e034e9e255f8e
    (cherry picked from commit 451c21571f40ca83eb3189e5c924b03c0561f853)
    (cherry picked from commit 4991325054689a6ffde3afde725b43bbe1f8b584)

tags: added: in-stable-stein
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.