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
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.
- The corresponding file name MUST be the same to plugin name
functions
lib/neutron calls the following functions when the $Q_PLUGIN is enabled
neutron_plugin_create_nova_conf: optionally set options in nova_confneutron_plugin_install_agent_packages: install packages that is specific to plugin agent e.g. install_package bridge-utilsneutron_plugin_configure_common: set plugin-specific variables,Q_PLUGIN_CONF_PATH,Q_PLUGIN_CONF_FILENAME,Q_PLUGIN_CLASSneutron_plugin_configure_dhcp_agentneutron_plugin_configure_l3_agentneutron_plugin_configure_plugin_agentneutron_plugin_configure_serviceneutron_plugin_setup_interface_driverhas_neutron_plugin_security_group: return 0 if the plugin support neutron security group otherwise return 1neutron_plugin_check_adv_test_requirements: return 0 if requirements are satisfied otherwise return 1