Skip to content
This repository was archived by the owner on Dec 6, 2024. It is now read-only.

Commit 4ad6949

Browse files
committed
Improve snapshot pod running checks and improve version_gt
Signed-off-by: Grant Griffiths <[email protected]>
1 parent 6d674a7 commit 4ad6949

File tree

1 file changed

+27
-4
lines changed

1 file changed

+27
-4
lines changed

Diff for: prow.sh

+27-4
Original file line numberDiff line numberDiff line change
@@ -713,10 +713,11 @@ install_snapshot_controller() {
713713

714714
kubectl apply -f "https://raw.githubusercontent.com/kubernetes-csi/external-snapshotter/${CSI_SNAPSHOTTER_VERSION}/deploy/kubernetes/snapshot-controller/setup-snapshot-controller.yaml"
715715
cnt=0
716-
until kubectl get statefulset snapshot-controller | grep snapshot-controller | grep "1/1"; do
716+
expected_running_pods=$(curl https://raw.githubusercontent.com/kubernetes-csi/external-snapshotter/"${CSI_SNAPSHOTTER_VERSION}"/deploy/kubernetes/snapshot-controller/setup-snapshot-controller.yaml | grep replicas | cut -d ':' -f 2-)
717+
while [ "$(kubectl get pods -l app=snapshot-controller | grep 'Running' -c)" -lt "$expected_running_pods" ]; do
717718
if [ $cnt -gt 30 ]; then
718-
echo "Running statefulsets:"
719-
kubectl describe statefulsets
719+
echo "snapshot-controller pod status:"
720+
kubectl describe pods -l app=snapshot-controller
720721
echo >&2 "ERROR: snapshot controller not ready after over 5 min"
721722
exit 1
722723
fi
@@ -996,8 +997,30 @@ make_test_to_junit () {
996997
fi
997998
}
998999

1000+
# version_gt returns true if arg1 is greater than arg2.
1001+
#
1002+
# This function expects versions to be one of the following formats:
1003+
# X.Y.Z, release-X.Y.Z, vX.Y.Z
1004+
#
1005+
# where X,Y, and Z are any number.
1006+
#
1007+
# Partial versions (1.2, release-1.2) work as well.
1008+
# The follow substrings are stripped before version comparison:
1009+
# - "v"
1010+
# - "release-"
1011+
#
1012+
# Usage:
1013+
# version_gt release-1.3 v1.2.0 (returns true)
1014+
# version_gt v1.1.1 v1.2.0 (returns false)
1015+
# version_gt 1.1.1 v1.2.0 (returns false)
1016+
# version_gt 1.3.1 v1.2.0 (returns true)
1017+
# version_gt 1.1.1 release-1.2.0 (returns false)
1018+
# version_gt 1.2.0 1.2.2 (returns false)
9991019
function version_gt() {
1000-
test "$(printf '%s\n' "$@" | sort -V | head -n 1)" != "$1";
1020+
versions=$(for ver in "$@"; do ver=${ver#release-}; echo "${ver#v}"; done)
1021+
greaterVersion=${1#"release-"};
1022+
greaterVersion=${greaterVersion#"v"};
1023+
test "$(printf '%s' "$versions" | sort -V | head -n 1)" != "$greaterVersion"
10011024
}
10021025

10031026
main () {

0 commit comments

Comments
 (0)