blob: 9f770055dffe1147d1e4754cc7c41a6266cef9d5 [file] [log] [blame]
#!/bin/bash
#########
# ============LICENSE_START====================================================
# org.onap.aaf
# ===========================================================================
# Copyright (c) 2017 AT&T Intellectual Property. All rights reserved.
# ===========================================================================
# Licensed 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.
# ============LICENSE_END====================================================
#
# Validate for realtime Cassandra info
# check if outside Cluster defined... otherwise, set CASS_HOST for using expected Docker based Cass
if [ -z "$(grep -e '^CASS_CLUSTER=.*' d.props)" ]; then
if [ "$(uname)" = "Darwin" ]; then
SED="sed -i .bak"
else
SED="sed -i"
fi
CASSANDRA_IP=$(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' aaf_cass)
if [ -z "$(grep -e '^CASS_HOST.*' d.props)" ]; then
$SED "s/# CASS_HOST=.*/CASS_HOST=cass.aaf.osaaf.org:$CASSANDRA_IP/" d.props
else
$SED "s/CASS_HOST=.*/CASS_HOST=cass.aaf.osaaf.org:$CASSANDRA_IP/" d.props
fi
echo "Updated d.props for CASSANDRA Name/IP"
grep -e '^CASS_HOST.*' d.props
fi
# Pull in Variables from d.props
. ./d.props
DOCKER=${DOCKER:=docker}
# Running without params keeps from being TTY
bash ./aaf.sh
if [ "$1" == "" ]; then
AAF_COMPONENTS=$(cat components)
else
AAF_COMPONENTS="$@"
fi
for AAF_COMPONENT in ${AAF_COMPONENTS}; do
LINKS=""
CMD_LINE=""
PORTMAP=""
case "$AAF_COMPONENT" in
"service")
PORTMAP="8100:8100"
LINKS="--link aaf_cass:cassandra "
# CASS_HOST is for Container based Cassadra
if [ -z "$CASS_HOST" ]; then
CMD_LINE="/bin/bash /opt/app/aaf/pod/pod_wait.sh aaf_service sleep 0 cd /opt/app/aaf;bin/service"
else
CMD_LINE="/bin/bash /opt/app/aaf/pod/pod_wait.sh aaf_service aaf_cass cd /opt/app/aaf;bin/service"
fi
;;
"locate")
PORTMAP="8095:8095"
LINKS="--link aaf_cass:cassandra "
CMD_LINE="/bin/bash /opt/app/aaf/pod/pod_wait.sh aaf_locate aaf_service cd /opt/app/aaf;bin/locate"
;;
"oauth")
PORTMAP="8140:8140"
LINKS="--link aaf_cass:cassandra "
CMD_LINE="/bin/bash /opt/app/aaf/pod/pod_wait.sh aaf_oauth aaf_service cd /opt/app/aaf;bin/oauth"
;;
"gui")
PORTMAP="8200:8200"
LINKS=""
CMD_LINE="/bin/bash /opt/app/aaf/pod/pod_wait.sh aaf_gui aaf_locate cd /opt/app/aaf;bin/gui"
;;
"cm")
PORTMAP="8150:8150"
LINKS="--link aaf_cass:cassandra "
CMD_LINE="/bin/bash /opt/app/aaf/pod/pod_wait.sh aaf_cm aaf_locate cd /opt/app/aaf;bin/cm"
;;
"hello")
PORTMAP="8130:8130"
LINKS=""
CMD_LINE="/bin/bash /opt/app/aaf/pod/pod_wait.sh aaf_hello aaf_locate cd /opt/app/aaf;bin/hello"
;;
"fs")
PORTMAP="80:8096"
LINKS=""
CMD_LINE="/bin/bash /opt/app/aaf/pod/pod_wait.sh aaf_fs aaf_locate cd /opt/app/aaf;bin/fs"
;;
esac
echo Starting aaf_$AAF_COMPONENT...
if [ -n "$AAF_REGISTER_AS" ] && [ "$HOSTNAME" != "$AAF_REGISTER_AS" ]; then
AH_ROOT="$HOSTNAME $AAF_REGISTER_AS"
else
AH_ROOT="$HOSTNAME"
fi
for A in aaf.osaaf.org $AH_ROOT; do
ADD_HOST="$ADD_HOST --add-host=$A:$HOST_IP"
done
if [ ! -z "$LINKS" ] && [[ "$CASS_HOST" =~ ":" ]]; then
ADD_HOST="$ADD_HOST --add-host=$CASS_HOST"
fi
$DOCKER run \
-d \
--name aaf_$AAF_COMPONENT \
--hostname="${AAF_COMPONENT}.aaf.osaaf.org" \
$ADD_HOST \
${LINKS} \
--env AAF_ENV=${AAF_ENV} \
--env AAF_REGISTER_AS=${AAF_REGISTER_AS} \
--env LATITUDE=${LATITUDE} \
--env LONGITUDE=${LONGITUDE} \
--env CASS_HOST=${CASS_HOST} \
--env CASSANDRA_CLUSTER=${CASSANDRA_CLUSTER} \
--env CASSANDRA_USER=${CASSANDRA_USER} \
--env CASSANDRA_PASSWORD=${CASSANDRA_PASSWORD} \
--env CASSANDRA_PORT=${CASSANDRA_PORT} \
--publish $PORTMAP \
-v "aaf_config:$CONF_ROOT_DIR" \
-v "aaf_status:/opt/app/aaf/status" \
${PREFIX}${ORG}/${PROJECT}/aaf_${AAF_COMPONENT}:${VERSION} \
$CMD_LINE
done