devstack/lib/neutron_plugins
Kyle Mestery 14ea1a2b79 Correctly set the L3 service plugin for ML2
ML2 uses a service plugin for L3. This patch to devstack
correctly sets this by setting or updating the variable
Q_SERVICE_PLUGIN_CLASSES, which makes ML2 compatible when
running with other service plugins (e.g. LBaaS and VPN).

Fixes bug 1231622

Change-Id: I0ce1f5a42bd052995135ffac1ee5ef382d69789e
2013-09-22 03:11:31 +00:00
..
services Merge "Support OpenSwan in Neturon VPNaaS" 2013-09-06 16:32:58 +00:00
bigswitch_floodlight update for name change to Neutron 2013-07-07 00:15:11 -04: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 update for name change to Neutron 2013-07-07 00:15:11 -04:00
midonet Modify midonet plugin to support the latest MidoNet 2013-09-08 12:09:41 +09:00
ml2 Correctly set the L3 service plugin for ML2 2013-09-22 03:11:31 +00:00
nec update for name change to Neutron 2013-07-07 00:15:11 -04:00
nicira Fix option for metadata access in nicira neutron plugin 2013-08-13 09:02:46 -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 Set external ID on br-ex 2013-07-15 09:44:43 -07:00
plumgrid Update to PLUMgrid plugin configuration 2013-07-29 16:47:13 -07: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