deploy minio as part of e2 tests
This commit is contained in:
		
							parent
							
								
									692c721854
								
							
						
					
					
						commit
						59a1930552
					
				| 
						 | 
					@ -48,6 +48,10 @@ tools:
 | 
				
			||||||
	# go get must run outside of a dir with a (module-based) Go project !
 | 
						# go get must run outside of a dir with a (module-based) Go project !
 | 
				
			||||||
	# otherwise go get updates project's dependencies and/or behaves differently
 | 
						# otherwise go get updates project's dependencies and/or behaves differently
 | 
				
			||||||
	cd "/tmp" && GO111MODULE=on go get sigs.k8s.io/kind@v0.9.0
 | 
						cd "/tmp" && GO111MODULE=on go get sigs.k8s.io/kind@v0.9.0
 | 
				
			||||||
 | 
						# install helm to be able to deploy MinIO Helm Chart
 | 
				
			||||||
 | 
						wget -P /tmp https://get.helm.sh/helm-v3.3.4-linux-amd64.tar.gz
 | 
				
			||||||
 | 
						mkdir /tmp/helm-postgres-operator-e2e-tests
 | 
				
			||||||
 | 
						tar -C /tmp/helm-postgres-operator-e2e-tests --strip-components 1 -zxvf /tmp/helm-v3.3.4-linux-amd64.tar.gz
 | 
				
			||||||
 | 
					
 | 
				
			||||||
e2etest: tools copy clean
 | 
					e2etest: tools copy clean
 | 
				
			||||||
	./run.sh main
 | 
						./run.sh main
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										17
									
								
								e2e/run.sh
								
								
								
								
							
							
						
						
									
										17
									
								
								e2e/run.sh
								
								
								
								
							| 
						 | 
					@ -20,10 +20,10 @@ function pull_images(){
 | 
				
			||||||
    docker pull registry.opensource.zalan.do/acid/postgres-operator:latest
 | 
					    docker pull registry.opensource.zalan.do/acid/postgres-operator:latest
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  operator_image=$(docker images --filter=reference="registry.opensource.zalan.do/acid/postgres-operator" --format "{{.Repository}}:{{.Tag}}" | head -1)
 | 
					  readonly operator_image=$(docker images --filter=reference="registry.opensource.zalan.do/acid/postgres-operator" --format "{{.Repository}}:{{.Tag}}" | head -1)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # this image does not contain the tests; a container mounts them from a local "./tests" dir at start time
 | 
					  # this image does not contain the tests; a container mounts them from a local "./tests" dir at start time
 | 
				
			||||||
  e2e_test_runner_image="registry.opensource.zalan.do/acid/postgres-operator-e2e-tests-runner:latest"
 | 
					  readonly e2e_test_runner_image="registry.opensource.zalan.do/acid/postgres-operator-e2e-tests-runner:latest"
 | 
				
			||||||
  docker pull ${e2e_test_runner_image}
 | 
					  docker pull ${e2e_test_runner_image}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -51,17 +51,26 @@ function set_kind_api_server_ip(){
 | 
				
			||||||
  sed -i "s/server.*$/server: https:\/\/$kind_api_server/g" "${kubeconfig_path}"
 | 
					  sed -i "s/server.*$/server: https:\/\/$kind_api_server/g" "${kubeconfig_path}"
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function deploy_minio(){
 | 
				
			||||||
 | 
					 echo "Deploying MinIO object storage..."
 | 
				
			||||||
 | 
					 /tmp/helm-postgres-operator-e2e-tests/helm install --generate-name minio/minio
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function run_tests(){
 | 
					function run_tests(){
 | 
				
			||||||
  echo "Running tests..."
 | 
					  echo "Running tests..."
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # tests modify files in ./manifests, so we mount a copy of this directory done by the e2e Makefile
 | 
					  # tests modify files in ./manifests, so we mount a copy of this directory done by the e2e Makefile
 | 
				
			||||||
 | 
					  # for MinIO we use default secret values
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  docker run --rm --network=host -e "TERM=xterm-256color" \
 | 
					  docker run --rm --network=host -e "TERM=xterm-256color" \
 | 
				
			||||||
  --mount type=bind,source="$(readlink -f ${kubeconfig_path})",target=/root/.kube/config \
 | 
					  --mount type=bind,source="$(readlink -f ${kubeconfig_path})",target=/root/.kube/config \
 | 
				
			||||||
  --mount type=bind,source="$(readlink -f manifests)",target=/manifests \
 | 
					  --mount type=bind,source="$(readlink -f manifests)",target=/manifests \
 | 
				
			||||||
  --mount type=bind,source="$(readlink -f tests)",target=/tests \
 | 
					  --mount type=bind,source="$(readlink -f tests)",target=/tests \
 | 
				
			||||||
  --mount type=bind,source="$(readlink -f exec.sh)",target=/exec.sh \
 | 
					  --mount type=bind,source="$(readlink -f exec.sh)",target=/exec.sh \
 | 
				
			||||||
  -e OPERATOR_IMAGE="${operator_image}" "${e2e_test_runner_image}"
 | 
					  -e OPERATOR_IMAGE="${operator_image}" \
 | 
				
			||||||
 | 
					  -e MINIO_ACCESS_KEY="YOURACCESSKEY" \
 | 
				
			||||||
 | 
					  -e MINIO_SECRET_KEY="YOURSECRETKEY" \
 | 
				
			||||||
 | 
					  "${e2e_test_runner_image}"
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -70,6 +79,7 @@ function clean_up(){
 | 
				
			||||||
  unset KUBECONFIG
 | 
					  unset KUBECONFIG
 | 
				
			||||||
  kind delete cluster --name ${cluster_name}
 | 
					  kind delete cluster --name ${cluster_name}
 | 
				
			||||||
  rm -rf ${kubeconfig_path}
 | 
					  rm -rf ${kubeconfig_path}
 | 
				
			||||||
 | 
					  rm -rf /tmp/helm-postgres-operator-e2e-tests/
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function main(){
 | 
					function main(){
 | 
				
			||||||
| 
						 | 
					@ -79,6 +89,7 @@ function main(){
 | 
				
			||||||
  time pull_images
 | 
					  time pull_images
 | 
				
			||||||
  time start_kind
 | 
					  time start_kind
 | 
				
			||||||
  time set_kind_api_server_ip
 | 
					  time set_kind_api_server_ip
 | 
				
			||||||
 | 
					  time deploy_minio
 | 
				
			||||||
  run_tests
 | 
					  run_tests
 | 
				
			||||||
  exit 0
 | 
					  exit 0
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue