blob: f30f05f0213359f4c04ef5af597437ff55adc3bc [file] [log] [blame]
#!/usr/bin/env bash
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# STORM-2486: Prevent `cd` from printing the target directory.
unset CDPATH
# Resolve links - $0 may be a softlink
PRG="${0}"
while [ -h "${PRG}" ]; do
ls=`ls -ld "${PRG}"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG=`dirname "${PRG}"`/"$link"
fi
done
# check for version
if [ -z $PYTHON ]; then
PYTHON="/usr/bin/env python"
fi
majversion=`$PYTHON -V 2>&1 | awk '{print $2}' | cut -d'.' -f1`
minversion=`$PYTHON -V 2>&1 | awk '{print $2}' | cut -d'.' -f2`
numversion=$(( 10 * $majversion + $minversion))
if (( $numversion < 26 )); then
echo "Need python version > 2.6"
exit 1
fi
STORM_BIN_DIR=`dirname ${PRG}`
export STORM_BASE_DIR=`cd ${STORM_BIN_DIR}/..;pwd`
#check to see if the conf dir or file is given as an optional argument
if [ $# -gt 1 ]; then
if [ "--config" = "$1" ]; then
conf_file=$2
if [ -d "$conf_file" ]; then
conf_file=$conf_file/storm.yaml
fi
if [ ! -f "$conf_file" ]; then
echo "Error: Cannot find configuration file: $conf_file"
exit 1
fi
STORM_CONF_FILE=$conf_file
STORM_CONF_DIR=`dirname $conf_file`
fi
fi
export STORM_CONF_DIR="${STORM_CONF_DIR:-$STORM_BASE_DIR/conf}"
export STORM_CONF_FILE="${STORM_CONF_FILE:-$STORM_BASE_DIR/conf/storm.yaml}"
if [ -f "${STORM_CONF_DIR}/storm-env.sh" ]; then
. "${STORM_CONF_DIR}/storm-env.sh"
fi
exec "${STORM_BIN_DIR}/storm.py" "$@"