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