Detect missing keys when checking if data is ready

This commit is contained in:
Felipe Reyes 2022-08-09 13:08:31 -04:00
parent 2efe12a20f
commit e3c13878a7

View File

@ -248,17 +248,21 @@ class KeystoneOpenIDCCharm(ops_openstack.core.OSBaseCharm):
def restart_functions(self):
return {'apache2': self.request_restart}
def is_data_ready(self):
def is_data_ready(self) -> bool:
if not self.model.get_relation('cluster'):
return False
options = KeystoneOpenIDCOptions(self)
required_keys = ['oidc_crypto_passphrase', 'oidc_client_id']
required_keys = ['oidc_crypto_passphrase', 'oidc_client_id',
'hostname', 'port', 'scheme']
missing_keys = []
for key in required_keys:
if getattr(options, key) == None: # noqa: E711
return False
if getattr(options, key) in [None, '']:
missing_keys.append(key)
return True
if missing_keys:
logger.debug('Incomplete data: %s', ' '.join(missing_keys))
return len(missing_keys) == 0
def services(self) -> List[str]:
"""Determine the list of services that should be running."""