devstack/lib/neutron_plugins
Akihiro Motoki edddb1fddf Stop Neutron advanced service external processes
Some of Neutron advanced services (LBaaS, VPNaaS, ....) creates
external processes and they should be stopped in unstack.
This commit defines neutron_<XaaS>_stop functions for all services
and implements the cleanup logics if necessary.

Also cleanup_neutron removes netns used by LBaaS haproxy.

Change-Id: Ied3a2c374ffcb6b59ecaf1027fb6e6083eded2ae
2013-12-16 17:23:40 +09:00
..
services Stop Neutron advanced service external processes 2013-12-16 17:23:40 +09:00
bigswitch_floodlight All neutron plugins should now use LibvirtGenericVIFDriver 2013-10-24 23:01:16 -07:00
brocade update for name change to Neutron 2013-07-07 00:15:11 -04:00
cisco update for name change to Neutron 2013-07-07 00:15:11 -04:00
linuxbridge Source linuxbridge_agent in linuxbridge plugin 2013-07-09 16:21:42 +02:00
linuxbridge_agent All neutron plugins should now use LibvirtGenericVIFDriver 2013-10-24 23:01:16 -07:00
midonet Define Q_L3_ENABLED=True for MidoNet plugin 2013-12-11 04:01:40 +00:00
ml2 Do not create an unnecessary file "ml2" 2013-11-28 17:10:44 +09:00
nec Modification for Ubuntu 13.10 and minor fixes in Neutron NEC plugin 2013-10-23 15:47:06 +09:00
nicira All neutron plugins should now use LibvirtGenericVIFDriver 2013-10-24 23:01:16 -07:00
openvswitch update for name change to Neutron 2013-07-07 00:15:11 -04:00
openvswitch_agent update for name change to Neutron 2013-07-07 00:15:11 -04:00
ovs_base All neutron plugins should now use LibvirtGenericVIFDriver 2013-10-24 23:01:16 -07:00
plumgrid Adds entries for missing parameters in PLUMgrid plugin 2013-12-02 14:27:31 -08:00
README.md update for name change to Neutron 2013-07-07 00:15:11 -04:00
ryu update for name change to Neutron 2013-07-07 00:15:11 -04:00

Neutron plugin specific files

Neutron plugins require plugin specific behavior. The files under the directory, lib/neutron_plugins/, will be used when their service is enabled. Each plugin has lib/neutron_plugins/$Q_PLUGIN and define the following functions. Plugin specific configuration variables should be in this file.

  • filename: $Q_PLUGIN
    • The corresponding file name MUST be the same to plugin name $Q_PLUGIN. Plugin specific configuration variables should be in this file.

functions

lib/neutron calls the following functions when the $Q_PLUGIN is enabled

  • neutron_plugin_create_nova_conf : set NOVA_VIF_DRIVER and optionally set options in nova_conf e.g. NOVA_VIF_DRIVER=${NOVA_VIF_DRIVER:-"nova.virt.libvirt.vif.LibvirtGenericVIFDriver"}
  • neutron_plugin_install_agent_packages : install packages that is specific to plugin agent e.g. install_package bridge-utils
  • neutron_plugin_configure_common : set plugin-specific variables, Q_PLUGIN_CONF_PATH, Q_PLUGIN_CONF_FILENAME, Q_DB_NAME, Q_PLUGIN_CLASS
  • neutron_plugin_configure_debug_command
  • neutron_plugin_configure_dhcp_agent
  • neutron_plugin_configure_l3_agent
  • neutron_plugin_configure_plugin_agent
  • neutron_plugin_configure_service
  • neutron_plugin_setup_interface_driver
  • has_neutron_plugin_security_group: return 0 if the plugin support neutron security group otherwise return 1
  • neutron_plugin_check_adv_test_requirements: return 0 if requirements are satisfied otherwise return 1