]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
cephadm: allow redeploy of daemons in error state if container running 39717/head
authorAdam King <adking@redhat.com>
Mon, 8 Feb 2021 19:55:45 +0000 (14:55 -0500)
committerMichael Fritch <mfritch@suse.com>
Tue, 2 Mar 2021 15:27:57 +0000 (08:27 -0700)
Signed-off-by: Adam King <adking@redhat.com>
(cherry picked from commit 71613e61fa66e3479693f61ce63732550f756e17)

Conflicts:
src/cephadm/cephadm

src/cephadm/cephadm

index 8de809d75bf126dd0aef5a65040906b088a0fd6a..6e1d204c0b1ea7c33cd01dc995b40de7dae846e1 100755 (executable)
@@ -1685,6 +1685,13 @@ def check_units(units, enabler=None):
     return False
 
 
+def is_container_running(name: str) -> bool:
+    out, err, ret = call_throws([
+        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
@@ -3378,8 +3385,9 @@ def command_deploy():
 
     redeploy = False
     unit_name = get_unit_name(args.fsid, daemon_type, daemon_id)
+    container_name = 'ceph-%s-%s.%s' % (args.fsid, daemon_type, daemon_id)
     (_, state, _) = check_unit(unit_name)
-    if state == 'running':
+    if state == 'running' or is_container_running(container_name):
         redeploy = True
 
     if args.reconfig: