From 711f6431776ffd6486c33b1cbd61e56100efec62 Mon Sep 17 00:00:00 2001 From: Adam Reese Date: Tue, 15 Mar 2016 09:48:36 -0600 Subject: [PATCH] fix(devtools): refactor local run script --- scripts/start.sh | 85 +++++++++++++++++++++++++++++------------------- 1 file changed, 52 insertions(+), 33 deletions(-) diff --git a/scripts/start.sh b/scripts/start.sh index 5cb0739fd..197cbc793 100755 --- a/scripts/start.sh +++ b/scripts/start.sh @@ -1,50 +1,69 @@ #!/bin/bash +set -eo pipefail + +KUBE_PROXY=${KUBE_PROXY:-} +KUBE_PROXY_PORT=${KUBE_PROXY_PORT:-8001} +MANAGER_PORT=${MANAGER_PORT:-8080} + +RESOURCIFIER=bin/resourcifier +EXPANDYBIRD=bin/expandybird +MANAGER=bin/manager + +error_exit() { + # Display error message and exit + echo "error: ${1:-"unknown error"}" 1>&2 + exit 1 +} + +require_binary_exists() { + if ! command -v "$1" >/dev/null 2>&1; then + error_exit "Cannot find binary for $1. Build binaries by running 'make build'" + fi +} + +for b in $RESOURCIFIER $EXPANDYBIRD $MANAGER; do + require_binary_exists $b + + # kill if currently running + pkill -f $b +done + LOGDIR=log if [[ ! -d $LOGDIR ]]; then mkdir $LOGDIR fi -KUBECTL=`which kubectl` -if [[ -z $KUBECTL ]] ; then - echo Cannot find kubectl - exit 1 -fi +KUBECTL=$(which kubectl) || error_exit "Cannot find kubectl" echo "Starting resourcifier..." -RESOURCIFIER=bin/resourcifier -if [[ -z $RESOURCIFIER ]] ; then - echo Cannot find resourcifier - exit 1 -fi -pkill -f $RESOURCIFIER -nohup $RESOURCIFIER > $LOGDIR/resourcifier.log 2>&1 --kubectl=$KUBECTL --port=8082 & -echo +nohup $RESOURCIFIER > $LOGDIR/resourcifier.log 2>&1 --kubectl="${KUBECTL}" --port=8082 & echo "Starting expandybird..." -EXPANDYBIRD=bin/expandybird -if [[ -z $EXPANDYBIRD ]] ; then - echo Cannot find expandybird - exit 1 -fi -pkill -f $EXPANDYBIRD nohup $EXPANDYBIRD > $LOGDIR/expandybird.log 2>&1 --port=8081 --expansion_binary=expansion/expansion.py & -echo echo "Starting deployment manager..." -MANAGER=bin/manager -if [[ -z $MANAGER ]] ; then - echo Cannot find manager - exit 1 +nohup $MANAGER > $LOGDIR/manager.log 2>&1 --port="${MANAGER_PORT}" --kubectl="${KUBECTL}" --expanderURL=http://localhost:8081 --deployerURL=http://localhost:8082 & + +if [[ "$KUBE_PROXY" ]]; then + echo "Starting kubectl proxy..." + pkill -f "$KUBECTL proxy" + nohup "$KUBECTL" proxy --port="${KUBE_PROXY_PORT}" & + sleep 1s fi -pkill -f $MANAGER -nohup $MANAGER > $LOGDIR/manager.log 2>&1 --port=8080 --kubectl=$KUBECTL --expanderURL=http://localhost:8081 --deployerURL=http://localhost:8082 & -echo -echo "Starting kubectl proxy..." -pkill -f "$KUBECTL proxy" -nohup $KUBECTL proxy --port=8001 & -sleep 1s -echo +cat <