da289c78cb
This is to uplift ceph charts from 14.X release to 15.X Change-Id: I4f7913967185dd52d4301c218450cfad9d0e2b2b
40 lines
1.1 KiB
Smarty
40 lines
1.1 KiB
Smarty
#!/bin/bash
|
|
set -ex
|
|
export LC_ALL=C
|
|
: "${CEPH_CONF:="/etc/ceph/${CLUSTER}.conf"}"
|
|
|
|
if [[ ! -e ${CEPH_CONF}.template ]]; then
|
|
echo "ERROR- ${CEPH_CONF}.template must exist; get it from your existing mon"
|
|
exit 1
|
|
else
|
|
ENDPOINT=$(kubectl get endpoints ceph-mon -n ${NAMESPACE} -o json | awk -F'"' -v port=${MON_PORT} '/ip/{print $4":"port}' | paste -sd',')
|
|
if [[ ${ENDPOINT} == "" ]]; then
|
|
/bin/sh -c -e "cat ${CEPH_CONF}.template | tee ${CEPH_CONF}" || true
|
|
else
|
|
/bin/sh -c -e "cat ${CEPH_CONF}.template | sed 's/mon_host.*/mon_host = ${ENDPOINT}/g' | tee ${CEPH_CONF}" || true
|
|
fi
|
|
fi
|
|
|
|
function check_mon_msgr2 {
|
|
if [[ $(ceph mon versions | awk '/version/{print $3}' | cut -d. -f1) -ge 14 ]]; then
|
|
if ceph health detail|grep -i "MON_MSGR2_NOT_ENABLED"; then
|
|
echo "ceph-mon msgr v2 not enabled on all ceph mons so enabling"
|
|
ceph mon enable-msgr2
|
|
fi
|
|
fi
|
|
}
|
|
|
|
|
|
function watch_mon_health {
|
|
while [ true ]; do
|
|
echo "checking for zombie mons"
|
|
/tmp/moncheck-reap-zombies.py || true
|
|
echo "checking for ceph-mon msgr v2"
|
|
check_mon_msgr2
|
|
echo "sleep 30 sec"
|
|
sleep 30
|
|
done
|
|
}
|
|
|
|
watch_mon_health
|