From: Adam King Date: Mon, 8 Feb 2021 19:55:45 +0000 (-0500) Subject: cephadm: allow redeploy of daemons in error state if container running X-Git-Tag: v15.2.13~2^2~24^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=4f2f9dacd80e219d543c4c4c416977d98ff8eb40;p=ceph.git cephadm: allow redeploy of daemons in error state if container running Signed-off-by: Adam King (cherry picked from commit 71613e61fa66e3479693f61ce63732550f756e17) Conflicts: src/cephadm/cephadm --- diff --git a/src/cephadm/cephadm b/src/cephadm/cephadm index 8de809d75bf..6e1d204c0b1 100755 --- a/src/cephadm/cephadm +++ b/src/cephadm/cephadm @@ -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: