@@ -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)
9991019function 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
10031026main () {
0 commit comments