neutron/neutron/services/qos
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
..
drivers Support for minimum bandwidth rules in tunnelled networks 2023-01-02 11:14:50 +00:00
__init__.py QoS service plugin stub 2015-06-29 17:51:10 +03:00
qos_plugin.py Avoid retrieving ports if network list is empty 2023-04-28 16:40:04 +02:00