#!/bin/bash

pv_hosts=$(kubectl get pv -o json | \
jq -r '.items[] | select(.spec.storageClassName == "fast-disks") | .metadata.labels."kubernetes.io/hostname"' | \
sort | uniq -c)
pv_hosts=($pv_hosts) # convert to bash array

for ((i = 0 ; i < ${#pv_hosts[@]} ; i+=2)); do
    pv_count=${pv_hosts[$i]}
    pv_host=${pv_hosts[$i+1]}
    echo $pv_host $pv_count

    curl --header "Content-Type: application/json-patch+json" \
        --request PATCH \
        --data "[{\"op\": \"replace\", \"path\": \"/status/capacity/test-infra.pingcap.net~1fast-disks\", \"value\": \"$pv_count\"}]" \
        http://localhost:8001/api/v1/nodes/$pv_host/status
done


# # NOTE: remove extended resource
# for ((i = 0 ; i < ${#pv_hosts[@]} ; i+=2)); do
#     curl --header "Content-Type: application/json-patch+json" \
#         --request PATCH \
#         --data '[{"op": "remove", "path": "/status/capacity/test-infra.pingcap.net~1fast-disks"}]' \
#         http://localhost:8001/api/v1/nodes/$NODE/status
# done
