c9b0f1abaa
Support is added for configuring devstack to use quantum's Modular L2 plugin, ml2. See https://review.openstack.org/#/c/20105/ and the blueprint for details. Either the openvswitch or linuxbridge L2 agent can be used with the ml2 plugin (or both in combination on different nodes). Code configurating devstack for these L2 agents has been moved into separate files so it can be shared between ml2 and the existing monolithic plugins. To use ml2 in devstack, set Q_PLUGIN=ml2 in localrc. By default it will use the openvswitch L2 agent. To use ml2 with the linuxbridge agent, also set Q_AGENT=linuxbridge in localrc. The local, flat, and vlan network types are supported with either agent. Support for openvswitch's gre network type is not yet implemented in ml2. Note that ml2 does not yet return a useful value for binding:vif_type, so nova's GenricVIFDriver cannot currently be used. If using the linuxbridge agent, work around this by setting NOVA_VIF_DRIVER=nova.virt.libvirt.vif.LinuxBridgeVIFDriver in localrc. Implements: blueprint modular-l2 Change-Id: Ib3ed039d25295cf1ab268536cec408af8cd3795a |
||
---|---|---|
.. | ||
services | ||
bigswitch_floodlight | ||
brocade | ||
linuxbridge | ||
linuxbridge_agent | ||
ml2 | ||
nec | ||
nicira | ||
openvswitch | ||
openvswitch_agent | ||
ovs_base | ||
plumgrid | ||
README.md | ||
ryu |
Quantum plugin specific files
Quantum plugins require plugin specific behavior.
The files under the directory, lib/quantum_plugins/
, will be used
when their service is enabled.
Each plugin has lib/quantum_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.
- The corresponding file name MUST be the same to plugin name
functions
lib/quantum
calls the following functions when the $Q_PLUGIN
is enabled
quantum_plugin_create_nova_conf
: setNOVA_VIF_DRIVER
and optionally set options in nova_conf e.g. NOVA_VIF_DRIVER=${NOVA_VIF_DRIVER:-"nova.virt.libvirt.vif.LibvirtGenericVIFDriver"}quantum_plugin_install_agent_packages
: install packages that is specific to plugin agent e.g. install_package bridge-utilsquantum_plugin_configure_common
: set plugin-specific variables,Q_PLUGIN_CONF_PATH
,Q_PLUGIN_CONF_FILENAME
,Q_DB_NAME
,Q_PLUGIN_CLASS
quantum_plugin_configure_debug_command
quantum_plugin_configure_dhcp_agent
quantum_plugin_configure_l3_agent
quantum_plugin_configure_plugin_agent
quantum_plugin_configure_service
quantum_plugin_setup_interface_driver
has_quantum_plugin_security_group
: return 0 if the plugin support quantum security group otherwise return 1quantum_plugin_check_adv_test_requirements
: return 0 if requirements are satisfied otherwise return 1