devstack/lib/quantum_plugins
Mate Lakat f652e0fb6d xenapi - quantum: L2 agents for dom0 and domU
This patch makes it easier to support the all-in-one installation of
XenServer with Quantum:
- separate agents for domU and dom0 openvswitches. The domU agent's name
  is "q-domua", and the dom0 agent is called "q-agt"
- create a physnet1 physical network to connect those openvswitches

Note: This patch depends on the quantum patch:

    https://review.openstack.org/15022

For a diagram, see:
    http://goo.gl/BuAdg

Change-Id: Iff851438553528b9051edd380ecbb2c0415cbf78
2013-05-24 18:23:53 +01:00
..
services Add configurable use of veths with Quantum+OVS. 2013-04-30 05:57:25 +00:00
bigswitch_floodlight Check quantum status dependent on the plugin 2013-05-09 09:05:15 -07:00
brocade Check quantum status dependent on the plugin 2013-05-09 09:05:15 -07:00
linuxbridge Check quantum status dependent on the plugin 2013-05-09 09:05:15 -07:00
nec On unstack : clean up network namespaces created by quantum 2013-05-22 10:00:30 +02:00
nicira On unstack : clean up network namespaces created by quantum 2013-05-22 10:00:30 +02:00
openvswitch xenapi - quantum: L2 agents for dom0 and domU 2013-05-24 18:23:53 +01:00
ovs_base On unstack : clean up network namespaces created by quantum 2013-05-22 10:00:30 +02:00
plumgrid Check quantum status dependent on the plugin 2013-05-09 09:05:15 -07:00
README.md Check quantum status dependent on the plugin 2013-05-09 09:05:15 -07:00
ryu On unstack : clean up network namespaces created by quantum 2013-05-22 10:00:30 +02: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