@@ -30,6 +30,11 @@ trap "clean_exit" EXIT
30
30
# Switch off SE-Linux
31
31
setenforce 0
32
32
33
+ # Mount root to fix dns issues
34
+ # Define $HOME since somehow this is not defined
35
+ HOME=/home/travis
36
+ sudo mount --make-rshared /
37
+
33
38
# Install docker if needed
34
39
path_to_executable=$( which docker)
35
40
if [ -x " $path_to_executable " ] ; then
40
45
docker --version
41
46
42
47
# Get the latest stable version of kubernetes
43
- export K8S_VERSION=$( curl -sS https://storage.googleapis.com/kubernetes-release/release/stable.txt)
48
+ K8S_VERSION=$( curl -sS https://storage.googleapis.com/kubernetes-release/release/stable.txt)
44
49
echo " K8S_VERSION : ${K8S_VERSION} "
45
50
46
51
echo " Starting docker service"
@@ -54,48 +59,48 @@ wget -O kubectl "http://storage.googleapis.com/kubernetes-release/release/${K8S_
54
59
sudo chmod +x kubectl
55
60
sudo mv kubectl /usr/local/bin/
56
61
57
- echo " Download localkube from minikube project"
58
- wget -O localkube " https://storage.googleapis.com/minikube/k8sReleases/v1.7.0/localkube-linux-amd64"
59
- sudo chmod +x localkube
60
- sudo mv localkube /usr/local/bin/
61
-
62
- echo " Starting localkube"
63
- sudo nohup localkube --logtostderr=true --enable-dns=false > localkube.log 2>&1 &
64
-
65
- echo " Waiting for localkube to start..."
66
- if ! timeout 120 sh -c " while ! curl -ks http://127.0.0.1:8080/ >/dev/null; do sleep 1; done" ; then
67
- sudo cat localkube.log
68
- die $LINENO " localkube did not start"
62
+ echo " Download minikube from minikube project"
63
+ wget -O minikube " https://storage.googleapis.com/minikube/releases/v0.30.0/minikube-linux-amd64"
64
+ sudo chmod +x minikube
65
+ sudo mv minikube /usr/local/bin/
66
+
67
+ # L68-100: Set up minikube within Travis CI
68
+ # See https://github.com/kubernetes/minikube/blob/master/README.md#linux-continuous-integration-without-vm-support
69
+ echo " Set up minikube"
70
+ export MINIKUBE_WANTUPDATENOTIFICATION=false
71
+ export MINIKUBE_WANTREPORTERRORPROMPT=false
72
+ export CHANGE_MINIKUBE_NONE_USER=true
73
+ sudo mkdir -p $HOME /.kube
74
+ sudo mkdir -p $HOME /.minikube
75
+ sudo touch $HOME /.kube/config
76
+ export KUBECONFIG=$HOME /.kube/config
77
+ export MINIKUBE_HOME=$HOME
78
+ export MINIKUBE_DRIVER=${MINIKUBE_DRIVER:- none}
79
+
80
+ # Used bootstrapper to be kubeadm for the most recent k8s version
81
+ # since localkube is depreciated and only supported up to version 1.10.0
82
+ echo " Starting minikube"
83
+ sudo minikube start --vm-driver=$MINIKUBE_DRIVER --bootstrapper=kubeadm --kubernetes-version=$K8S_VERSION --logtostderr
84
+
85
+ MINIKUBE_OK=" false"
86
+
87
+ echo " Waiting for minikube to start..."
88
+ # this for loop waits until kubectl can access the api server that Minikube has created
89
+ for i in {1..90}; do # timeout for 3 minutes
90
+ kubectl get po & > /dev/null
91
+ if [ $? -ne 1 ]; then
92
+ MINIKUBE_OK=" true"
93
+ break
94
+ fi
95
+ sleep 2
96
+ done
97
+
98
+ # Shut down CI if minikube did not start and show logs
99
+ if [ $MINIKUBE_OK == " false" ]; then
100
+ sudo minikube logs
101
+ die $LINENO " minikube did not start"
69
102
fi
70
103
71
- echo " Check certificate permissions"
72
- sudo chmod 644 /var/lib/localkube/certs/*
73
- sudo ls -altr /var/lib/localkube/certs/
74
-
75
- echo " Set up .kube/config"
76
- mkdir ~ /.kube
77
- cat << EOF > ~/.kube/config
78
- apiVersion: v1
79
- clusters:
80
- - cluster:
81
- insecure-skip-tls-verify: true
82
- server: https://localhost:8443
83
- name: local
84
- contexts:
85
- - context:
86
- cluster: local
87
- user: myself
88
- name: local
89
- current-context: local
90
- kind: Config
91
- preferences: {}
92
- users:
93
- - name: myself
94
- user:
95
- client-certificate: /var/lib/localkube/certs/apiserver.crt
96
- client-key: /var/lib/localkube/certs/apiserver.key
97
- EOF
98
-
99
104
echo " Dump Kubernetes Objects..."
100
105
kubectl get componentstatuses
101
106
kubectl get configmaps
@@ -124,4 +129,4 @@ kubectl get services
124
129
echo " Running tests..."
125
130
set -x -e
126
131
# Yield execution to venv command
127
- $*
132
+ $*
0 commit comments