yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #95374
[Bug 2099706] [NEW] [OVN][QoS] QoS rule addition to an exiting net work policy only updates the first port
Public bug reported:
How to reproduce:
* Create a network.
* Add two ports to this network.
* Create a QoS policy.
* Assign the QoS policy to this network.
* Add a max-bw rule to this policy
--> Only one port of this network will receive the new added rule.
The method that updates a QoS policy when, for example, a new rule is
added, calls ``update_network`` [1] with a set of defined rules in a
dictionary. This method will call ``_update_port_qos_rules`` [2] with
this dictionary as an argument. The problem is that in [3], this
dictionary is modified when it should be used in a loop of calls for
other ports.
This argument ``qos_rules`` should not be changed; instead a copy should
be created.
[1]https://github.com/openstack/neutron/blob/8152b83384c45d48a7256dfb40a2eb06852d5295/neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/extensions/qos.py#L519-L520
[2]https://github.com/openstack/neutron/blob/8152b83384c45d48a7256dfb40a2eb06852d5295/neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/extensions/qos.py#L392-L393
[3]https://github.com/openstack/neutron/blob/master/neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/extensions/qos.py#L309-L310
** Affects: neutron
Importance: Medium
Assignee: Rodolfo Alonso (rodolfo-alonso-hernandez)
Status: Confirmed
** Tags: ovn qos
** Changed in: neutron
Importance: Undecided => Medium
** Changed in: neutron
Assignee: (unassigned) => Rodolfo Alonso (rodolfo-alonso-hernandez)
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/2099706
Title:
[OVN][QoS] QoS rule addition to an exiting net work policy only
updates the first port
Status in neutron:
Confirmed
Bug description:
How to reproduce:
* Create a network.
* Add two ports to this network.
* Create a QoS policy.
* Assign the QoS policy to this network.
* Add a max-bw rule to this policy
--> Only one port of this network will receive the new added rule.
The method that updates a QoS policy when, for example, a new rule is
added, calls ``update_network`` [1] with a set of defined rules in a
dictionary. This method will call ``_update_port_qos_rules`` [2] with
this dictionary as an argument. The problem is that in [3], this
dictionary is modified when it should be used in a loop of calls for
other ports.
This argument ``qos_rules`` should not be changed; instead a copy
should be created.
[1]https://github.com/openstack/neutron/blob/8152b83384c45d48a7256dfb40a2eb06852d5295/neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/extensions/qos.py#L519-L520
[2]https://github.com/openstack/neutron/blob/8152b83384c45d48a7256dfb40a2eb06852d5295/neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/extensions/qos.py#L392-L393
[3]https://github.com/openstack/neutron/blob/master/neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/extensions/qos.py#L309-L310
To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/2099706/+subscriptions
Follow ups