devices = 'devices'
+class OrchSecretNotFound(OrchestratorError):
+ def __init__(
+ self,
+ message: Optional[str] = '',
+ entity: Optional[str] = '',
+ service_name: Optional[str] = '',
+ hostname: Optional[str] = ''
+ ):
+ if not message:
+ message = f'No secret found for entity {entity}'
+ if service_name:
+ message += f' with service name {service_name}'
+ if hostname:
+ message += f' with hostname {hostname}'
+ super().__init__(message)
+ self.entity = entity
+ self.service_name = service_name
+ self.hostname = hostname
+
+
class Inventory:
"""
The inventory stores a HostSpec for all hosts persistently.
TunedProfileStore,
NodeProxyCache,
CertKeyStore,
+ OrchSecretNotFound,
)
from .upgrade import CephadmUpgrade
from .template import TemplateMgr
) -> str:
cert = self.cert_key_store.get_cert(entity, service_name or '', hostname or '')
if not cert:
- err_msg = f'No cert found for entity {entity}'
- if service_name:
- err_msg += f' with service name {service_name}'
- if hostname:
- err_msg += f' with hostname {hostname}'
- raise OrchestratorError(err_msg)
+ raise OrchSecretNotFound(entity=entity, service_name=service_name, hostname=hostname)
return cert
@handle_orch_error
) -> str:
key = self.cert_key_store.get_key(entity, service_name or '', hostname or '')
if not key:
- err_msg = f'No key found for entity {entity}'
- if service_name:
- err_msg += f' with service name {service_name}'
- if hostname:
- err_msg += f' with hostname {hostname}'
- raise OrchestratorError(err_msg)
+ raise OrchSecretNotFound(entity=entity, service_name=service_name, hostname=hostname)
return key
@handle_orch_error