@@ -716,10 +716,11 @@ install_snapshot_controller() {
716716
717717 kubectl apply -f " https://raw.githubusercontent.com/kubernetes-csi/external-snapshotter/${CSI_SNAPSHOTTER_VERSION} /deploy/kubernetes/snapshot-controller/setup-snapshot-controller.yaml"
718718 cnt=0
719- until kubectl get statefulset snapshot-controller | grep snapshot-controller | grep " 1/1" ; do
719+ 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-)
720+ while [ " $( kubectl get pods -l app=snapshot-controller | grep ' Running' -c) " -lt " $expected_running_pods " ]; do
720721 if [ $cnt -gt 30 ]; then
721- echo " Running statefulsets :"
722- kubectl describe statefulsets
722+ echo " snapshot-controller pod status :"
723+ kubectl describe pods -l app=snapshot-controller
723724 echo >&2 " ERROR: snapshot controller not ready after over 5 min"
724725 exit 1
725726 fi
@@ -995,8 +996,30 @@ make_test_to_junit () {
995996 fi
996997}
997998
999+ # version_gt returns true if arg1 is greater than arg2.
1000+ #
1001+ # This function expects versions to be one of the following formats:
1002+ # X.Y.Z, release-X.Y.Z, vX.Y.Z
1003+ #
1004+ # where X,Y, and Z are any number.
1005+ #
1006+ # Partial versions (1.2, release-1.2) work as well.
1007+ # The follow substrings are stripped before version comparison:
1008+ # - "v"
1009+ # - "release-"
1010+ #
1011+ # Usage:
1012+ # version_gt release-1.3 v1.2.0 (returns true)
1013+ # version_gt v1.1.1 v1.2.0 (returns false)
1014+ # version_gt 1.1.1 v1.2.0 (returns false)
1015+ # version_gt 1.3.1 v1.2.0 (returns true)
1016+ # version_gt 1.1.1 release-1.2.0 (returns false)
1017+ # version_gt 1.2.0 1.2.2 (returns false)
9981018function version_gt() {
999- test " $( printf ' %s\n' " $@ " | sort -V | head -n 1) " ! = " $1 " ;
1019+ versions=$( for ver in " $@ " ; do ver=${ver# release-} ; echo " ${ver# v} " ; done)
1020+ greaterVersion=${1# " release-" } ;
1021+ greaterVersion=${greaterVersion# " v" } ;
1022+ test " $( printf ' %s' " $versions " | sort -V | head -n 1) " ! = " $greaterVersion "
10001023}
10011024
10021025main () {
0 commit comments