Comment 4 for bug 1991239

Revision history for this message
Dmitrii Shcherbakov (dmitriis) wrote :

For context: Neutron should rely on the `ovsdb_probe_interval` setting at the client side (which is set to 60 seconds by default) for detecting DB failovers:

https://github.com/openstack/neutron/blob/e4cc40f114aed485a62ed8535813d6ee610ce41f/neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/ovsdb_monitor.py#L618-L623
https://github.com/openstack/neutron/blob/e4cc40f114aed485a62ed8535813d6ee610ce41f/neutron/conf/plugins/ml2/drivers/ovn/ovn_conf.py#L90-L97

We also set the inactivity probe at the ovsdb side to the corresponding value by default:
https://opendev.org/x/charm-ovn-central/commit/9dcd53bb75805ff733c8f10b99724ea16a2b5f25
https://github.com/openvswitch/ovs/blob/5a686267d36c5c4229ec801a9616ceb60740fbe3/vswitchd/vswitch.xml#L5303-L5311

There was a recent change around the handling of inactivity probes in Neutron for connection strings that contain multiple addresses which is not yet in the Yoga UCA.

https://bugs.launchpad.net/neutron/+bug/1958364
https://review.opendev.org/c/openstack/neutron/+/825269
https://github.com/openstack/neutron/commit/789aa7122021e206bf07e377dc25df7a854b45fe

➜ neutron git:(master) ✗ git --no-pager tag --contains='789aa7122021e206bf07e377dc25df7a854b45fe'
21.0.0.0rc1

https://openstack-ci-reports.ubuntu.com/reports/cloud-archive/yoga_versions.html
2:20.2.0-0ubuntu1

Prior art introducing the 60s timeout in the first place suggests that OVS Python IDL should be better at handling this instead:
https://bugs.launchpad.net/networking-ovn/+bug/1772656/comments/3
https://review.opendev.org/c/openstack/networking-ovn/+/569977/

It's interesting that the OpenStack version difference has an effect on the issue appearing (Focal Yoga vs Focal Ussuri) as reported above.