diff options
author | Harald Musum <musum@yahoo-inc.com> | 2017-01-27 16:00:36 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-01-27 16:00:36 +0100 |
commit | 98bbbc9979e6852c52a9163015f15091a899674d (patch) | |
tree | 348abaa4c8254a0074a0b6dd995141be3014b302 /node-admin/vespa-local/start-services.sh | |
parent | 89ef63927df101e764be6b2f6f773a4751b6236c (diff) | |
parent | 5d997653245fc938325b5833780dedc2067f384b (diff) |
Merge pull request #1638 from yahoo/freva/move-node-admin-dockerfile
Freva/move node admin dockerfile
Diffstat (limited to 'node-admin/vespa-local/start-services.sh')
-rwxr-xr-x | node-admin/vespa-local/start-services.sh | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/node-admin/vespa-local/start-services.sh b/node-admin/vespa-local/start-services.sh new file mode 100755 index 00000000000..0fe5c1c0724 --- /dev/null +++ b/node-admin/vespa-local/start-services.sh @@ -0,0 +1,98 @@ +#!/bin/bash +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. + +# TODO: This file duplicates a file in the base image (with local modifications). +# Update the file there. + +# 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 + +export LC_ALL=C + +function wait_for_network_up { + while true + do + for config_server_host in $(echo $CONFIG_SERVER_ADDRESS | tr "," " ") + do + ping -c 1 -W 3 $config_server_host && return + sleep 1 + done + done +} + +if [ -z $CONFIG_SERVER_ADDRESS ] +then + echo "CONFIG_SERVER_ADDRESS must be set." + exit -1 +fi + +chown yahoo $VESPA_HOME/var/jdisc_container + +# Local modification; fixes ownership issues for vespa node running in container. +chown yahoo $VESPA_HOME/var/zookeeper + +if [ -d "$VESPA_HOME/logs" ] +then + chmod 1777 $VESPA_HOME/logs +fi + +yinst set services.addr_configserver=$CONFIG_SERVER_ADDRESS +wait_for_network_up +yinst start services +logfmt -n -f |