SRIOV OVN metadata namespaces not cleaned up after ports are unbounded

Bug #1875865 reported by Jakub Libosvar
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
neutron
Fix Released
Undecided
Jakub Libosvar

Bug Description

Description of problem:
See 'Steps to Reproduce' below.

The external port is deleted from the port_binding table instead of chassis removed and then deleted so the PortBindingUpdate event is never generated.

The metadata agent reacts on Port Binding Update event only. That means when there is a VM and we delete it, it first calls port update to remove the chassis from the port binding, so the port binding is chassis=[] before the PB gets deleted.
In SRIOV scenario we don't do that and we delete a port that is bound.

We need a special event for the sriov deletion case.

Steps to Reproduce:
1. create an SRIOV port on either a tenant or a prov network + create a VM attached to that port - check ovn metadata namespace has been created on a GW node
2. remove that VM - the ovn metadata namespace is not removed from that GW node
3. even after removing the port, the namespace is not removed

Actual results:
OVN metadata namespaces clean up mechanism not working with SRIOV ports

Expected results:
Namespaces should be removed after port is removed

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/724287

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

Reviewed: https://review.opendev.org/724287
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=76a2f8b33e3f673b96feeb2724ae55567a3b6520
Submitter: Zuul
Branch: master

commit 76a2f8b33e3f673b96feeb2724ae55567a3b6520
Author: Jakub Libosvar <email address hidden>
Date: Wed Apr 29 11:15:36 2020 +0000

    [ovn] Add PortBinding delete event for external ports

    The ports are unbound from chassis before they get deleted after VM with
    normal VIF ports is deleted. In case of SRIOV, we do not unbound the
    external SRIOV port but we delete it right away with chassis column set.

    This patch adds DELETE event type support to the event that tears down
    the metadata datapath. Also a warning is added if bound port that is not
    external is being removed.

    Change-Id: I17b71933b8c3a7609fcc5027c246f5b03d493ee2
    Closes-Bug: #1875865
    Signed-off-by: Jakub Libosvar <email address hidden>

Changed in neutron:
status: In Progress → Fix Released
tags: added: neutron-proactive-backport-potential
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.