Overcome mysql failure during Vitrage init.

Test the connection to detect mysql failures before executing statements.
It is better to fail early because at that point we have retries.

Change-Id: I9f358104b173920c279bf1213a76518f4b7bb5b5
This commit is contained in:
Idan Hefetz 2019-10-23 08:32:55 +00:00
parent e71b5a45de
commit 8c027ee36e
1 changed files with 6 additions and 2 deletions

View File

@ -46,11 +46,15 @@ def get_connection_from_config():
@tenacity.retry(
wait=tenacity.wait_fixed(CONF.database.retry_interval),
stop=tenacity.stop_after_attempt(retries if retries >= 0 else 5),
stop=tenacity.stop_after_attempt(retries),
after=tenacity.after_log(LOG, log.WARN),
reraise=True)
def _get_connection():
"""Return an open connection to the database."""
return mgr.driver(url)
conn = mgr.driver(url)
session = conn._engine_facade.get_session()
session.execute('SELECT 1;')
return conn
return _get_connection()