Browse Source

Merge "Don't ever give up trying to connect to OVN DBs"

changes/81/787681/4
Zuul 2 months ago
committed by Gerrit Code Review
parent
commit
ab24ff018f
2 changed files with 24 additions and 0 deletions
  1. +13
    -0
      neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/impl_idl_ovn.py
  2. +11
    -0
      neutron/tests/functional/plugins/ml2/drivers/ovn/mech_driver/ovsdb/test_impl_idl.py

+ 13
- 0
neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/impl_idl_ovn.py View File

@ -41,6 +41,19 @@ from neutron.services.portforwarding import constants as pf_const
LOG = log.getLogger(__name__)
# Override wait_for_change to not use a timeout so we always try to reconnect
def wait_for_change(idl_, timeout, seqno=None):
if seqno is None:
seqno = idl_.change_seqno
while idl_.change_seqno == seqno and not idl_.run():
poller = idlutils.poller.Poller()
idl_.wait(poller)
poller.block()
idlutils.wait_for_change = wait_for_change
class OvnNbTransaction(idl_trans.Transaction):
def __init__(self, *args, **kwargs):


+ 11
- 0
neutron/tests/functional/plugins/ml2/drivers/ovn/mech_driver/ovsdb/test_impl_idl.py View File

@ -15,6 +15,7 @@
import copy
import uuid
from ovsdbapp.backend.ovs_idl import connection
from ovsdbapp import constants as const
from ovsdbapp import event as ovsdb_event
from ovsdbapp.tests.functional import base
@ -259,3 +260,13 @@ class TestNbApi(BaseOvnIdlTest):
lb_match = f(exp_fip_id)
self.assertIn((lb_match['name'], lb_match['external_ids']),
exp_values)
class TestIgnoreConnectionTimeout(BaseOvnIdlTest):
@classmethod
def create_connection(cls, schema):
idl = connection.OvsdbIdl.from_server(cls.schema_map[schema], schema)
return connection.Connection(idl, 0)
def test_setUp_will_fail_if_this_is_broken(self):
pass

Loading…
Cancel
Save