From 1a9ccb71a4bb19c50e483233667d406c23689cd2 Mon Sep 17 00:00:00 2001 From: Aurelien Lourot Date: Wed, 29 Jun 2022 15:06:02 +0200 Subject: [PATCH] Make nova setup more robust (#430) --- zaza/openstack/charm_tests/nova/setup.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/zaza/openstack/charm_tests/nova/setup.py b/zaza/openstack/charm_tests/nova/setup.py index 81b3bb1..2f1b573 100644 --- a/zaza/openstack/charm_tests/nova/setup.py +++ b/zaza/openstack/charm_tests/nova/setup.py @@ -16,6 +16,7 @@ import tenacity +from tenacity import Retrying, stop_after_attempt, wait_exponential import zaza.openstack.utilities.openstack as openstack_utils from zaza.openstack.utilities import ( cli as cli_utils, @@ -37,7 +38,14 @@ def create_flavors(nova_client=None): nova_client = openstack_utils.get_nova_session_client( keystone_session) cli_utils.setup_logging() - names = [flavor.name for flavor in nova_client.flavors.list()] + + for attempt in Retrying( + stop=stop_after_attempt(3), + wait=wait_exponential(multiplier=1, min=2, max=10)): + with attempt: + existing_flavors = nova_client.flavors.list() + + names = [flavor.name for flavor in existing_flavors] for flavor in nova_utils.FLAVORS.keys(): if flavor not in names: nova_flavor = nova_client.flavors.create(