From: Melissa Li
Date: Mon, 29 Mar 2021 04:34:42 +0000 (-0400)
Subject: mgr/cephadm: don't cleanup the daemon keyring on failed redeploy
X-Git-Tag: v16.2.2~1^2~62
X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=09d0418c29bf35ac41152696de73a4ccbea24d29;p=ceph.git
mgr/cephadm: don't cleanup the daemon keyring on failed redeploy
Fixes: https://tracker.ceph.com/issues/49872
Signed-off-by: Melissa Li
(cherry picked from commit 9b6ae808c68feec672c6e55a65bcde22b7085ee4)
---
diff --git a/src/pybind/mgr/cephadm/serve.py b/src/pybind/mgr/cephadm/serve.py
index 15cb8d7c3bfd..1344fdd4e2ba 100644
--- a/src/pybind/mgr/cephadm/serve.py
+++ b/src/pybind/mgr/cephadm/serve.py
@@ -918,7 +918,8 @@ class CephadmServe:
daemon_spec.name(), OrchestratorEvent.ERROR, f'Failed to {what}: {err}')
return msg
except OrchestratorError:
- if not reconfig:
+ redeploy = daemon_spec.name() in self.mgr.cache.get_daemon_names()
+ if not reconfig and not redeploy:
# we have to clean up the daemon. E.g. keyrings.
servict_type = daemon_type_to_service(daemon_spec.daemon_type)
dd = daemon_spec.to_daemon_description(DaemonDescriptionStatus.error, 'failed')