Commit Graph

173 Commits

Author SHA1 Message Date
Brian Haley 3ef02cc2fb Consume code from neutron-lib
All of these exceptions and constants have been in
neutron-lib for a while, start using them.

While looking for other things to consume found an old
neutron-lib TODO that did not apply anymore, so removed.

TrivialFix

Change-Id: I9431075a50ba05be872db422125e6af6266ccb99
2024-01-19 17:18:57 -05:00
elajkat ec4bfb91f0 [qos] _validate_create_network_callback return in no network
It seems that _validate_create_network_callback notified without
network_id in payload, to avoid issues in such case return.

Change-Id: I15d22e0e2b4bf3e4f882b521bcd6a13f84e4feed
Closes-Bug: #2008912
2023-06-20 15:14:15 +00:00
Rodolfo Alonso Hernandez 9ac59e4b4a Avoid retrieving ports if network list is empty
In ``QoSPlugin._get_ports_with_policy``, if the network IDs list is
empty, the SQLAlchemy throws the following warning:
  SELECT statement has a cartesian product between FROM element(s)
  "subports_1", "ports", "portnumaaffinitypolicies_1",
  "testportextensions_1", "portuplinkstatuspropagation_1",
  "portdataplanestatuses_1", "standardattributes_2",
  "portdeviceprofiles_1", "ml2_port_bindings_1",
  "portsecuritybindings_1", "portdnses_1",
  "securitygroupportbindings_1", "qos_network_policy_bindings_1",
  "qos_port_policy_bindings_1", "trunks_1",
  "standardattributes_1" and FROM element "networks".  Apply
  join condition(s) between each element to resolve.

This patch avoids this query by checking the network IDs list. If the
list is empty, the expected port list will be too. This is also a
small optimization because we are skipping the port query.

This patch is also applying the same logic to the second query in this
method.

Closes-Bug: #2018000
Change-Id: Ia5380bc78cc1d0136e11cc4692069279419e285e
2023-04-28 16:40:04 +02:00
Rodolfo Alonso Hernandez 3ebdfe612a Support for minimum bandwidth rules in tunnelled networks
This patch adds support for QoS minimum bandwidth rules in tunnelled
networks. Now the ML2/OVS and ML2/OVN mechanism drivers can represent
in the Placement API the available bandwidth of the tunnelled networks
in each compute host.

Both mechanism drivers represent the compute VTEP (VXLAN) or TEP
(Geneve) interface as an IP address. This new resource provider
(by default called "rp_tunnelled") represents the available bandwidth
of this interface. Any new port created in a compute node that belongs
to a tunnelled network, will request to the Placement API the
corresponding bandwidth from the resource provider inventory.

This patch does not provide backend enforcement support for minimum
bandwidth rules.

RFE spec: https://review.opendev.org/c/openstack/neutron-specs/+/860859

What is missing and will be added in next patches:
* Tempest tests, that will be pushed to the corresponding repository.

Depends-On: https://review.opendev.org/c/openstack/neutron-tempest-plugin/+/863880

Partial-Bug: #1991965
Related-Bug: #1578989
Change-Id: I3bfc2c0f9566bcc6861ca91339e32257ea92c7e9
2023-01-02 11:14:50 +00:00
Brian Haley cca0b3a026 Fix some pylint indentation warnings
Running with a stricter .pylintrc generates a lot of
C0330 warnings (hanging/continued indentation). Fix
the ones in neutron/services.

Trivialfix

Change-Id: Ie9779b257981bc80e69639cdaa4d7dfd0ffa5809
2022-12-01 16:21:37 +00:00
Nurmatov Mamatisa 738fb24f44 Use neutron-lib method update_qos_allocation
Method update_qos_allocation was modified and released
in neutron-lib [1] so can be removed from neutron code

1) https://review.opendev.org/c/openstack/neutron-lib/+/813660

Change-Id: Iebf38c0d4d01559b799eebee7221ed1f3b9baf6d
2022-06-24 08:14:22 +00:00
LIU Yulong 5765186516 Support pps limitation for openvswitch agent
Add packet rate limit rule to the openvswitch QoS
driver SUPPORTED_RULES list. This patch adds the
ability to limit neutron port packet I/O rate. We
will leverage the ovs meter to achieve the limitation.

The meter action is only supoorted when datapath is
in user mode (with ovs >= 2.7) or ovs kernel datapath with
kernel version >= 4.15 (and ovs >= 2.10).

[1] https://docs.openvswitch.org/en/latest/faq/releases/

Partially-Implements: bp/packet-rate-limit
Related-Bug: #1938966
Related-Bug: #1912460
Change-Id: Ib6341ad539afc9f94f1783a721cf5f793ccdc7d8
2022-05-07 13:11:46 +08:00
Rodolfo Alonso Hernandez 2f944d3105 Support filtering for QoS rule type list
Added support for filtering the QoS rule type list command.
Two new filter flags are added:
- all_supported: if True, the listing call will print all QoS rule
  types supported by at least one loaded mechanism driver.
- all_rules: if True, the listing call will print all QoS rule types
  supported by the Neutron server.

Both filter flags are exclusive and not required.

Depends-On: https://review.opendev.org/c/openstack/neutron-lib/+/827533

Closes-Bug: #1959749
Change-Id: I41eaab177e121316c3daec34b309c266e2f81979
2022-02-24 08:28:53 +00:00
Przemyslaw Szczerbik 084bb163f2 Add qos-pps-minimum-rule-alias API extension
Introduce a new API extension to enable GET, PUT and DELETE
operations on QoS minimum packet rate rule without specifying
policy ID.

Partial-Bug: #1922237
See-Also: https://review.opendev.org/785236
Change-Id: Ia083b5ac98c9e18ddbcdd2e0fc46f2f8432a628c
2022-02-07 11:52:46 +01:00
Zuul aae0e963ff Merge "Fix placement allocation update for port with network QoS policy" 2022-01-12 09:42:31 +00:00
Zuul 32e9aae234 Merge "Do not block qos for direct-physical ports" 2022-01-11 17:34:01 +00:00
Przemyslaw Szczerbik 18ec0eb209 Fix placement allocation update for port with network QoS policy
If port has no QoS policy on its own, fallback to the network
QoS policy and use it to check if Placement allocation needs
to be updated.

Closes-Bug: #1915849
Change-Id: Iffc87e4021391bcb98375621739a59064540a6a7
2022-01-10 17:15:06 +01:00
Zuul b737f4a86e Merge "Update placement allocation of bound ports when network QoS policy is changed" 2021-12-16 20:13:26 +00:00
Balazs Gibizer abfbe5d54d Do not block qos for direct-physical ports
Today the sriov qos service plugin blindly blocks creating ports
with minimum bandwidth qos and with direct_physical vnic_type. This was
originally added when only dataplane enforcement was the scope of the
qos service plugin. However in the last many releases we created
placement enforcement for this qos rule regardless of the vnic_type.
So now blindly blocking the port creation is now preventing using the
placement enforcement for this rule for direct_physical ports.

This patch removes this limitation by marking minimum bandwidth as
supported rule for the sriov qos service plugin. The limitation that
data plane enforcement is not supported for this rule remains. The agent
will not even try to apply any kind of rules to these ports as port
binding is not forwarded for the sriov agent at all.

The documentation is extended to explain that placement enforcement now
works while data plane enforcement still not supported.

This is somewhat similar to the case when the support for egress
direction is added to the minimum bandwidth rule, while the sriov data
plane enforcement was not (could not) been implemented for this
direction in the sriov agent. Today the sriov agent simply ignores the
egress direction rules in the minimum bandwidth qos rule during applying
the data plane enforcement.

Closes-Bug: #1949877

Change-Id: I20ad32eac414ff90b551bff940d92cbcfa848101
2021-12-10 12:28:59 +01:00
elajkat 6288dc7259 Keep binding:profile keys during placement allocation change
[1] overwrites the port's binding:profile with the  allocation dict,but
that dict can contain other fields also.

[1]: https://review.opendev.org/c/openstack/neutron/+/805637#617

Change-Id: I687686a673979cd9b95bac7282e836a6435f0521
Partial-Bug: #1922237
2021-12-07 10:52:38 +01:00
Przemyslaw Szczerbik e68a283211 Update placement allocation of bound ports when network QoS policy is changed
When QoS policy is changed on a network, placement allocation of bound
ports in that network has to be updated. This applies only to ports
that do not overwrite network QoS policy.

To detect network resource change, a new callback is registered for
AFTER_UPDATE event.

Closes-Bug: #1915898
Change-Id: Ibc71d26cbb0dce99ea6dad9e5ccd0966e72f3f20
2021-11-25 08:27:05 +01:00
Zuul 89a63261ce Merge "[OVN][Placement] Add support for minimum bandwidth QoS rules" 2021-11-22 16:31:44 +00:00
Rodolfo Alonso Hernandez 4909c8c18d Bump neutron-lib to 2.17.0
Remove the QoS constants from Neutron code. QoS constants are now
located in ``neutron_lib.services.qos.constants``.

This patch also reverts [1]. This patch was merged in order to
allow a newer neutron-lib release in "requirements". This test
was failing because the element order of the "VALID_RULE_TYPES"
list was different between Neutron and neutron-lib. That was
modifying the "QosRuleType" OVO hash.

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

Closes-Bug: #1950977
Related-Bug: #1922237
Change-Id: I31edea3cc0f4a284a773a35302997ca6069efc95
2021-11-17 10:09:14 +00:00
Zuul 5a409f9476 Merge "Enable QoS minimum packet rate rule for OVS backend" 2021-11-14 02:05:50 +00:00
Rodolfo Alonso Hernandez 1248b36ddc [OVN][Placement] Add support for minimum bandwidth QoS rules
In order to be able to schedule a port bound to OVN backend and a
minimum bandwidth rule, this type of QoS rule should be supported
in the mechanism QoS driver ``OVNQosDriver``.

This new QoS rule has no driver enforcement; it is used only for
Placement scheduling.

Partial-Bug: #1578989

Change-Id: Ia10aae1820f13bb28956d9ef45eced2dba71be98
2021-11-08 18:17:11 +00:00
Zuul 7f9fb75d90 Merge "Add port-resource-request-groups extension" 2021-10-31 22:09:55 +00:00
Rodolfo Alonso Hernandez e49485f2aa Replace "tenant_id" with "project_id"
Replace "tenant_id" with "project_id" in:
- Trunk service
- QoS plugin service

This is part of the remaining technical debt of the specs
https://specs.openstack.org/openstack/neutron-specs/specs/newton/moving-to-keystone-v3.html

Change-Id: I39d049bb506f24d1e1e2a35b659c93d0a22093f8
Blueprint: https://blueprints.launchpad.net/neutron/+spec/keystone-v3
2021-10-22 12:35:13 +00:00
Przemyslaw Szczerbik aada855f6d Enable QoS minimum packet rate rule for OVS backend
This patch does *not* implement dataplane enforcement.

QoS minimum packet rate rule is enabled in OVS backend driver and
create/delete/update empty methods are added to enable placement
enforcement.

Partial-Bug: #1922237
See-Also: https://review.opendev.org/785236
Change-Id: Ie283ad3a4ec433c88ac23f798908cd143159394b
2021-10-21 15:17:24 +02:00
Przemyslaw Szczerbik 8db15cb2f3 Add port-resource-request-groups extension
port-resource-request-groups extension provides support for the
new format of resource_request. The new format allows to request
multiple groups of resources and traits from the same RP subtree.

Closes-Bug: #1943724
Partial-Bug: #1922237
Depends-On: https://review.opendev.org/c/openstack/tempest/+/809168/
See-Also: https://review.opendev.org/785236
Change-Id: I99a49b107b1872ddf83d1d8497a26a8d728feb07
2021-10-21 14:30:07 +02:00
Przemyslaw Szczerbik 56044db26d Add API extension for QoS minimum pps rule
This patch implements support for CRUD operations for QoS minimum
packet rate, for example:

DELETE /qos/policies/$POLICY_ID/minimum_packet_rate_rules/$RULE_ID

Placement or dataplane enforcement is not implemented yet.

Partial-Bug: #1922237
See-Also: https://review.opendev.org/785236
Change-Id: Ie994bdab62bab33737f25287e568519c782dea9a
2021-09-29 12:27:30 +02:00
Przemyslaw Szczerbik 0bb9c99d50 Fix gate for neutron-lib v2.14
A patch [1] that updates upper-constraints.txt for neutron-lib 2.14 fails
to pass check pipeline.

Due to development sequence it's necessary to append a new rule type
to VALID_RULE_TYPES in Neutron first, and then move it to neutron-lib.
Because of this process, there's a risk that the new rule type is
present in both Neutron and in neutron-lib.

This is why check pipeline keeps failing with neutron-lib v2.14, as it
contains 'packet_rate_limit' and in Neutron we append it to the list
anyways, ending up with duplicates.

This patch ensures that there are no duplicates in VALID_RULE_TYPES.

[1] https://review.opendev.org/c/openstack/requirements/+/805352

Change-Id: Ib6963f402c9fec8169afcf467d613bba4e06130d
2021-08-24 13:14:18 +02:00
LIU Yulong 8e30639452 [QoS] Add rule type packet per second (pps)
This patch adds new API extension to QoS service plugin
to allow CURD actions for packet rate limit (packet per
second) rule in Neutron server side.

NOTE: This patch will NOT implement the real functionality
in L2/L3 backend to limit the pps.

Co-Authored-By:  NANALI <lin203@chinaunicom.cn>

Closes-bug: #1912460
Change-Id: Icc88accb88d9cec40c960c56f032c3c27317b42e
2021-07-22 09:53:38 +08:00
Przemyslaw Szczerbik 26b06d246a Use os-resource-classes lib for resource classes names
The os-resource-classes lib is the official source of the standard
placement resource classes. Currently, the neutron-lib contains a copy
of those constants. However, they are already marked as deprecated and
are going to be removed with next major release.

Related-Bug: #1934256
Change-Id: I33ecd6f32410f9b7ab1e87a6640201ea157bc383
2021-07-07 09:33:54 +02:00
Nurmatov Mamatisa 324a35a3d0 use payloads for PORT BEFORE_UPDATE events
This patch switches the code over to the payload style of callbacks
for PORT BEFORE_UPDATE events

Change-Id: Ie55a04deac6c2f54f7f5d475c350f0fbf7b1fe77
2021-06-23 12:14:48 +03:00
Slawek Kaplonski d7371e13e4 Revert "Set system_scope='all' in elevated context"
This reverts commit 062336e59b.

Now, we have proper fix for the system_scope='all' in elevated context
in the neutron-lib so we can revert temporary fix made at the end of the
Wallaby cycle.

Related-Bug: #1920001

Conflicts:
    neutron/api/rpc/agentnotifiers/dhcp_rpc_agent_api.py
    neutron/common/utils.py
    neutron/db/address_group_db.py
    neutron/services/segments/db.py

Change-Id: Ife9b647b403bdd76a8a99984ea8858bf95c96bc3
2021-06-15 10:29:20 +02:00
Nurmatov Mamatisa 07c64d8384 Payloads for PORT: BEFORE_CREATE and PRECOMMIT_CREATE
This patch switches the code over to the payload style of callbacks
for PORT BEFORE_CREATE and PRECOMMIT_CREATE events

Change-Id: Ia6903be1af4de575ab9d82c9cb0c88290d07abb3
2021-06-08 10:09:28 +00:00
Nurmatov Mamatisa 4aa5de254d use payloads for NETWORK callback events
This patch switches over to the payload style of callbacks for
NETWORK based events. As part of this change a few shims are needed
to handle cases where some callbacks don't yet use payloads and others
do. Once we move over to payloads for all callbacks the shims can be
removed.

NeutronLibImpact

Change-Id: I889364b5d184d47a79fe6ed604ce13a4b334acfa
2021-05-08 20:50:46 +03:00
Slawek Kaplonski 062336e59b Set system_scope='all' in elevated context
In case when enforce_new_defaults is set to True and new policy rules
are used, context.is_admin flag isn't really working as it was with old
rules.
But in case when elevated context is needed, it means that we need
context which has full rights to the system. So we should also set
"system_scope" parameter to "all" to be sure that system scope queries
can be done with such elevated context always.

It is needed e.g. when elevated context is used to get some data from
db. In such case we need to have db query which will not be scoped to
the single project_id and with new defaults to achieve that system_scope
has to be set to "all".

Proper fix for that should be done in neutron-lib and it is proposed
in [1] already but as we are have frozen neutron-lib version for
stable/wallaby already this patch for neutron is temporary fix for that
issue.
We can revert that patch as soon as we will be in Xena development cycle
and [1] will be merged and released.

[1] https://review.opendev.org/c/openstack/neutron-lib/+/781625

Related-Bug: #1920001
Change-Id: I0068c1de09f5c6fae5bb5cd0d6f26f451e701939
2021-03-19 12:05:56 +01:00
Nurmatov Mamatisa 26f3de0f78 Add minimum bw qos rule validation for network
Minimum bandwidth QoS rule is only applicable for the network which is
backed by physical networks.
It will raise exception when you want to set Minimum bandwidth QoS rule
or update rule on network without ports.

Closes-Bug: #1913180
Change-Id: I6ab945086b13730ad60957760bbc2eb5c321aca2
2021-02-19 11:26:40 +03:00
Nurmatov Mamatisa 6ffeb0d623 Use constants from neutron-lib
Constants were released in neutron-lib 2.8.0

Change-Id: Iad52edda8c737585ff2fca59c032be38ba673d57
2021-02-04 06:33:49 +00:00
Oleg Bondarev 2a6fd9d44d Optimize get_ports with QoS extension
Apply qos resource extend func for a full list of ports,
not for each port individually, thus avoiding DB queries for each
individual port.
This should drastically improve port list time in case of many
ports/network with QoS policies assigned.

Change-Id: I1d0b3975ae6e92e34e9da20a0e26ce024422d332
Closes-Bug: #1905726
2021-01-25 08:21:39 +00:00
Oleg Bondarev a7e02cdb17 [QoS] Get only min bw rules when extending port dict
Only min bw rules are required hence no need to fetch
all rules of QoS policy.
Also no need to get qos policy from DB

Partial-Bug: #1905726
Change-Id: Iad29cb34825adaa8c766d01b192a6bbe9992148b
2021-01-18 11:13:43 +00:00
Slawek Kaplonski bf35cf65c8 Finish the new DB engine facade migration
This patch implements the last code bits pending to
conclude the new DB engine facade migration.

Due to the resultant interactions in the modified code, is
not possible to submit smaller patches; this code must be
migrated at once.

Partially-Implements blueprint: enginefacade-switch

Signed-off-by: Slawek Kaplonski <skaplons@redhat.com>
Co-Authored-By: Rodolfo Alonso Hernandez <ralonsoh@redhat.com>

Change-Id: Id3f09b78c8d0a8daa7ec4fa6f5bf79f7d5ab8f8b
2020-11-24 09:20:35 +00:00
elajkat 3605e9f82d QoS policy update with placement: handle missing key
Closes-Bug: #1898994
Change-Id: Ibb826346117cd5cc824fff55d123497a19370f5c
2020-10-08 19:49:07 +02:00
elajkat 87e5131432 Allow replacing the QoS policy of bound port
Change-Id: Iebdfd2b303f47ff9f049cf583ea754b35ca26f78
Related-Bug: #1882804
Depends-On: https://review.opendev.org/748279
2020-09-24 06:18:38 +00:00
Bernard Cafarelli cebdd77af8
Bump pylint version to support python 3.8
As spotted in Focal testing patch [0], pep8 test fails with many
C0321 false-positives, reported in pylint as current version does not
support python 3.8 [1]

Use a newer version of pylint and astroid, fixing or disabling some of
the new checks: no-else-*, unnecessary-comprehension, import-outside-toplevel

[0] https://review.opendev.org/#/c/738163/
[1] https://github.com/PyCQA/pylint/issues/2737

Change-Id: Ie646b7093aa8634fd950c136a0eba9adcf56591c
2020-08-06 16:00:30 +02:00
Rodolfo Alonso Hernandez b098239d72 Refactor OVN client QoS extension
The QoS OVN client extension is moved to the ML2 driver. This
extension is called from the OVN driver in the events of:
- create port
- update port
- delete port
- update network

The QoS OVN client extension now can accept several rules per policy
as documented in the SUPPORTED_RULES. The QoS OVN client extension
can write one OVN QoS rule per flow direction and each OVN QoS rule
register can hold both a bandwidth limit rule and a DSCP marking rule.

The "update_policy" method is called from the OVN QoS driver, when
a QoS policy or its rules are updated.

The QoS OVN client extension updates the QoS OVN registers
exclusively, based on the related events.

Closes-Bug: #1863852

Change-Id: I4833ed0c9a2741bdd007d4ebb3e8c1cb4c30d4c7
2020-04-10 13:11:00 +00:00
Bence Romsics 321afc8f89 Move rejection of min-bw rule on non-physnet port to the ovs qos driver
The ovs qos driver only supports the min-bw rule on physnet ports.
However other (future) qos drivers may support the min-bw rule on
non-physnet ports too, therefore implementing the rejection of the
unsupported combination in the qos plugin was a bug.

This change moves the rejection from the qos plugin to the ovs qos
driver.

Change-Id: I02d77a03c411dc8ab303a7d7b53d7ea93cc9f4c6
Closes-Bug: #1861442
Depends-On: https://review.opendev.org/705694
Related-Bug: #1819029
2020-02-21 15:00:23 +01:00
Rodolfo Alonso Hernandez d8349033e9 Enforce "qos_max_rate" and "qos_burst" in OVN QoS options
If QoS rule is QosBandwidthLimitRule, then the generated options in
the QoS OVN driver of the QoS service should contain those two
parameters: "qos_max_rate" and "qos_burst".

According to [1], the units used are:
- qos_max_rate: kbps, the one used in Neutron
- qos_burst: kilobits, the one used in Neutron

A "rule.max_kbps" value should be always present in the rule, but not
"rule.max_burst_kbps". This value can be None in
OvnNbApiIdlImpl.QoSAddCommand.

[1]http://www.openvswitch.org/support/dist-docs/ovn-nbctl.8.html

Change-Id: Ie1598be7d21f33df6b1a66fa71ba6783d2433dca
Closes-Bug: #1861680
2020-02-11 11:45:51 +00:00
Yunxiang Tao dcec852b7f [OVN] Update QoS related code from networking-ovn
In terms of [1], patch [0] has import the lasted code of ovn_client.py, but not
"/networking_ovn/ml2/qos_driver.py", so this patch will update it.

[0] https://review.opendev.org/#/c/697316/
[1] https://review.opendev.org/#/c/692084/

Change-Id: Iefff6cdf070d234c4ea9c8e1d5fdfe4542eb7fa3
Closes-Bug: #1813551
2020-02-06 10:54:26 +08:00
Zuul 79e6da0004 Merge "Add "qos_network_policy_id" to port definition" 2020-01-30 06:13:09 +00:00
Rodolfo Alonso Hernandez f2b52b5e8f Add "qos_network_policy_id" to port definition
Added "qos_network_policy_id" key to port dictionary.

Change-Id: I75713e0e3924ad4c9177e7c9b04c58882e292dc0
Closes-Bug: #1851362
2020-01-17 17:57:11 +00:00
waleed mousa 12089a526e Add support for direct ports with QoS in OVS
Today OVS mechanism driver can bind Direct port see [1] for OVS hardware
offloads.
OVS was extended with tc-offload to support rate limit see [2].
The OVS QoS driver [3] is limited to work only with Normal Ports, so we
can't put QoS rules on direct port.
This patch proposes to add support in OVS QoS driver for direct ports.
The mechanism to enforce such policies is the same with normal and
hardware offloaded direct ports.

[1] - e7f6ba220e
[2] - 3b074128ca/neutron/plugins/ml2/drivers/openvswitch/mech_driver/mech_openvswitch.py (L83)
[3] - 3b074128ca/neutron/services/qos/drivers/openvswitch/driver.py (L56)

Change-Id: I24b5cd6c022e479080fc84e4c445c9cddfc88e38
Closes-Bug: #1843165
2020-01-16 11:50:02 +00:00
Maciej Józefczyk be1bdd4342 [OVN] Import OVN Client, L3 and QoS related code
This patch moves the OVN Client, L3 and QoS related code:
Previous paths in networking-ovn tree:
./networking_ovn/ml2/qos_driver.py -> neutron/services/qos/drivers/ovn/qos_driver.py
./networking_ovn/common/ovn_client.py -> neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/ovn_client.py
./networking_ovn/l3/l3_ovn_scheduler.py -> neutron/scheduler/l3_ovn_scheduler.py
./networking_ovn/l3/l3_ovn.py -> neutron/services/ovn_l3/plugin.py

Co-Authored-By: Amitabha Biswas <abiswas@us.ibm.com>
Co-Authored-By: Andrew Austin <aaustin@redhat.com>
Co-Authored-By: Anh Tran <anhtt@vn.fujitsu.com>
Co-Authored-By: Armando Migliaccio <armamig@gmail.com>
Co-Authored-By: Arslan Qadeer <arslanq@xgrid.co>
Co-Authored-By: Boden R <bodenvmw@gmail.com>
Co-Authored-By: Brian Haley <bhaley@redhat.com>
Co-Authored-By: Cao Xuan Hoang <hoangcx@vn.fujitsu.com>
Co-Authored-By: Chandra S Vejendla <csvejend@us.ibm.com>
Co-Authored-By: Changxun Zhou <zhoucx@dtdream.com>
Co-Authored-By: Daniel Alvarez <dalvarez@redhat.com>
Co-Authored-By: Dong Jun <dongj@dtdream.com>
Co-Authored-By: Doug Hellmann <doug@doughellmann.com>
Co-Authored-By: Gary Kotton <gkotton@vmware.com>
Co-Authored-By: Guoshuai Li <ligs@dtdream.com>
Co-Authored-By: Han Zhou <zhouhan@gmail.com>
Co-Authored-By: Ihar Hrachyshka <ihrachys@redhat.com>
Co-Authored-By: Jakub Libosvar <libosvar@redhat.com>
Co-Authored-By: John Kasperski <jckasper@us.ibm.com>
Co-Authored-By: Kamil Sambor <ksambor@redhat.com>
Co-Authored-By: Kevin Benton <kevin@benton.pub>
Co-Authored-By: Kyle Mestery <mestery@mestery.com>
Co-Authored-By: LIU Yulong <liuyulong@le.com>
Co-Authored-By: Lucas Alvares Gomes <lucasagomes@gmail.com>
Co-Authored-By: Maciej Józefczyk <mjozefcz@redhat.com>
Co-Authored-By: Miguel Angel Ajo <majopela@redhat.com>
Co-Authored-By: Na <nazhu@cn.ibm.com>
Co-Authored-By: Numan Siddique <nusiddiq@redhat.com>
Co-Authored-By: Richard Theis <rtheis@us.ibm.com>
Co-Authored-By: Russell Bryant <rbryant@redhat.com>
Co-Authored-By: Sławek Kapłoński <slawek@kaplonski.pl>
Co-Authored-By: Terry Wilson <twilson@redhat.com>
Co-Authored-By: Yunxiang Tao <taoyunxiang@cmss.chinamobile.com>
Co-Authored-By: lzklibj <lzklibj@cn.ibm.com>
Co-Authored-By: melissaml <ma.lei@99cloud.net>
Co-Authored-By: reedip <rbanerje@redhat.com>
Co-Authored-By: venkata anil <anilvenkata@redhat.com>
Co-Authored-By: xurong00037997 <xu.rong@zte.com.cn>
Co-Authored-By: zhufl <zhu.fanglei@zte.com.cn>

Change-Id: I52bc2785d815b3f04efbda3b78a28861ca9e8fe1
Related-Blueprint: neutron-ovn-merge
2019-12-14 19:17:40 +00:00
Rodolfo Alonso Hernandez 4a06e08de6 Improve "QoSPlugin._validate_create_port_callback"
Make use of the OVO Port new field "qos_network_policy_id" to avoid
a DB call.

Change-Id: I3724acfbe88ab3db1641c3edb5dd4c76bc84bc00
Related-Bug: #1834484
2019-07-09 16:54:03 +00:00