addr=spec.addr,
error_ok=True, no_fsid=True)
if code:
- # err will contain stdout and stderr, so we filter on the message text to
+ # err will contain stdout and stderr, so we filter on the message text to
# only show the errors
errors = [_i.replace("ERROR: ", "") for _i in err if _i.startswith('ERROR')]
raise OrchestratorError('New host %s (%s) failed check(s): %s' % (
else:
spec = ServiceSpec(
unmanaged=True,
- service_type=dd.daemon_type,
+ service_type=daemon_type_to_service(dd.daemon_type),
service_id=dd.service_id(),
placement=PlacementSpec(
hosts=[dd.hostname]
from ceph.deployment.service_spec import ServiceSpec, RGWSpec
from ceph.deployment.utils import is_ipv6, unwrap_ipv6
from orchestrator import OrchestratorError, DaemonDescription
+from orchestrator._interface import daemon_type_to_service, service_to_daemon_types
from cephadm import utils
from mgr_util import create_self_signed_cert, ServerConfigException, verify_tls
"""
Called before the daemon is removed.
"""
- assert self.TYPE == daemon.daemon_type
+ assert self.TYPE == daemon_type_to_service(daemon.daemon_type)
logger.debug(f'Pre remove daemon {self.TYPE}.{daemon.daemon_id}')
def post_remove(self, daemon: DaemonDescription) -> None:
"""
Called after the daemon is removed.
"""
- assert self.TYPE == daemon.daemon_type
+ assert self.TYPE == daemon_type_to_service(daemon.daemon_type)
logger.debug(f'Post remove daemon {self.TYPE}.{daemon.daemon_id}')
def purge(self) -> None:
"""
Map the daemon id to a cephx keyring entity name
"""
- if self.TYPE in ['rgw', 'rbd-mirror', 'nfs', "iscsi", 'haproxy', 'keepalived']:
+ # despite this mapping entity names to daemons, self.TYPE within
+ # the CephService class refers to service types, not daemon types
+ if self.TYPE in ['rgw', 'rbd-mirror', 'nfs', "iscsi", 'ha-rgw']:
return AuthEntity(f'client.{self.TYPE}.{daemon_id}')
elif self.TYPE == 'crash':
if host == "":