Skip to content

Commit 2a7866a

Browse files
committed
Speed mode deployments up
1 parent 0becf05 commit 2a7866a

File tree

1 file changed

+15
-13
lines changed

1 file changed

+15
-13
lines changed

check_kubernetes.sh

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -417,33 +417,35 @@ mode_pods() {
417417
mode_deployments() {
418418
count_avail=0
419419
count_failed=0
420-
data=$(getJSON "get deployments $kubectl_ns" "apis/apps/v1$api_ns/deployments/")
421-
[ $? -gt 0 ] && die "$data"
420+
rawdata=$(getJSON "get deployments $kubectl_ns" "apis/apps/v1$api_ns/deployments/")
421+
[ $? -gt 0 ] && die "$rawdata"
422+
423+
# deflate the data
424+
data="$(echo "$rawdata" | jq -r '.items[] | {name: .metadata.name, namespace: .metadata.namespace, status: .status.conditions}')"
422425

423426
if [ "$NAME" ]; then
424-
namespaces=($(echo "$data" | jq -r ".items[] | select(.metadata.name==\"$NAME\") | \
425-
.metadata.namespace" | sort -u))
427+
namespaces=($(echo "$data" | jq -r "select(.name==\"$NAME\") | \
428+
.namespace" | sort -u))
426429
else
427-
namespaces=($(echo "$data" | jq -r ".items[].metadata.namespace" | sort -u))
430+
namespaces=($(echo "$data" | jq -r ".namespace" | sort -u))
428431
fi
429432

430433
for ns in "${namespaces[@]}"; do
431-
nsdata="$(echo "$data" | jq -c -r ".items[] | select(.metadata.namespace==\"$ns\")")"
434+
nsdata="$(echo "$data" | jq -c -r "select(.namespace==\"$ns\")")"
435+
availdeps=($(echo "$nsdata" | jq -r "{name: .name, status: .status[]|select(.type==\"Available\")} | \
436+
select(.status.status == \"True\") | .name"))
432437
if [ "$NAME" ]; then
433438
deps=("$NAME")
434439
else
435-
deps=($(echo "$nsdata" | jq -r ".metadata.name"))
440+
deps=($(echo "$nsdata" | jq -r ".name"))
436441
fi
437442
for dep in "${deps[@]}"; do
438-
avail="$(echo "$nsdata" | jq -r "select(.metadata.name==\"$dep\") | \
439-
.status.conditions[] | select(.type==\"Available\") | \
440-
.status")"
441-
if [ "$avail" != True ]; then
443+
if [[ " ${availdeps[@]} " =~ " $dep " ]]; then
444+
((count_avail++))
445+
else
442446
((count_failed++))
443447
EXITCODE=2
444448
OUTPUT="Deployment $ns/$dep"
445-
else
446-
((count_avail++))
447449
fi
448450
done
449451
done

0 commit comments

Comments
 (0)