Merge branch '16430-add-jenkins-integration-test-minikube'
[arvados-k8s.git] / tests / GKE.sh
1 #!/bin/bash
2
3 set -e
4
5 DEBUG=$1
6 CLUSTERTYPE="GKE"
7
8 . test_library.sh
9
10 loadK8sIP() {
11   set +e
12   K8S_IP=`gcloud compute addresses describe arvados-k8s-ip --region us-central1 --format="value(address)" 2>/dev/null`
13   if [[ $? -ne 0 ]]; then
14     K8S_IP=
15   fi
16   set -e
17 }
18
19 stopK8s() {
20   echo "Stopping k8s cluster on GKE"
21   gcloud container clusters delete arvados --zone us-central1-a --quiet
22   gcloud compute addresses delete arvados-k8s-ip --region us-central1 --quiet
23 }
24
25 startK8s() {
26   echo "Starting k8s cluster on GKE"
27   if [[ -z "$K8S_IP" ]]; then
28     gcloud compute addresses create arvados-k8s-ip --region us-central1
29     loadK8sIP
30   fi
31   set +e
32   CLUSTER=`gcloud container clusters describe arvados --zone us-central1-a 2>/dev/null`
33   set -e
34   if [[ -z "$CLUSTER" ]]; then
35     gcloud container clusters create arvados --zone us-central1-a --machine-type n1-standard-2 --cluster-version 1.15
36   fi
37
38   set +e
39   helm get all arvados >/dev/null 2>&1
40   if [[ $? -eq 0 ]]; then
41     echo "Deleting running arvados helm chart..."
42     helm delete arvados
43     while [ "$SVC" != "2" ]; do
44       SVC=`kubectl get svc|wc -l`
45       echo "Waiting for services to disappear..."
46       kubectl get svc
47       sleep 2
48     done
49   fi
50   set -e
51 }
52
53 run