![Attila Fazekas](/assets/img/avatar_default.png)
The gate/updown.sh calls the unstack.sh with -ex option. Normally we do not use -e with unstack.sh. The unstack.sh can fail if the service already stopped, and it also can have flaky failures on the gate. For example the stop_swift function tries to kill swift in two different ways, and if the first one succeeds before the 2th attempt the pkill fails the whole unstack.sh. This change accepts kill failure. Normally the kill can fail if the process does not exits, or when you do not have permission to the kill operation. Since the permission issue is very unlikely in our case, this change does not tries to distinguish the two operation. The behavior of the unstack.sh wen you are not using -ex should not be changed by this change. Change-Id: I64bf3cbe1b60c96f5b271dcfb620c3d4b50de26b
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-legacy
calls the following functions when the $Q_PLUGIN
is enabled
neutron_plugin_create_nova_conf
: setNOVA_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-utilsneutron_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 1neutron_plugin_check_adv_test_requirements
: return 0 if requirements are satisfied otherwise return 1