| #!/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 |