Files
devstack/lib/neutron_plugins
elajkat a84b2091cf Rehome functions to enable Neutron's segments 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: I2c26063896ab2679cffd01227a40a3283caa3b17
2023-02-13 13:36:24 +00:00
..
2022-12-16 09:59:11 +01:00
2022-12-16 09:59:11 +01:00
2015-11-27 15:36:04 +11:00
2022-12-16 09:59:11 +01:00
2022-12-16 09:59:11 +01:00
2015-11-27 15:36:04 +11:00
2022-12-16 09:59:11 +01:00
2022-10-24 12:18:40 +02:00
2022-12-16 09:59:11 +01: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 : 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