From 5b2ef5df9bca41d227bcd1a408c8a64a5f3ddb43 Mon Sep 17 00:00:00 2001 From: Liam Young Date: Thu, 28 Oct 2021 08:08:19 +0000 Subject: [PATCH] Add auto_initialize_opportunistic Add a method which will init vault if its present and skip if it is not. This allows much simpler tests.yaml if all test and config steps are the same for TLS and non-TLS test cases apart from initialising vault. --- zaza/openstack/charm_tests/vault/setup.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/zaza/openstack/charm_tests/vault/setup.py b/zaza/openstack/charm_tests/vault/setup.py index 87917bc..88e3d3e 100644 --- a/zaza/openstack/charm_tests/vault/setup.py +++ b/zaza/openstack/charm_tests/vault/setup.py @@ -135,7 +135,8 @@ async def async_unseal_by_unit(cacert=None): unit_name, './hooks/update-status') -def auto_initialize(cacert=None, validation_application='keystone', wait=True): +def auto_initialize(cacert=None, validation_application='keystone', wait=True, + skip_on_absent=False): """Auto initialize vault for testing. Generate a csr and uploading a signed certificate. @@ -147,9 +148,16 @@ def auto_initialize(cacert=None, validation_application='keystone', wait=True): :param validation_application: Name of application to be used as a client for validation. :type validation_application: str + :param skip_on_absent: Non-fatal skip initialise if vault absent. + :type validation_application: bool :returns: None :rtype: None """ + if skip_on_absent: + status = zaza.model.get_status() + if 'vault' not in status.applications.keys(): + logging.info('Skipping auto_initialize, vault not in model') + return logging.info('Running auto_initialize') basic_setup(cacert=cacert, unseal_and_authorize=True) @@ -197,6 +205,11 @@ def auto_initialize(cacert=None, validation_application='keystone', wait=True): pass +auto_initialize_opportunistic = functools.partial( + auto_initialize, + skip_on_absent=True) + + auto_initialize_no_validation = functools.partial( auto_initialize, validation_application=None)