diff --git a/neutron/agent/linux/ovsdb_monitor.py b/neutron/agent/linux/ovsdb_monitor.py index 4dcdc57e97..c49bdc5f19 100644 --- a/neutron/agent/linux/ovsdb_monitor.py +++ b/neutron/agent/linux/ovsdb_monitor.py @@ -69,6 +69,10 @@ class SimpleInterfaceMonitor(OvsdbMonitor): respawn_interval=respawn_interval, ) self.data_received = False + if respawn_interval: + self._default_timeout = respawn_interval / 2 + else: + self._default_timeout = 10 @property def is_active(self): @@ -87,7 +91,8 @@ class SimpleInterfaceMonitor(OvsdbMonitor): """ return bool(list(self.iter_stdout())) or not self.is_active - def start(self, block=False, timeout=5): + def start(self, block=False, timeout=None): + timeout = timeout or self._default_timeout super(SimpleInterfaceMonitor, self).start() if block: eventlet.timeout.Timeout(timeout)