[OVN] BW limit QoS rules assigned to networks with SR-IOV ports are created on NBDB

Bug #1925218 reported by Rodolfo Alonso
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
neutron
Fix Released
Low
Rodolfo Alonso

Bug Description

This bug is similar to https://bugs.launchpad.net/neutron/+bug/1918702. The issue was resolved for qos policies associated to sriov ports, but it fails when the policy is associated to a network instead.

When a QoS policy with an egress BW limit rule is assigned to a network, if an SRIOV port has been created for that network (type direct or macvtap), the corresponding rule should be managed by the sriov agent and should not be added to the OVN NBDB's QoS table.

However, the entry on the QoS table is created for that port, which is wrong.

The bw limit rule is also assigned by the sriov agent, which is correct. The bw limit is correctly applied to the traffic.

Steps to Reproduce:
1) create qos policy with an egress bw limit rule and assing it to an network:
openstack network qos policy create p0
openstack network qos rule create p0 --type bandwidth-limit --max-kbps 500000000 --max-burst-kbits 40000000
openstack network set --qos-policy p0 public
2) check qos ovn nbdb table
podman exec ovn_controller ovn-nbctl --db=tcp:10.20.1.73:6641 list qos | grep -C5 0917ed75-6362-4522-a468-c3a8c89712fd
_uuid : c2758e23-195e-4efa-8f9f-c057955ba6c3
action : {}
bandwidth : {burst=40000000, rate=540000}
direction : from-lport
external_ids : {}
match : "inport == \"0917ed75-6362-4522-a468-c3a8c89712fd\""
priority : 2002

Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1951170

Changed in neutron:
assignee: nobody → Rodolfo Alonso (rodolfo-alonso-hernandez)
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/+/787351

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

Reviewed: https://review.opendev.org/c/openstack/neutron/+/787351
Committed: https://opendev.org/openstack/neutron/commit/43c10aae867c6ccd6ed76b4c68ef58c9aa8a0726
Submitter: "Zuul (22348)"
Branch: master

commit 43c10aae867c6ccd6ed76b4c68ef58c9aa8a0726
Author: Rodolfo Alonso Hernandez <email address hidden>
Date: Tue Apr 20 17:37:40 2021 +0000

    [OVN] External network ports (SR-IOV) QoS is handled by SR-IOV agent

    This commit is similar to [1]. The OVN QoS extension does not manage
    the external type ports (SR-IOV); the port QoS policy of those ports
    is handled by the SR-IOV agent QoS extension.

    When a network is updated, the OVN QoS extension should check the type
    of port bound. In case of having an "external" port (SR-IOV), the QoS
    extension should not handle it.

    [1]https://review.opendev.org/c/openstack/neutron/+/780054

    Closes-Bug: #1925218

    Change-Id: Idf85e304897c9d1073091c6cabb86be39640f332

Changed in neutron:
status: In Progress → Fix Released
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/+/818922

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

Reviewed: https://review.opendev.org/c/openstack/neutron/+/818922
Committed: https://opendev.org/openstack/neutron/commit/15259ee42716994ec72e916f06d0022209c433b7
Submitter: "Zuul (22348)"
Branch: stable/wallaby

commit 15259ee42716994ec72e916f06d0022209c433b7
Author: Rodolfo Alonso Hernandez <email address hidden>
Date: Tue Apr 20 17:37:40 2021 +0000

    [OVN] External network ports (SR-IOV) QoS is handled by SR-IOV agent

    This commit is similar to [1]. The OVN QoS extension does not manage
    the external type ports (SR-IOV); the port QoS policy of those ports
    is handled by the SR-IOV agent QoS extension.

    When a network is updated, the OVN QoS extension should check the type
    of port bound. In case of having an "external" port (SR-IOV), the QoS
    extension should not handle it.

    [1]https://review.opendev.org/c/openstack/neutron/+/780054

    Closes-Bug: #1925218

    Change-Id: Idf85e304897c9d1073091c6cabb86be39640f332
    (cherry picked from commit 43c10aae867c6ccd6ed76b4c68ef58c9aa8a0726)

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

This issue was fixed in the openstack/neutron 18.2.0 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.