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: v17.1.0~2989^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F39385%2Fhead;p=ceph.git cephadm: allow redeploy of daemons in error state if container running Signed-off-by: Adam King --- diff --git a/src/cephadm/cephadm b/src/cephadm/cephadm index 1f3f92b4ebfa..faf9074eaced 100755 --- a/src/cephadm/cephadm +++ b/src/cephadm/cephadm @@ -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: