blob: b71d67707e06a22ae1cb9d422924849802f8f2f3 [file] [log] [blame]
#!/bin/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.
#
read -r -d '' USAGE <<END
Usage: run_expansion_services.sh (start|stop) [options]
Options:
--group_id [unique id for stop services later]
--transform_service_launcher_jar [path to the transform service launcher jar]
--external_port [external port exposed by the transform service]
--start [command to start the transform service for the given group_id]
--stop [command to stop the transform service for the given group_id]
END
while [[ $# -gt 0 ]]; do
key="$1"
case $key in
--group_id)
GROUP_ID="$2"
shift
shift
;;
--transform_service_launcher_jar)
TRANSFORM_SERVICE_LAUNCHER_JAR="$2"
shift
shift
;;
--external_port)
EXTERNAL_PORT="$2"
shift
shift
;;
--beam_version)
BEAM_VERSION_JAR="$2"
BEAM_VERSION_DOCKER=${BEAM_VERSION_JAR/-SNAPSHOT/.dev}
shift
shift
;;
start)
STARTSTOP="$1"
shift
;;
stop)
STARTSTOP="$1"
shift
;;
*)
echo "Unknown option: $1"
echo "$USAGE"
exit 1
;;
esac
done
FILE_BASE="beam-transform-service"
if [ -n "$GROUP_ID" ]; then
FILE_BASE="$FILE_BASE-$GROUP_ID"
fi
TEMP_DIR=/tmp
case $STARTSTOP in
start)
echo "Starting the transform service for project $GROUP_ID at port $EXTERNAL_PORT for Beam version $BEAM_VERSION_DOCKER transform service startup jar is $TRANSFORM_SERVICE_LAUNCHER_JAR"
java -jar $TRANSFORM_SERVICE_LAUNCHER_JAR --project_name $GROUP_ID --port $EXTERNAL_PORT --beam_version $BEAM_VERSION_DOCKER --command up >$TEMP_DIR/$FILE_BASE-java1.log 2>&1 </dev/null
;;
stop)
echo "Stopping the transform service for project $GROUP_ID at port $EXTERNAL_PORT for Beam version $BEAM_VERSION_DOCKER transform service startup jar is $TRANSFORM_SERVICE_LAUNCHER_JAR"
java -jar $TRANSFORM_SERVICE_LAUNCHER_JAR --project_name $GROUP_ID --port $EXTERNAL_PORT --beam_version $BEAM_VERSION_DOCKER --command down >$TEMP_DIR/$FILE_BASE-java2.log 2>&1 </dev/null
TRANSFORM_SERVICE_TEMP_DIR=$TEMP_DIR/$GROUP_ID
if [[ -d ${TRANSFORM_SERVICE_TEMP_DIR} ]]; then
echo "Removing transform service temporary directory $TRANSFORM_SERVICE_TEMP_DIR"
rm -rf ${TRANSFORM_SERVICE_TEMP_DIR}
fi
;;
esac