Files
Sean Mooney 20ed3c5f11 Improve OVS/OVN stop robustness for restacking
The stop_ovn function stops services but leaves behind runtime files
and stale configuration that can cause restacking failures. This change
improves robustness by:

- Making _stop_process check is-active in addition to is-enabled, so
  services are stopped even if they are running but not enabled.

- Clearing OVS external-ids before stopping to prevent stale config
  (ovn-remote, ovn-bridge, etc.) from persisting across restacks.

- Cleaning up runtime files (*.sock, *.pid, *.ctl) in both OVS_RUNDIR
  and OVN_RUNDIR after stopping services, as stale sockets can prevent
  ovsdb-server from binding on restart.

- Removing database lock files (.*.db.~lock~) which can block database
  access if services crash or stop uncleanly.

These changes allow stack.sh to run successfully after unstack.sh
without requiring a full clean.sh.

Generated-By: Cursor claude-opus-4.5
Change-Id: I8736f19a8892200948ee74854f99fd99eed5110b
Signed-off-by: Sean Mooney <work@seanmooney.info>
2026-01-22 14:40:48 +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
2025-02-10 13:52:47 -05:00
2015-11-27 15:36:04 +11:00
2022-12-16 09:59:11 +01:00
2023-02-16 12:01:39 +01:00
2024-12-27 13:01:19 +05:30
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