devstack/lib/neutron_plugins
Sean Dague 16dd8b3ed9 introduce if/then & for/do rules
we mostly have a consistent style on if/then & for/do in devstack,
except when we don't. This attempts to build a set of rules to
enforce this.

Because there are times when lines are legitimately long, and there
is a continuation, this starts off ignoring if and for loops with
continuations. But for short versions, we should enforce this.

Changes to make devstack pass are included. The fact that the
cleanup patch was so small is pretty solid reason that this is
actually the style we've all agreed to.

Part of a git stash from hong kong that I finally cleaned up.

Change-Id: I6376d7afd59cc5ebba9ed69e5ee784a3d5934a10
2014-02-05 07:52:54 +01:00
..
services Merge "Neutron: Define a utility function to add neutron service class" 2014-01-01 13:28:32 +00:00
bigswitch_floodlight introduce if/then & for/do rules 2014-02-05 07:52:54 +01:00
brocade Fix typo NEUTON to NEUTRON 2014-01-14 11:39:15 -08:00
cisco update for name change to Neutron 2013-07-07 00:15:11 -04:00
linuxbridge Source linuxbridge_agent in linuxbridge plugin 2013-07-09 16:21:42 +02:00
linuxbridge_agent All neutron plugins should now use LibvirtGenericVIFDriver 2013-10-24 23:01:16 -07:00
midonet Define Q_L3_ENABLED=True for MidoNet plugin 2013-12-11 04:01:40 +00:00
ml2 Neutron: Define a utility function to add neutron service class 2013-12-19 17:37:35 +09:00
nec introduce if/then & for/do rules 2014-02-05 07:52:54 +01:00
openvswitch update for name change to Neutron 2013-07-07 00:15:11 -04:00
openvswitch_agent update for name change to Neutron 2013-07-07 00:15:11 -04:00
ovs_base All neutron plugins should now use LibvirtGenericVIFDriver 2013-10-24 23:01:16 -07:00
plumgrid Adds entries for missing parameters in PLUMgrid plugin 2013-12-02 14:27:31 -08:00
README.md update for name change to Neutron 2013-07-07 00:15:11 -04:00
ryu update for name change to Neutron 2013-07-07 00:15:11 -04:00
vmware_nsx Configuration changes required to support VMware NSX plugin 2014-01-05 08:01:16 -08: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_DB_NAME, 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