devstack/lib/quantum_plugins
Akihiro MOTOKI f85fa089bb Add Quantum NEC OpenFlow plugin support
NEC OpenFlow plugin supports several OpenFlow controllers. This commit
also adds a third party script to support Trema Sliceable Switch,
one of open source OpenFlow controllers.

Change-Id: I5dddf04a25bc275c3119d751ca79b482e1875902
2013-03-22 14:19:08 +09:00
..
agent_loadbalancer Make openSUSE port up-to-date 2013-03-12 18:02:55 +01:00
bigswitch_floodlight Support Quantum security group 2013-03-21 18:34:14 +09:00
brocade Support Quantum security group 2013-03-21 18:34:14 +09:00
linuxbridge Support Quantum security group 2013-03-21 18:34:14 +09:00
nec Add Quantum NEC OpenFlow plugin support 2013-03-22 14:19:08 +09:00
nicira Support Quantum security group 2013-03-21 18:34:14 +09:00
openvswitch Support Quantum security group 2013-03-21 18:34:14 +09:00
ovs_base Support Quantum security group 2013-03-21 18:34:14 +09:00
plumgrid Quantum PLUMgrid Plugin Support 2013-03-03 18:53:28 +00:00
README.md Support Quantum security group 2013-03-21 18:34:14 +09:00
ryu Support Quantum security group 2013-03-21 18:34:14 +09: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