From e0ddecdeedae62dbea797efd4aa02b8062752990 Mon Sep 17 00:00:00 2001 From: Fabio Verboso Date: Mon, 2 Mar 2020 17:55:54 +0100 Subject: [PATCH] Conductor waits for registration agent. Instead of stopping, the conductor wait for a valid registration agent. Change-Id: I356769f3af21ed183fd1d99c82d0cccc4dfaccb3 --- iotronic/conductor/manager.py | 5 +++++ iotronic/db/sqlalchemy/api.py | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/iotronic/conductor/manager.py b/iotronic/conductor/manager.py index ba8db9c..da1ce98 100644 --- a/iotronic/conductor/manager.py +++ b/iotronic/conductor/manager.py @@ -80,6 +80,11 @@ class ConductorManager(object): ragent = self.dbapi.get_registration_wampagent() + while not ragent: + LOG.warn("Cannot find a registration agent. Waiting for it...") + time.sleep(5) + ragent = self.dbapi.get_registration_wampagent() + LOG.info("Found registration agent: %s on %s", ragent.hostname, ragent.wsurl) diff --git a/iotronic/db/sqlalchemy/api.py b/iotronic/db/sqlalchemy/api.py index f208dc1..4eec374 100644 --- a/iotronic/db/sqlalchemy/api.py +++ b/iotronic/db/sqlalchemy/api.py @@ -585,7 +585,7 @@ class Connection(api.Connection): .filter_by(ragent=True, online=True) .one()) except NoResultFound: - raise exception.WampRegistrationAgentNotFound() + return None def unregister_wampagent(self, hostname): session = get_session()