@@ -417,33 +417,35 @@ mode_pods() {
417
417
mode_deployments () {
418
418
count_avail=0
419
419
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}' ) "
422
425
423
426
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) )
426
429
else
427
- namespaces=($( echo " $data " | jq -r " .items[].metadata. namespace" | sort -u) )
430
+ namespaces=($( echo " $data " | jq -r " .namespace" | sort -u) )
428
431
fi
429
432
430
433
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" ) )
432
437
if [ " $NAME " ]; then
433
438
deps=(" $NAME " )
434
439
else
435
- deps=($( echo " $nsdata " | jq -r " .metadata. name" ) )
440
+ deps=($( echo " $nsdata " | jq -r " .name" ) )
436
441
fi
437
442
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
442
446
(( count_failed++ ))
443
447
EXITCODE=2
444
448
OUTPUT=" Deployment $ns /$dep "
445
- else
446
- (( count_avail++ ))
447
449
fi
448
450
done
449
451
done
0 commit comments