From dddfa6651f2bfae3d5b109b512f94d139401dcae Mon Sep 17 00:00:00 2001 From: Huamin Chen Date: Tue, 3 Oct 2017 15:27:04 -0400 Subject: [PATCH] Ceph: don't overwrite mon map When monmap is persisted, don't overwrite it when mon pod restarts. This helps when there is just one mon or all mons reboot Change-Id: I9119379f4bc026c315a2fa7507a1664b12ea6205 Signed-off-by: Huamin Chen --- ceph/templates/bin/_start_mon.sh.tpl | 9 +++++++++ ceph/templates/daemonset-mon.yaml | 3 ++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/ceph/templates/bin/_start_mon.sh.tpl b/ceph/templates/bin/_start_mon.sh.tpl index 34ab46846b..715922496a 100644 --- a/ceph/templates/bin/_start_mon.sh.tpl +++ b/ceph/templates/bin/_start_mon.sh.tpl @@ -37,6 +37,15 @@ function get_mon_config { exit 1 fi + # if monmap exists and the mon is already there, don't overwrite monmap + if [ -f "${MONMAP}" ]; then + monmaptool --print "${MONMAP}" |grep -q "${MON_IP// }"":6789" + if [ $? -eq 0 ]; then + log "${MON_IP} already exists in monmap ${MONMAP}" + return + fi + fi + # Create a monmap with the Pod Names and IP monmaptool --create ${MONMAP_ADD} --fsid ${fsid} $MONMAP --clobber } diff --git a/ceph/templates/daemonset-mon.yaml b/ceph/templates/daemonset-mon.yaml index 931fd4f371..64fee56442 100644 --- a/ceph/templates/daemonset-mon.yaml +++ b/ceph/templates/daemonset-mon.yaml @@ -156,7 +156,8 @@ spec: name: ceph-etc defaultMode: 0444 - name: pod-var-lib-ceph - emptyDir: {} + hostPath: + path: {{ .Values.ceph.storage.mon_directory }} - name: pod-run emptyDir: medium: "Memory"