Kyle Mestery ebfac64d2a Add support for setting extra networking configuration options.
Add support for generically setting arguments for OpenStack Networking
for both the server and agent. This is done using Q_SRV_EXTRA_OPTS for the
server, which let you place settings in the "OVS" or "LINUX_BRIDGE"
sections of the plugin configuration file. For the agent, two variables
are defined: Q_AGENT_EXTRA_AGENT_OPTS lets you set items in the "AGENT"
section of the plugin configuration file, and Q_AGENT_EXTRA_SRV_OPTS
lets you set things in the "OVS" or "LINUX_BRIDGE" sections of the
plugin configuration file.

Implements blueprint devstack-quantum-config.

Change-Id: I9ba44b21231f88cda1bcc5e3389c7875f03d8145
2013-06-07 14:45:22 +00:00
..
ml2
2013-06-06 23:26:00 -04:00

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.

functions

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

  • quantum_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"}
  • quantum_plugin_install_agent_packages : install packages that is specific to plugin agent e.g. install_package bridge-utils
  • quantum_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 1
  • quantum_plugin_check_adv_test_requirements: return 0 if requirements are satisfied otherwise return 1