From 9b6ae808c68feec672c6e55a65bcde22b7085ee4 Mon Sep 17 00:00:00 2001
From: Melissa Li
Date: Mon, 29 Mar 2021 00:34:42 -0400
Subject: [PATCH] mgr/cephadm: don't cleanup the daemon keyring on failed
redeploy
Fixes: https://tracker.ceph.com/issues/49872
Signed-off-by: Melissa Li
---
src/pybind/mgr/cephadm/serve.py | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/pybind/mgr/cephadm/serve.py b/src/pybind/mgr/cephadm/serve.py
index 824f674807523..37bca503e0f0c 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')
--
2.39.5