]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
cephadm: allow redeploy of daemons in error state if container running 39385/head
authorAdam King <adking@redhat.com>
Mon, 8 Feb 2021 19:55:45 +0000 (14:55 -0500)
committerAdam King <adking@redhat.com>
Wed, 10 Feb 2021 15:03:37 +0000 (10:03 -0500)
Signed-off-by: Adam King <adking@redhat.com>
src/cephadm/cephadm

index 1f3f92b4ebfaec0b5adae406bd83a66eb7842915..faf9074eaced4895213935e1b10b94358e9c8f61 100755 (executable)
@@ -1972,6 +1972,13 @@ def check_units(ctx, units, enabler=None):
     return False
 
 
+def is_container_running(ctx: CephadmContext, name: str) -> bool:
+    out, err, ret = call_throws(ctx, [
+        ctx.container_path, 'ps',
+        '--format', '{{.Names}}'])
+    return name in out
+
+
 def get_legacy_config_fsid(cluster, legacy_dir=None):
     # type: (str, Optional[str]) -> Optional[str]
     config_file = '/etc/ceph/%s.conf' % cluster
@@ -3970,8 +3977,9 @@ def command_deploy(ctx):
 
     redeploy = False
     unit_name = get_unit_name(ctx.fsid, daemon_type, daemon_id)
+    container_name = 'ceph-%s-%s.%s' % (ctx.fsid, daemon_type, daemon_id)
     (_, state, _) = check_unit(ctx, unit_name)
-    if state == 'running':
+    if state == 'running' or is_container_running(ctx, container_name):
         redeploy = True
 
     if ctx.reconfig: