[ceph-osd] Liveness probe success in preboot state with noup flag
OSDs fail the liveness probe if they can't make it to the 'active' state. The noup flag keeps OSDs in the 'preboot' state, which prevents the liveness probe from succeeding. This change adds an additional check in the liveness probe to allow it to succeed if the noup flag is set and OSDs are in the 'preboot' state. Change-Id: I8df5954f7bc4ef4374e19344b6e0a9130764d60c
This commit is contained in:
parent
7cb3ef69ae
commit
153c9ec6f0
@ -26,11 +26,14 @@ for sock in $SOCKDIR/$SBASE.*.$SSUFFIX; do
|
||||
if [ -S $sock ]; then
|
||||
OSD_ID=$(echo $sock | awk -F. '{print $2}')
|
||||
OSD_STATE=$(ceph -f json-pretty --connect-timeout 1 --admin-daemon "${sock}" status|grep state|sed 's/.*://;s/[^a-z]//g')
|
||||
NOUP_FLAG=$(ceph --name client.bootstrap-osd --keyring /var/lib/ceph/bootstrap-osd/ceph.keyring status | awk '/flags/{print $2}' | grep noup)
|
||||
echo "OSD ${OSD_ID} ${OSD_STATE}";
|
||||
# this might be a stricter check than we actually want. what are the
|
||||
# other values for the "state" field?
|
||||
if [ "x${OSD_STATE}x" = 'xactivex' ]; then
|
||||
cond=0
|
||||
elif [ "${NOUP_FLAG}" ] && [ "x${OSD_STATE}x" = 'xprebootx' ]; then
|
||||
cond=0
|
||||
else
|
||||
# one's not ready, so the whole pod's not ready.
|
||||
exit 1
|
||||
|
Loading…
Reference in New Issue
Block a user