From f511c368f8e1e6690b7be4da926cad97d07ee85f Mon Sep 17 00:00:00 2001 From: Ihar Hrachyshka Date: Tue, 7 Mar 2017 06:31:49 +0000 Subject: [PATCH] lib/neutron: allow to add more ml2 extension drivers The patch will allow jobs to append new ml2 extension drivers without overriding port_security. Change-Id: I45f017d1b8a3054452c3166ed4fb460d21959adb --- lib/neutron | 23 ++++++++++++++++++++++- lib/neutron-legacy | 10 ++++++++++ 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/lib/neutron b/lib/neutron index c97104ec46..e69e25fd55 100644 --- a/lib/neutron +++ b/lib/neutron @@ -163,7 +163,7 @@ function configure_neutron_new { iniset $NEUTRON_CORE_PLUGIN_CONF ml2_type_vxlan vni_ranges 1001:2000 iniset $NEUTRON_CORE_PLUGIN_CONF ml2_type_flat flat_networks public if [[ "$NEUTRON_PORT_SECURITY" = "True" ]]; then - iniset $NEUTRON_CORE_PLUGIN_CONF ml2 extension_drivers port_security + neutron_ml2_extension_driver_add port_security fi fi @@ -481,6 +481,18 @@ function neutron_service_plugin_class_add_new { iniset $NEUTRON_CONF DEFAULT service_plugins $plugins } +function _neutron_ml2_extension_driver_add { + local driver=$1 + local drivers="" + + drivers=$(iniget $NEUTRON_CORE_PLUGIN_CONF ml2 extension_drivers) + if [ $drivers ]; then + drivers+="," + fi + drivers+="${driver}" + iniset $NEUTRON_CORE_PLUGIN_CONF ml2 extension_drivers $drivers +} + function neutron_server_config_add_new { _NEUTRON_SERVER_EXTRA_CONF_FILES_ABS+=($1) } @@ -553,6 +565,15 @@ function neutron_service_plugin_class_add { fi } +function neutron_ml2_extension_driver_add { + if is_neutron_legacy_enabled; then + # Call back to old function + _neutron_ml2_extension_driver_add_old "$@" + else + _neutron_ml2_extension_driver_add "$@" + fi +} + function install_neutron_agent_packages { if is_neutron_legacy_enabled; then # Call back to old function diff --git a/lib/neutron-legacy b/lib/neutron-legacy index ccab527f66..86a2b1d58e 100644 --- a/lib/neutron-legacy +++ b/lib/neutron-legacy @@ -870,6 +870,16 @@ function _neutron_service_plugin_class_add { fi } +# _neutron_ml2_extension_driver_add_old() - add ML2 extension driver +function _neutron_ml2_extension_driver_add_old { + local extension=$1 + if [[ $Q_ML2_PLUGIN_EXT_DRIVERS == '' ]]; then + Q_ML2_PLUGIN_EXT_DRIVERS=$extension + elif [[ ! ,${Q_ML2_PLUGIN_EXT_DRIVERS}, =~ ,${extension}, ]]; then + Q_ML2_PLUGIN_EXT_DRIVERS="$Q_ML2_PLUGIN_EXT_DRIVERS,$extension" + fi +} + # mutnauq_server_config_add() - add server config file function mutnauq_server_config_add { _Q_PLUGIN_EXTRA_CONF_FILES_ABS+=($1)