Update neutron to 9.0.0.0b1
[openstack-build/neutron-build.git] / xenial / debian / plugin_guess_func
diff --git a/xenial/debian/plugin_guess_func b/xenial/debian/plugin_guess_func
new file mode 100644 (file)
index 0000000..281152a
--- /dev/null
@@ -0,0 +1,167 @@
+#!/bin/sh
+
+# Remember to also add any new plugin name into neutron-common.templates
+
+# Please remember this function is also duplicated in debian/neutron-common.config.in
+### Guess the plugin name depending on the class of the plugin in /etc/neutron/neutron.conf ###
+neutron_core_plugin_to_plugin_name () {
+       case ${1} in
+       "neutron.plugins.openvswitch.ovs_neutron_plugin.OVSNeutronPluginV2")
+               NEUTRON_PLUGIN_NAME=OpenVSwitch
+       ;;
+       "neutron.plugins.linuxbridge.lb_neutron_plugin.LinuxBridgePluginV2")
+               NEUTRON_PLUGIN_NAME=LinuxBridge
+       ;;
+       "neutron.plugins.ml2.plugin.Ml2Plugin")
+               NEUTRON_PLUGIN_NAME=ml2
+       ;;
+       "neutron.plugins.ryu.ryu_neutron_plugin.RyuNeutronPluginV2")
+               NEUTRON_PLUGIN_NAME=RYU
+       ;;
+       "neutron.plugins.plumgrid.plumgrid_nos_plugin.plumgrid_plugin.NeutronPluginPLUMgridV2")
+               NEUTRON_PLUGIN_NAME=PLUMgrid
+       ;;
+       "neutron.plugins.brocade.NeutronPlugin.BrocadePluginV2")
+               NEUTRON_PLUGIN_NAME=Brocade
+       ;;
+       "neutron.plugins.hyperv.hyperv_neutron_plugin.HyperVNeutronPlugin")
+               NEUTRON_PLUGIN_NAME=Hyper-V
+       ;;
+       "neutron.plugins.bigswitch.plugin.NeutronRestProxyV2")
+               NEUTRON_PLUGIN_NAME=BigSwitch
+       ;;
+       "neutron.plugins.cisco.network_plugin.PluginV2")
+               NEUTRON_PLUGIN_NAME=Cisco
+       ;;
+       "neutron.plugins.nicira.NeutronPlugin.NvpPluginV2")
+               NEUTRON_PLUGIN_NAME=neutron.plugins.nicira.NeutronPlugin.NvpPluginV2
+       ;;
+       "neutron.plugins.midonet.plugin.MidonetPluginV2")
+               NEUTRON_PLUGIN_NAME=Midonet
+       ;;
+       "neutron.plugins.nec.nec_plugin.NECPluginV2")
+               NEUTRON_PLUGIN_NAME=Nec
+       ;;
+       "neutron.plugins.metaplugin.meta_neutron_plugin.MetaPluginV2")
+               NEUTRON_PLUGIN_NAME=MetaPlugin
+       ;;
+       "neutron.plugins.mlnx.mlnx_plugin.MellanoxEswitchPlugin")
+               NEUTRON_PLUGIN_NAME=Mellanox
+       ;;
+       "vmware_nsx.plugin.NsxVPlugin")
+               NEUTRON_PLUGIN_NAME=VMware
+       ;;
+       *)
+               NEUTRON_PLUGIN_NAME="other"
+       ;;
+       esac
+}
+
+### Guess the path of the plugin .ini file depending on the plugin name ###
+neutron_plugin_ini_path () {
+       PLUG_INI_BASE=/etc/neutron/plugins/
+       case ${1} in
+       "OpenVSwitch")
+               NEUTRON_PLUGIN_CONFIG=${PLUG_INI_BASE}ml2/openvswitch_agent.ini
+       ;;
+       "LinuxBridge")
+               NEUTRON_PLUGIN_CONFIG=${PLUG_INI_BASE}linuxbridge/linuxbridge_conf.ini
+       ;;
+       "ml2")
+               NEUTRON_PLUGIN_CONFIG=${PLUG_INI_BASE}ml2/ml2_conf.ini
+       ;;
+       "RYU")
+               NEUTRON_PLUGIN_CONFIG=${PLUG_INI_BASE}ryu/ryu.ini
+       ;;
+       "PLUMgrid")
+               NEUTRON_PLUGIN_CONFIG=${PLUG_INI_BASE}plumgrid/plumgrid.ini
+       ;;
+       "Brocade")
+               NEUTRON_PLUGIN_CONFIG=${PLUG_INI_BASE}brocade/brocade.ini
+       ;;
+       "Hyper-V")
+               NEUTRON_PLUGIN_CONFIG=${PLUG_INI_BASE}hyperv/hyperv_neutron_plugin.ini
+       ;;
+       "BigSwitch")
+               NEUTRON_PLUGIN_CONFIG=${PLUG_INI_BASE}bigswitch/restproxy.ini
+       ;;
+       "Cisco")
+               NEUTRON_PLUGIN_CONFIG=${PLUG_INI_BASE}cisco/cisco_plugins.ini
+       ;;
+       "Nicira")
+               NEUTRON_PLUGIN_CONFIG=${PLUG_INI_BASE}nicira/nvp.ini
+       ;;
+       "Midonet")
+               NEUTRON_PLUGIN_CONFIG=${PLUG_INI_BASE}midonet/midonet.ini
+       ;;
+       "Nec")
+               NEUTRON_PLUGIN_CONFIG=${PLUG_INI_BASE}nec/nec.ini
+       ;;
+       "MetaPlugin")
+               NEUTRON_PLUGIN_CONFIG=${PLUG_INI_BASE}metaplugin/metaplugin.ini
+       ;;
+       "Mellanox")
+               NEUTRON_PLUGIN_CONFIG=${PLUG_INI_BASE}mlnx/mlnx_conf.ini
+       ;;
+       "VMware")
+               NEUTRON_PLUGIN_CONFIG=${PLUG_INI_BASE}vmware/nsx.ini
+       ;;
+       *)
+               NEUTRON_PLUGIN_CONFIG=""
+       ;;
+       esac
+}
+
+### Translates the core_plugin directive value from neutron.conf into the plugin name ###
+neutron_core_plugin_to_plugin_name () {
+       case ${1} in
+       "neutron.plugins.openvswitch.ovs_neutron_plugin.OVSNeutronPluginV2")
+               NEUTRON_PLUGIN_NAME=OpenVSwitch
+       ;;
+       "neutron.plugins.linuxbridge.lb_neutron_plugin.LinuxBridgePluginV2")
+               NEUTRON_PLUGIN_NAME=LinuxBridge
+       ;;
+       "neutron.plugins.ml2.plugin.Ml2Plugin")
+               NEUTRON_PLUGIN_NAME=ml2
+       ;;
+       "neutron.plugins.ryu.ryu_neutron_plugin.RyuNeutronPluginV2")
+               NEUTRON_PLUGIN_NAME=RYU
+       ;;
+       "neutron.plugins.plumgrid.plumgrid_nos_plugin.plumgrid_plugin.NeutronPluginPLUMgridV2")
+               NEUTRON_PLUGIN_NAME=PLUMgrid
+       ;;
+       "neutron.plugins.brocade.NeutronPlugin.BrocadePluginV2")
+               NEUTRON_PLUGIN_NAME=Brocade
+       ;;
+       "neutron.plugins.hyperv.hyperv_neutron_plugin.HyperVNeutronPlugin")
+               NEUTRON_PLUGIN_NAME=Hyper-V
+       ;;
+       "neutron.plugins.bigswitch.plugin.NeutronRestProxyV2")
+               NEUTRON_PLUGIN_NAME=BigSwitch
+       ;;
+       "neutron.plugins.cisco.network_plugin.PluginV2")
+               NEUTRON_PLUGIN_NAME=Cisco
+       ;;
+       "neutron.plugins.nicira.NeutronPlugin.NvpPluginV2")
+               NEUTRON_PLUGIN_NAME=neutron.plugins.nicira.NeutronPlugin.NvpPluginV2
+       ;;
+       "neutron.plugins.midonet.plugin.MidonetPluginV2")
+               NEUTRON_PLUGIN_NAME=Midonet
+       ;;
+       "neutron.plugins.nec.nec_plugin.NECPluginV2")
+               NEUTRON_PLUGIN_NAME=Nec
+       ;;
+       "neutron.plugins.metaplugin.meta_neutron_plugin.MetaPluginV2")
+               NEUTRON_PLUGIN_NAME=MetaPlugin
+       ;;
+       "neutron.plugins.mlnx.mlnx_plugin.MellanoxEswitchPlugin")
+               NEUTRON_PLUGIN_NAME=Mellanox
+       ;;
+       "vmware_nsx.plugin.NsxVPlugin")
+               NEUTRON_PLUGIN_NAME=VMware
+       ;;
+       *)
+               NEUTRON_PLUGIN_NAME="other"
+       ;;
+       esac
+}