devstack/lib/neutron_plugins
Paul Michali 6fd4720e60 VPNaaS Support for StrongSwan driver.
The StrongSwan driver under development for kilo-3 will replace the
default reference OpenSwan driver.

In the interim though, we need to be able to run functional tests
for both drivers. This change is intending to do the additional
steps that are needed to set up for Strongswan, so that when a
functional test has IPSEC_PACKAGE=strongswan, everything will be
correct.

The intent here is to explicitly set the device driver class in
vpn_agent.ini, so that this will work for when OpenSwan is the
default (currently), when no drivers are specified, and will work
for when StrongSwan is made the default in the code.

For Ubuntu, AppArmor is disabled for charon and stroke.

Note: Both OpenSwan and StrongSwan cannot be installed on the
host at the same time.

Change-Id: Ib8467e24633230d6643d812068e4ed6ffb33f104
Partial-Bug: 1424757
2015-02-27 12:05:15 -05:00
..
services VPNaaS Support for StrongSwan driver. 2015-02-27 12:05:15 -05:00
bigswitch_floodlight add shebang lines to all lib files 2014-12-10 11:28:05 -05:00
brocade add shebang lines to all lib files 2014-12-10 11:28:05 -05:00
cisco Create initial network when using Cisco N1k plugin 2015-01-16 17:35:27 +00:00
embrane add shebang lines to all lib files 2014-12-10 11:28:05 -05:00
ibm add shebang lines to all lib files 2014-12-10 11:28:05 -05:00
linuxbridge_agent Remove deprecated vars 2015-02-11 10:56:47 -06:00
midonet Clone neutron_lbaas for midonet plugin 2015-01-16 12:09:29 +09:00
ml2 add shebang lines to all lib files 2014-12-10 11:28:05 -05:00
nec add shebang lines to all lib files 2014-12-10 11:28:05 -05:00
nuage add shebang lines to all lib files 2014-12-10 11:28:05 -05:00
ofagent_agent ofagent: Vendor code split 2015-02-13 10:00:26 +09:00
oneconvergence add shebang lines to all lib files 2014-12-10 11:28:05 -05:00
openvswitch add shebang lines to all lib files 2014-12-10 11:28:05 -05:00
openvswitch_agent Remove deprecated vars 2015-02-11 10:56:47 -06:00
ovs_base Fix wrong grep regular expression for tap ports 2015-01-29 08:12:31 +00:00
plumgrid add shebang lines to all lib files 2014-12-10 11:28:05 -05:00
README.md Use one name for neutron database after healing 2014-07-15 21:29:29 -04:00
vmware_nsx add shebang lines to all lib files 2014-12-10 11:28:05 -05:00

Neutron plugin specific files

Neutron plugins require plugin specific behavior. The files under the directory, lib/neutron_plugins/, will be used when their service is enabled. Each plugin has lib/neutron_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/neutron calls the following functions when the $Q_PLUGIN is enabled

  • neutron_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"}
  • neutron_plugin_install_agent_packages : install packages that is specific to plugin agent e.g. install_package bridge-utils
  • neutron_plugin_configure_common : set plugin-specific variables, Q_PLUGIN_CONF_PATH, Q_PLUGIN_CONF_FILENAME, Q_PLUGIN_CLASS
  • neutron_plugin_configure_debug_command
  • neutron_plugin_configure_dhcp_agent
  • neutron_plugin_configure_l3_agent
  • neutron_plugin_configure_plugin_agent
  • neutron_plugin_configure_service
  • neutron_plugin_setup_interface_driver
  • has_neutron_plugin_security_group: return 0 if the plugin support neutron security group otherwise return 1
  • neutron_plugin_check_adv_test_requirements: return 0 if requirements are satisfied otherwise return 1