From f9a896c6e6afcf52e9a50613285940c26e353ba3 Mon Sep 17 00:00:00 2001 From: Slawek Kaplonski Date: Wed, 27 Oct 2021 16:50:11 +0200 Subject: [PATCH] Rehome functions to enable Neutron's QoS service Those functions were part of the neutron devstack plugin but we discussed it during last PTG [1] and decided to move to the Devstack repo plugins which are used by e.g. CI jobs which are defined outside of the neutron repository. QoS service is used e.g. in the tempest-slow job which is defined in tempest and used by many different OpenStack projects. [1] https://etherpad.opendev.org/p/neutron-yoga-ptg#L142 Change-Id: I48f65d530db53fe2c94cad57a8072e1158d738b0 --- lib/neutron-legacy | 8 ++++++++ lib/neutron_plugins/services/qos | 30 ++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 lib/neutron_plugins/services/qos diff --git a/lib/neutron-legacy b/lib/neutron-legacy index be29f99024..a3f6f0788d 100644 --- a/lib/neutron-legacy +++ b/lib/neutron-legacy @@ -279,6 +279,7 @@ source $TOP_DIR/lib/neutron_plugins/services/l3 # Additional Neutron service plugins source $TOP_DIR/lib/neutron_plugins/services/placement source $TOP_DIR/lib/neutron_plugins/services/trunk +source $TOP_DIR/lib/neutron_plugins/services/qos # Use security group or not if has_neutron_plugin_security_group; then @@ -381,6 +382,13 @@ function configure_mutnauq { if is_service_enabled q-trunk neutron-trunk; then configure_trunk_extension fi + if is_service_enabled q-qos neutron-qos; then + configure_qos + if is_service_enabled q-l3 neutron-l3; then + configure_l3_agent_extension_fip_qos + configure_l3_agent_extension_gateway_ip_qos + fi + fi iniset $NEUTRON_CONF DEFAULT api_workers "$API_WORKERS" # devstack is not a tool for running uber scale OpenStack diff --git a/lib/neutron_plugins/services/qos b/lib/neutron_plugins/services/qos new file mode 100644 index 0000000000..af9eb3d5b4 --- /dev/null +++ b/lib/neutron_plugins/services/qos @@ -0,0 +1,30 @@ +#!/bin/bash + +function configure_qos_service_plugin { + neutron_service_plugin_class_add "qos" +} + + +function configure_qos_core_plugin { + configure_qos_$NEUTRON_CORE_PLUGIN +} + + +function configure_qos_l2_agent { + plugin_agent_add_l2_agent_extension "qos" +} + + +function configure_qos { + configure_qos_service_plugin + configure_qos_core_plugin + configure_qos_l2_agent +} + +function configure_l3_agent_extension_fip_qos { + plugin_agent_add_l3_agent_extension "fip_qos" +} + +function configure_l3_agent_extension_gateway_ip_qos { + plugin_agent_add_l3_agent_extension "gateway_ip_qos" +}