blob: 7594cb3a6f45648b460931b8c067743324c394b4 [file] [log] [blame]
# This script assumes Docker is already installed
#!/bin/bash
set -x
# set docker0 to promiscuous mode
sudo ip link set docker0 promisc on
# Download and install kubectl and minikube following the recipe in the minikube
# project README.md for using minikube for Linux Continuous Integration with VM Support
curl -Lo kubectl https://storage.googleapis.com/kubernetes-release/release/$TRAVIS_KUBE_VERSION/bin/linux/amd64/kubectl && chmod +x kubectl && sudo mv kubectl /usr/local/bin
curl -Lo minikube https://storage.googleapis.com/minikube/releases/$TRAVIS_MINIKUBE_VERSION/minikube-linux-amd64 && chmod +x minikube && sudo mv minikube /usr/local/bin
export MINIKUBE_WANTUPDATENOTIFICATION=false
export MINIKUBE_WANTREPORTERRORPROMPT=false
export MINIKUBE_HOME=$HOME
export CHANGE_MINIKUBE_NONE_USER=true
mkdir $HOME/.kube || true
touch $HOME/.kube/config
export KUBECONFIG=$HOME/.kube/config
sudo -E /usr/local/bin/minikube start --vm-driver=none --kubernetes-version=$TRAVIS_KUBE_VERSION
# Wait until kubectl can access the api server that Minikube has created
TIMEOUT=0
TIMEOUT_COUNT=60
until $( /usr/local/bin/kubectl get po &> /dev/null ) || [ $TIMEOUT -eq $TIMEOUT_COUNT ]; do
echo "minikube is not up yet"
let TIMEOUT=TIMEOUT+1
sleep 5
done
if [ $TIMEOUT -eq $TIMEOUT_COUNT ]; then
echo "Failed to start minikube"
exit 1
fi
echo "minikube is deployed and reachable"
# set the invoker label
kubectl label nodes --all openwhisk=invoker