devstack/lib/neutron_plugins
Slawek Kaplonski 7f6d9283b8 Rehome functions to enable Neutron's placement integration
Those functions were part of the neutron devstack plugin but we
discussed it during last PTG [1] and decided to move to the Devstack
repo as plugins which are used by e.g. CI jobs which are defined outside
of the neutron repository.
Placement integration is used e.g. in the tempest-slow job which is
defined in tempest and used by many different OpenStack projects.

[1] https://etherpad.opendev.org/p/neutron-yoga-ptg#L142

Change-Id: Ib86071881f16de1b69c0f9b1b19b6df8b7e66a07
2021-10-27 16:40:30 +02:00
..
services Rehome functions to enable Neutron's placement integration 2021-10-27 16:40:30 +02:00
bigswitch_floodlight fix a typo 2018-09-20 10:47:16 +08:00
brocade Don't set external_network_bridge by default 2017-02-10 06:39:04 +00:00
cisco Removed neutron_plugin_configure_debug_command functions 2017-02-10 06:39:04 +00:00
embrane Namespace XTRACE commands 2015-11-27 15:36:04 +11:00
linuxbridge_agent Remove bridge-utils/brctl usage 2020-04-30 10:09:47 +10:00
ml2 Change default network backend driver to ML2/OVN 2021-05-24 09:48:35 +01:00
nuage Stop configuring '[DEFAULT] firewall_driver' for nova 2020-01-16 09:27:54 +00:00
openvswitch Namespace XTRACE commands 2015-11-27 15:36:04 +11:00
openvswitch_agent Allow to install os-ken from git repo 2021-03-04 10:31:30 +09:00
ovn_agent Configure access to physical network also with ML2/OVN backend 2021-08-31 12:41:47 +00:00
ovs_base Revert "Revert "remove external_network_bridge option"" 2019-02-27 14:57:22 +00:00
ovs_source Don't fail if there is no nf_conntrack_proto_gre module available 2021-10-14 13:50:30 +02:00
README.md Removed neutron_plugin_configure_debug_command functions 2017-02-10 06:39:04 +00: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-legacy calls the following functions when the $Q_PLUGIN is enabled

  • neutron_plugin_create_nova_conf : optionally set options in nova_conf
  • 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_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