diff --git a/zaza/openstack/charm_tests/vault/tests.py b/zaza/openstack/charm_tests/vault/tests.py index 85c729a..800a863 100644 --- a/zaza/openstack/charm_tests/vault/tests.py +++ b/zaza/openstack/charm_tests/vault/tests.py @@ -44,6 +44,7 @@ class BaseVaultTest(unittest.TestCase): cls.vault_creds = vault_utils.get_credentails() vault_utils.unseal_all(cls.clients, cls.vault_creds['keys'][0]) vault_utils.auth_all(cls.clients, cls.vault_creds['root_token']) + vault_utils.ensure_secret_backend(cls.clients[0]) class UnsealVault(BaseVaultTest): diff --git a/zaza/openstack/charm_tests/vault/utils.py b/zaza/openstack/charm_tests/vault/utils.py index f3ccc21..da60cf9 100644 --- a/zaza/openstack/charm_tests/vault/utils.py +++ b/zaza/openstack/charm_tests/vault/utils.py @@ -141,6 +141,22 @@ def is_initialized(client): return initialized +def ensure_secret_backend(client): + """Ensure that vault has a KV backend mounted at secret. + + :param client: Client to use to talk to vault + :type client: CharmVaultClient + """ + try: + client.hvac_client.enable_secret_backend( + backend_type='kv', + description='Charm created KV backend', + mount_point='secret', + options={'version': 1}) + except hvac.exceptions.InvalidRequest: + pass + + def get_credentails(): """Retrieve vault token and keys from unit.