[ceph] Add noup flag check to helm tests
The PS adds noup flag check to Ceph-client and Ceph-OSD helm tests. It allows successfully pass the tests even if noup flag is set. Change-Id: Ida43d83902d26bef3434c47e71959bb2086ad82a
This commit is contained in:
parent
1e7cb6e494
commit
b736a74e39
@ -30,23 +30,39 @@ function check_cluster_status() {
|
||||
|
||||
function check_osd_count() {
|
||||
echo "#### Start: Checking OSD count ####"
|
||||
num_osd=$(ceph osd stat | tr ' ' '\n' | grep -x -E '[0-9]+' | head -n1)
|
||||
num_in_osds=$(ceph osd stat | tr ' ' '\n' | grep -x -E '[0-9]+' | tail -n1)
|
||||
num_up_osds=$(ceph osd stat | tr ' ' '\n' | grep -x -E '[0-9]+' | head -n2 | tail -n1)
|
||||
noup_flag=$(ceph osd stat | awk '/noup/ {print $2}')
|
||||
osd_stat=$(ceph osd stat -f json)
|
||||
num_osd=$(jq '.osdmap.num_osds' <<< "$osd_stat")
|
||||
num_in_osds=$(jq '.osdmap.num_in_osds' <<< "$osd_stat")
|
||||
num_up_osds=$(jq '.osdmap.num_up_osds' <<< "$osd_stat")
|
||||
|
||||
MIN_OSDS=$((${num_osd}*$REQUIRED_PERCENT_OF_OSDS/100))
|
||||
if [ ${MIN_OSDS} -lt 1 ]; then
|
||||
MIN_OSDS=1
|
||||
fi
|
||||
|
||||
if [ "${num_osd}" -eq 0 ]; then
|
||||
echo "There are no osds in the cluster"
|
||||
exit 1
|
||||
elif [ "${num_in_osds}" -ge "${MIN_OSDS}" ] && [ "${num_up_osds}" -ge "${MIN_OSDS}" ]; then
|
||||
echo "Required number of OSDs (${MIN_OSDS}) are UP and IN status"
|
||||
if [ "${noup_flag}" ]; then
|
||||
osd_status=$(ceph osd dump -f json | jq -c '.osds[] | .state')
|
||||
count=0
|
||||
for osd in $osd_status; do
|
||||
if [[ "$osd" == *"up"* || "$osd" == *"new"* ]]; then
|
||||
((count=count+1))
|
||||
fi
|
||||
done
|
||||
echo "Caution: noup flag is set. ${count} OSDs in up/new state. Required number of OSDs: ${MIN_OSDS}."
|
||||
if [ $MIN_OSDS -gt $count ]; then
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
echo "Required number of OSDs (${MIN_OSDS}) are NOT UP and IN status. Cluster shows OSD count=${num_osd}, UP=${num_up_osds}, IN=${num_in_osds}"
|
||||
exit 1
|
||||
if [ "${num_osd}" -eq 0 ]; then
|
||||
echo "There are no osds in the cluster"
|
||||
exit 1
|
||||
elif [ "${num_in_osds}" -ge "${MIN_OSDS}" ] && [ "${num_up_osds}" -ge "${MIN_OSDS}" ]; then
|
||||
echo "Required number of OSDs (${MIN_OSDS}) are UP and IN status"
|
||||
else
|
||||
echo "Required number of OSDs (${MIN_OSDS}) are NOT UP and IN status. Cluster shows OSD count=${num_osd}, UP=${num_up_osds}, IN=${num_in_osds}"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
|
@ -18,23 +18,39 @@ set -ex
|
||||
|
||||
function check_osd_count() {
|
||||
echo "#### Start: Checking OSD count ####"
|
||||
num_osd=$(ceph osd stat | tr ' ' '\n' | grep -x -E '[0-9]+' | head -n1)
|
||||
num_in_osds=$(ceph osd stat | tr ' ' '\n' | grep -x -E '[0-9]+' | tail -n1)
|
||||
num_up_osds=$(ceph osd stat | tr ' ' '\n' | grep -x -E '[0-9]+' | head -n2 | tail -n1)
|
||||
noup_flag=$(ceph osd stat | awk '/noup/ {print $2}')
|
||||
osd_stat=$(ceph osd stat -f json)
|
||||
num_osd=$(jq '.osdmap.num_osds' <<< "$osd_stat")
|
||||
num_in_osds=$(jq '.osdmap.num_in_osds' <<< "$osd_stat")
|
||||
num_up_osds=$(jq '.osdmap.num_up_osds' <<< "$osd_stat")
|
||||
|
||||
MIN_OSDS=$((${num_osd}*$REQUIRED_PERCENT_OF_OSDS/100))
|
||||
if [ ${MIN_OSDS} -lt 1 ]; then
|
||||
MIN_OSDS=1
|
||||
fi
|
||||
|
||||
if [ "${num_osd}" -eq 0 ]; then
|
||||
echo "There are no osds in the cluster"
|
||||
exit 1
|
||||
elif [ "${num_in_osds}" -ge "${MIN_OSDS}" ] && [ "${num_up_osds}" -ge "${MIN_OSDS}" ]; then
|
||||
echo "Required number of OSDs (${MIN_OSDS}) are UP and IN status"
|
||||
if [ "${noup_flag}" ]; then
|
||||
osd_status=$(ceph osd dump -f json | jq -c '.osds[] | .state')
|
||||
count=0
|
||||
for osd in $osd_status; do
|
||||
if [[ "$osd" == *"up"* || "$osd" == *"new"* ]]; then
|
||||
((count=count+1))
|
||||
fi
|
||||
done
|
||||
echo "Caution: noup flag is set. ${count} OSDs in up/new state. Required number of OSDs: ${MIN_OSDS}."
|
||||
if [ $MIN_OSDS -gt $count ]; then
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
echo "Required number of OSDs (${MIN_OSDS}) are NOT UP and IN status. Cluster shows OSD count=${num_osd}, UP=${num_up_osds}, IN=${num_in_osds}"
|
||||
exit 1
|
||||
if [ "${num_osd}" -eq 0 ]; then
|
||||
echo "There are no osds in the cluster"
|
||||
exit 1
|
||||
elif [ "${num_in_osds}" -ge "${MIN_OSDS}" ] && [ "${num_up_osds}" -ge "${MIN_OSDS}" ]; then
|
||||
echo "Required number of OSDs (${MIN_OSDS}) are UP and IN status"
|
||||
else
|
||||
echo "Required number of OSDs (${MIN_OSDS}) are NOT UP and IN status. Cluster shows OSD count=${num_osd}, UP=${num_up_osds}, IN=${num_in_osds}"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user