[RFE] ports do not inherit their associated network's policy

Bug #1851362 reported by Noy fridman
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
neutron
Fix Released
Low
Rodolfo Alonso

Bug Description

Description:
Once attaching a port to a network that has QoS policy,
the policy is not inherited to the port.
Network policy should be used for all ports which don't have own policy
associated.

Steps to Reproduce:
1. Create new internal network
2. Create new QoS policy
3. Attach the policy to the network
4. create a new port
5. Attach the port to the network

Actual results:
The port has no policy associated
qos_policy_id is: None

Expected results:
The post should has the network associated QoS policy

Version: ROCKY

Noy fridman (nfridman)
summary: - [OSP14-Rocky -QoS] ports do not inherit their associated network's
- policy
+ [Rocky -QoS] ports do not inherit their associated network's policy
description: updated
Revision history for this message
Rodolfo Alonso (rodolfo-alonso-hernandez) wrote : Re: [Rocky -QoS] ports do not inherit their associated network's policy

Hello Noy:

The "port" field "qos_policy_id" refers only to the specific QoS policy assigned to this object. When the object is created/modified, the QoS core extension do NOT populated in the port dictionary the network QoS policy and thus this information is not passed to the SDK and the OSclient. That's why you can't see the port "network_qos_policy_id".

But this information is given to the agents (network backends: OVS, LB, etc) via RPC [1]. The port "qos_policy_id" and the "network_qos_policy_id" parameters are used to apply the correct policy for each port.

Since [2] and [3] we have the "network_qos_policy_id" in the DB object and the OVO. Now, we need to:
- Add this information in the "port" dictionary when returning the "Ml2Plugin._make_port_dict()" function.
- Add this new parameter to the port definition in OS SDK.
- Add this new parameter (as read only) in the "show" command for port in OSclient.

Regards.

[1] https://github.com/openstack/neutron/blob/master/neutron/agent/rpc.py#L362
[2] https://review.opendev.org/#/c/667981/
[3] https://review.opendev.org/#/c/667998/

Changed in neutron:
assignee: nobody → Rodolfo Alonso (rodolfo-alonso-hernandez)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to neutron-lib (master)

Related fix proposed to branch: master
Review: https://review.opendev.org/693234

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

Changed in neutron:
status: New → In Progress
tags: added: qos
tags: added: rfe
Changed in neutron:
importance: Undecided → Low
tags: added: rfe-triaged
removed: rfe
summary: - [Rocky -QoS] ports do not inherit their associated network's policy
+ [RFE] ports do not inherit their associated network's policy
Revision history for this message
Slawek Kaplonski (slaweq) wrote :

We approved this rfe during the last driver meeting.
Please be aware that as this is API change, it should be discoverable so we need to add new API extension for that too.

tags: added: rfe-approved
removed: rfe-triaged
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to neutron-lib (master)

Reviewed: https://review.opendev.org/693234
Committed: https://git.openstack.org/cgit/openstack/neutron-lib/commit/?id=c5cb36903f878d8cd94d61fd5de2a06f7695e659
Submitter: Zuul
Branch: master

commit c5cb36903f878d8cd94d61fd5de2a06f7695e659
Author: Rodolfo Alonso Hernandez <email address hidden>
Date: Wed Nov 6 17:56:46 2019 +0000

    Add "qos_network_policy_id" field to "port" definition

    DocImpact

    Change-Id: Ic1d555ef957124c866a2baf788564b3c200583eb
    Related-Bug: #1851362

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

Related fix proposed to branch: master
Review: https://review.opendev.org/701985

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

Reviewed: https://review.opendev.org/701985
Committed: https://git.openstack.org/cgit/openstack/neutron-lib/commit/?id=9e71ff363fda908497240f76964e3f13adf07340
Submitter: Zuul
Branch: master

commit 9e71ff363fda908497240f76964e3f13adf07340
Author: Rodolfo Alonso Hernandez <email address hidden>
Date: Fri Jan 10 15:38:08 2020 +0000

    Fix new parameter added in "qos_port_network_policy" API

    The new parameter in "port" API should be "qos_network_policy_id",
    not "qos_policy_id", which already exists now.

    Change-Id: Ia9bc082b3fae0e3a762ec65a86c8d8c246dcf170
    Related-Bug: #1851362

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

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

commit f2b52b5e8f2579cac2e9cd3844ed3e75d18cd06d
Author: Rodolfo Alonso Hernandez <email address hidden>
Date: Wed Nov 6 19:38:15 2019 +0000

    Add "qos_network_policy_id" to port definition

    Added "qos_network_policy_id" key to port dictionary.

    Change-Id: I75713e0e3924ad4c9177e7c9b04c58882e292dc0
    Closes-Bug: #1851362

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 included in openstack/python-openstackclient 5.1.0

This issue was fixed in the openstack/python-openstackclient 5.1.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.