devstack/lib/neutron_plugins
yatinkarel 1baa8905d5 Wait for OVN dbs also along with sockets
When OVN is setup from distro packages, the
main service is ovn-central which when restarted,
restarts ovn-northd, ovn nb and db services.

And during the restart ovn dbs(ovnnb_db.db and ovnsb_db.db)
are created, which may sometime takes time as seen with
ubuntu jammy tests[1].

We already checking for socket's file to be available,
let's also check for db files as without it ovn-*ctl
operations succeed but changes are not persisted until
db files are available and changes are lost with the restart.

[1] https://review.opendev.org/c/openstack/devstack/+/839389

Change-Id: I178da7af8cba8bcc8a67174e439df7c0f2c7d4d5
2022-05-06 18:06:18 +05:30
..
services Set public bridge up for v6 only configurations 2022-04-26 06:37:31 -07: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 Add missing ml2, L2 and L3 agent functions to devstack 2021-11-18 16:42:40 +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 Wait for OVN dbs also along with sockets 2022-05-06 18:06:18 +05:30
ovs_base Fix installation with OVN backend and compilation 2022-02-09 21:22:46 +00:00
ovs_source Fix installation with OVN backend and compilation 2022-02-09 21:22:46 +00: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