forked from istio/istio
-
Notifications
You must be signed in to change notification settings - Fork 0
/
cluster_lib.sh
executable file
·74 lines (61 loc) · 2.28 KB
/
cluster_lib.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#!/bin/bash
# Copyright 2017 Istio Authors
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#######################################
# #
# e2e-suite #
# #
#######################################
PROJECT_NAME=istio-testing
ZONE=us-central1-f
MACHINE_TYPE=n1-standard-4
NUM_NODES=1
CLUSTER_NAME=
IFS=';' VERSIONS=($(gcloud container get-server-config --project=${PROJECT_NAME} --zone=${ZONE} --format='value(validMasterVersions)'))
CLUSTER_VERSION="${VERSIONS[1]}"
KUBE_USER="[email protected]"
CLUSTER_CREATED=false
delete_cluster () {
if [ "${CLUSTER_CREATED}" = true ]; then
gcloud container clusters delete ${CLUSTER_NAME}\
--zone ${ZONE}\
--project ${PROJECT_NAME}\
--quiet\
|| echo "Failed to delete cluster ${CLUSTER_NAME}"
fi
}
function create_cluster() {
local prefix="${1}"
CLUSTER_NAME="${prefix}-$(uuidgen | cut -c1-8 | tr "[A-Z]" "[a-z]")"
echo "Default cluster version: ${CLUSTER_VERSION}"
gcloud container clusters create ${CLUSTER_NAME}\
--zone ${ZONE}\
--project ${PROJECT_NAME}\
--cluster-version ${CLUSTER_VERSION}\
--machine-type ${MACHINE_TYPE}\
--num-nodes ${NUM_NODES}\
--no-enable-legacy-authorization\
--enable-kubernetes-alpha --quiet\
|| { echo "Failed to create a new cluster"; exit 1; }
CLUSTER_CREATED=true
for i in {1..10}
do
status=$(kubectl get namespace || echo "Unreachable")
[[ ${status} == 'Unreachable' ]] || break
if [ ${i} -eq 10 ]; then
echo "Cannot connect to the new cluster"; exit 1
fi
sleep 5
done
kubectl create clusterrolebinding prow-cluster-admin-binding\
--clusterrole=cluster-admin\
--user="${KUBE_USER}"
}