Merge pull request #38918 from adk3798/ha-rgw-fix

mgr/cephadm: fix ha-rgw removal

Reviewed-by: Juan Miguel Olmo Martínez <jolmomar@redhat.com>
Reviewed-by: Sebastian Wagner <sebastian.wagner@suse.com>
This commit is contained in:
Sebastian Wagner 2021-01-18 17:37:45 +01:00 committed by GitHub
commit 7745ccfc10
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 7 additions and 4 deletions

View File

@ -1464,7 +1464,7 @@ class CephadmOrchestrator(orchestrator.Orchestrator, MgrModule,
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]

View File

@ -13,6 +13,7 @@ from mgr_module import HandleCommandResult, MonCommandFailed
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
@ -234,14 +235,14 @@ class CephadmService(metaclass=ABCMeta):
"""
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:
@ -272,7 +273,9 @@ class CephService(CephadmService):
"""
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 == "":