diff --git a/test/kubemark/resources/start-kubemark-master.sh b/test/kubemark/resources/start-kubemark-master.sh index 83b6ad4a7a2..bdc11bc64bc 100755 --- a/test/kubemark/resources/start-kubemark-master.sh +++ b/test/kubemark/resources/start-kubemark-master.sh @@ -17,6 +17,10 @@ # Script that starts kubelet on kubemark-master as a supervisord process # and then runs the master components as pods using kubelet. +set -o errexit +set -o nounset +set -o pipefail + # Define key path variables. KUBE_ROOT="/home/kubernetes" KUBE_BINDIR="${KUBE_ROOT}/kubernetes/server/bin" @@ -93,7 +97,6 @@ function safe-format-and-mount() { mkfs.ext4 -F "${device}" fi - mkdir -p "${mountpoint}" echo "Mounting '${device}' at '${mountpoint}'" mount -o discard,defaults "${device}" "${mountpoint}" } @@ -493,9 +496,17 @@ start-kubemaster-component "kube-controller-manager" start-kubemaster-component "kube-scheduler" start-kubemaster-component "kube-addon-manager" -# Wait till apiserver is working fine. +# Wait till apiserver is working fine or timeout. +echo -n "Waiting for apiserver to be healthy" +start=$(date +%s) until [ "$(curl 127.0.0.1:8080/healthz 2> /dev/null)" == "ok" ]; do + echo -n "." sleep 1 + now=$(date +%s) + if [ $((now - start)) -gt 300 ]; then + echo "Timeout!" + exit 1 + fi done echo "Done for the configuration for kubermark master" diff --git a/test/kubemark/start-kubemark.sh b/test/kubemark/start-kubemark.sh index e76351b671c..f64f48620b1 100755 --- a/test/kubemark/start-kubemark.sh +++ b/test/kubemark/start-kubemark.sh @@ -16,6 +16,10 @@ # Script that creates a Kubemark cluster for any given cloud provider. +set -o errexit +set -o nounset +set -o pipefail + TMP_ROOT="$(dirname "${BASH_SOURCE}")/../.." KUBE_ROOT=$(readlink -e ${TMP_ROOT} 2> /dev/null || perl -MCwd -e 'print Cwd::abs_path shift' ${TMP_ROOT})