Previously interface_driver for q-lbaas is hardcoded and q-lbaas does not work when quantum plugin requires additional configuration (like ovs_use_veth=True). This commit set up interface_driver using quantum_plugin_setup_interface_driver function. This commit also moves a script related Quantum service plugin to lib/quantum_plugins/services/ Change-Id: Iad11c1b31071dfb580843be18be78c83feb91f10
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_DRIVERand 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_CLASSquantum_plugin_configure_debug_commandquantum_plugin_configure_dhcp_agentquantum_plugin_configure_l3_agentquantum_plugin_configure_plugin_agentquantum_plugin_configure_servicequantum_plugin_setup_interface_driverhas_quantum_plugin_security_group: return 0 if the plugin support quantum security group otherwise return 1