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"

Closes-Bug: #1996606
Change-Id: I0531ea2c1bf29aecfab9b491eefef044a4ee49ad
This commit is contained in:
Rodolfo Alonso Hernandez 2022-11-12 11:14:02 +01:00
parent d9284ee76f
commit 7e4a6beed4
2 changed files with 8 additions and 1 deletions

View File

@ -14,6 +14,7 @@
from neutron_lib.api.definitions import l3
from neutron_lib.api.definitions import local_ip
from neutron_lib.api.definitions import qos
from neutron_lib.plugins import constants as plugin_const
@ -28,5 +29,6 @@ from neutron_lib.plugins import constants as plugin_const
EXT_PARENT_RESOURCE_MAPPING = {
l3.FLOATINGIP: plugin_const.L3,
l3.ROUTER: plugin_const.CONNTRACKHELPER,
local_ip.RESOURCE_NAME: plugin_const.LOCAL_IP
local_ip.RESOURCE_NAME: plugin_const.LOCAL_IP,
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.