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: v16.2.0~178^2~9 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=bcef335b95e5942d837e587b43910598d81997d9;p=ceph.git cephadm: allow redeploy of daemons in error state if container running Signed-off-by: Adam King (cherry picked from commit 71613e61fa66e3479693f61ce63732550f756e17) --- diff --git a/src/cephadm/cephadm b/src/cephadm/cephadm index d621b5ae886..1e7748008b3 100755 --- a/src/cephadm/cephadm +++ b/src/cephadm/cephadm @@ -1977,6 +1977,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 @@ -3983,8 +3990,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: