Merge pull request #49 from ggriffiths/prowsh_improve_version_gt
Improve snapshot-controller running check and version_gt to support multiple formats
This commit is contained in:
		
						commit
						771ca6f262
					
				
							
								
								
									
										31
									
								
								prow.sh
								
								
								
								
							
							
						
						
									
										31
									
								
								prow.sh
								
								
								
								
							|  | @ -716,10 +716,11 @@ install_snapshot_controller() { | ||||||
| 
 | 
 | ||||||
|   kubectl apply -f "https://raw.githubusercontent.com/kubernetes-csi/external-snapshotter/${CSI_SNAPSHOTTER_VERSION}/deploy/kubernetes/snapshot-controller/setup-snapshot-controller.yaml" |   kubectl apply -f "https://raw.githubusercontent.com/kubernetes-csi/external-snapshotter/${CSI_SNAPSHOTTER_VERSION}/deploy/kubernetes/snapshot-controller/setup-snapshot-controller.yaml" | ||||||
|   cnt=0 |   cnt=0 | ||||||
|   until kubectl get statefulset snapshot-controller | grep snapshot-controller | grep "1/1"; do |   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-) | ||||||
|  |   while [ "$(kubectl get pods -l app=snapshot-controller | grep 'Running' -c)" -lt "$expected_running_pods" ]; do | ||||||
|     if [ $cnt -gt 30 ]; then |     if [ $cnt -gt 30 ]; then | ||||||
|         echo "Running statefulsets:" |         echo "snapshot-controller pod status:" | ||||||
|         kubectl describe statefulsets |         kubectl describe pods -l app=snapshot-controller | ||||||
|         echo >&2 "ERROR: snapshot controller not ready after over 5 min" |         echo >&2 "ERROR: snapshot controller not ready after over 5 min" | ||||||
|         exit 1 |         exit 1 | ||||||
|     fi |     fi | ||||||
|  | @ -995,8 +996,30 @@ make_test_to_junit () { | ||||||
|     fi |     fi | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | # version_gt returns true if arg1 is greater than arg2. | ||||||
|  | # | ||||||
|  | # This function expects versions to be one of the following formats: | ||||||
|  | #   X.Y.Z, release-X.Y.Z, vX.Y.Z | ||||||
|  | # | ||||||
|  | #   where X,Y, and Z are any number. | ||||||
|  | # | ||||||
|  | # Partial versions (1.2, release-1.2) work as well. | ||||||
|  | # The follow substrings are stripped before version comparison: | ||||||
|  | #   - "v" | ||||||
|  | #   - "release-" | ||||||
|  | # | ||||||
|  | # Usage: | ||||||
|  | # version_gt release-1.3 v1.2.0  (returns true) | ||||||
|  | # version_gt v1.1.1 v1.2.0  (returns false) | ||||||
|  | # version_gt 1.1.1 v1.2.0  (returns false) | ||||||
|  | # version_gt 1.3.1 v1.2.0  (returns true) | ||||||
|  | # version_gt 1.1.1 release-1.2.0  (returns false) | ||||||
|  | # version_gt 1.2.0 1.2.2  (returns false) | ||||||
| function version_gt() {  | function version_gt() {  | ||||||
|     test "$(printf '%s\n' "$@" | sort -V | head -n 1)" != "$1";  |     versions=$(for ver in "$@"; do ver=${ver#release-}; echo "${ver#v}"; done) | ||||||
|  |     greaterVersion=${1#"release-"}; | ||||||
|  |     greaterVersion=${greaterVersion#"v"}; | ||||||
|  |     test "$(printf '%s' "$versions" | sort -V | head -n 1)" != "$greaterVersion" | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| main () { | main () { | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue