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.
This commit is contained in:
Liam Young
2021-10-28 08:08:19 +00:00
parent 858c85c61f
commit 5b2ef5df9b

View File

@@ -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)