diff options
author | Jon Bratseth <bratseth@yahoo-inc.com> | 2016-06-15 23:09:44 +0200 |
---|---|---|
committer | Jon Bratseth <bratseth@yahoo-inc.com> | 2016-06-15 23:09:44 +0200 |
commit | 72231250ed81e10d66bfe70701e64fa5fe50f712 (patch) | |
tree | 2728bba1131a6f6e5bdf95afec7d7ff9358dac50 /configserver/src/main/sh/stop-configserver |
Publish
Diffstat (limited to 'configserver/src/main/sh/stop-configserver')
-rwxr-xr-x | configserver/src/main/sh/stop-configserver | 94 |
1 files changed, 94 insertions, 0 deletions
diff --git a/configserver/src/main/sh/stop-configserver b/configserver/src/main/sh/stop-configserver new file mode 100755 index 00000000000..1d63a25fa0e --- /dev/null +++ b/configserver/src/main/sh/stop-configserver @@ -0,0 +1,94 @@ +#!/bin/sh +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. + +# BEGIN environment bootstrap section +# Do not edit between here and END as this section should stay identical in all scripts + +findpath () { + myname=${0} + mypath=${myname%/*} + myname=${myname##*/} + if [ "$mypath" ] && [ -d "$mypath" ]; then + return + fi + mypath=$(pwd) + if [ -f "${mypath}/${myname}" ]; then + return + fi + echo "FATAL: Could not figure out the path where $myname lives from $0" + exit 1 +} + +COMMON_ENV=libexec/vespa/common-env.sh + +source_common_env () { + if [ "$VESPA_HOME" ] && [ -d "$VESPA_HOME" ]; then + # ensure it ends with "/" : + VESPA_HOME=${VESPA_HOME%/}/ + export VESPA_HOME + common_env=$VESPA_HOME/$COMMON_ENV + if [ -f "$common_env" ]; then + . $common_env + return + fi + fi + return 1 +} + +findroot () { + source_common_env && return + if [ "$VESPA_HOME" ]; then + echo "FATAL: bad VESPA_HOME value '$VESPA_HOME'" + exit 1 + fi + if [ "$ROOT" ] && [ -d "$ROOT" ]; then + VESPA_HOME="$ROOT" + source_common_env && return + fi + findpath + while [ "$mypath" ]; do + VESPA_HOME=${mypath} + source_common_env && return + mypath=${mypath%/*} + done + echo "FATAL: missing VESPA_HOME environment variable" + echo "Could not locate $COMMON_ENV anywhere" + exit 1 +} + +findroot + +# END environment bootstrap section + +ROOT=$VESPA_HOME +export ROOT +cd $ROOT || { echo "Cannot cd to $ROOT" 1>&2; exit 1; } + +# get common PATH etc: +. $ROOT/libexec/vespa/common-env.sh + +fixlimits + +# runserver takes care of making sure that we're not running several +# instances and saving its pid in this file: +PIDFILE_CONFIGSERVER=${ROOT}/var/run/configserver.pid +PIDFILE_FILEDISTRIBUTOR=var/run/filedistributor.pid +PIDFILE_LOGD=var/run/logd.pid + +VESPA_LOG_TARGET="file:${ROOT}/logs/vespa/vespa.log" +export VESPA_LOG_TARGET + +multitenant=$cloudconfig_server__multitenant +if [ "$multitenant" = "true" ]; then + run-as-yahoo vespa-runserver -s filedistributor -p $PIDFILE_FILEDISTRIBUTOR -S + run-as-yahoo vespa-runserver -s logd -p $PIDFILE_LOGD -S +fi + +# Try shutting down this way in case of upgrade. Can be removed in later versions. +run-as-yahoo vespa-runserver -s configserver -p $PIDFILE_CONFIGSERVER -S + +if [ -e "$PIDFILE_CONFIGSERVER" ]; then + export UNPRIVILEGED=1 + export PID_FILE=$PIDFILE_CONFIGSERVER + exec run-as-yahoo ${ROOT}/bin/jdisc_container_stop +fi |