devstack/lib/neutron_plugins
Jaume Devesa 9826093202 Improve MidoNet integration
Since midonet has become open source, we can build it from
external plugin scripts. The way to enable it is using the devstack
plugin approach:

    disable_service n-net
    enable_service q-svc
    enable_service q-dhcp
    enable_service q-meta
    enable_plugin networking-midonet \
        http://github.com/stackforge/networking-midonet
    Q_PLUGIN=midonet

and should download and build the last master branch of midonet.

Change-Id: I795f92f9d3c97b2c35bac712c6edfc032eff345a
2015-02-25 08:40:44 +00:00
..
2014-12-10 11:28:05 -05:00
2014-12-10 11:28:05 -05:00
ibm
2014-12-10 11:28:05 -05:00
2015-02-11 10:56:47 -06:00
2015-02-25 08:40:44 +00:00
ml2
2014-12-10 11:28:05 -05:00
nec
2014-12-10 11:28:05 -05:00
2014-12-10 11:28:05 -05:00
2015-02-13 10:00:26 +09:00
2014-12-10 11:28:05 -05:00
2015-02-11 10:56:47 -06:00
2014-12-10 11:28:05 -05:00
2014-12-10 11:28:05 -05: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_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