diff --git a/config.yaml b/config.yaml index 8e552cf..5a0ac81 100644 --- a/config.yaml +++ b/config.yaml @@ -1,4 +1,9 @@ options: + oidc-client-id: + default: '' + type: string + description: | + Client identifier. oidc-provider-metadata-url: default: '' type: string diff --git a/src/charm.py b/src/charm.py index 8612309..b72af90 100755 --- a/src/charm.py +++ b/src/charm.py @@ -23,9 +23,8 @@ from typing import List from uuid import uuid4 from ops.main import main -from ops.model import StatusBase, ActiveStatus +from ops.model import StatusBase, ActiveStatus, BlockedStatus -import ops.model import ops_openstack.core from ops_openstack.adapters import ( @@ -216,8 +215,11 @@ class KeystoneOpenIDCCharm(ops_openstack.core.OSBaseCharm): return {'apache2': self.request_restart} def is_data_ready(self): + if not self.model.get_relation('cluster'): + return False + options = KeystoneOpenIDCOptions(self) - required_keys = ['oidc_crypto_passphrase'] + required_keys = ['oidc_crypto_passphrase', 'oidc_client_id'] for key in required_keys: if getattr(options, key) == None: # noqa: E711 return False