Added "qos" plugin to "EXT_PARENT_RESOURCE_MAPPING"

The plugin "qos" is added to the "EXT_PARENT_RESOURCE_MAPPING" constant.
The policy engine can now check the QoS rule ownership using the QoS
policy project ID. The QoS rules are resources that do not have an
assigned project ID, it is inherited from the QoS policy. This patch
allows to check a QoS rule ownership using the "ext_parent_policy_id"
field, that stores the QoS policy project ID.

NOTE: once released, this bug fix must include Neutron unit tests
checking, using the rules:
  "update_policy_bandwidth_limit_rule": "rule:admin_or_owner"
  "update_policy_packet_rate_limit_rule": "rule:admin_or_owner"
  "update_policy_dscp_marking_rule": "rule:admin_or_owner"
  "update_policy_minimum_bandwidth_rule": "rule:admin_or_owner"
  "update_policy_minimum_packet_rate_rule": "rule:admin_or_owner"

Conflicts:
       neutron_lib/services/constants.py

Closes-Bug: #1996606
Change-Id: I0531ea2c1bf29aecfab9b491eefef044a4ee49ad
(cherry picked from commit 7e4a6beed4)
(cherry picked from commit 3f9cbe4525)
This commit is contained in:
Rodolfo Alonso Hernandez 2022-11-12 11:14:02 +01:00
parent 6bbae46890
commit acfb2fdc29
2 changed files with 8 additions and 1 deletions

View File

@ -13,6 +13,7 @@
# under the License.
from neutron_lib.api.definitions import l3
from neutron_lib.api.definitions import qos
from neutron_lib.plugins import constants as plugin_const
@ -26,5 +27,6 @@ from neutron_lib.plugins import constants as plugin_const
# registered the service plugin name in neutron-lib.
EXT_PARENT_RESOURCE_MAPPING = {
l3.FLOATINGIP: plugin_const.L3,
l3.ROUTER: plugin_const.CONNTRACKHELPER
l3.ROUTER: plugin_const.CONNTRACKHELPER,
qos.POLICY: plugin_const.QOS,
}

View File

@ -0,0 +1,5 @@
---
other:
- |
Parent resource mapping was added to ``EXT_PARENT_RESOURCE_MAPPING`` in
``neutron_lib.services.constants`` for the ``qos`` plugin.