#!/bin/sh # Copyright 2017 Yahoo Holdings. 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 vespa-run-as-vespa-user vespa-runserver -s filedistributor -p $PIDFILE_FILEDISTRIBUTOR -S vespa-run-as-vespa-user vespa-runserver -s logd -p $PIDFILE_LOGD -S fi # Try shutting down this way in case of upgrade. Can be removed in later versions. vespa-run-as-vespa-user vespa-runserver -s configserver -p $PIDFILE_CONFIGSERVER -S if [ -e "$PIDFILE_CONFIGSERVER" ]; then export UNPRIVILEGED=1 export PID_FILE=$PIDFILE_CONFIGSERVER exec vespa-run-as-vespa-user ${ROOT}/bin/jdisc_container_stop fi