X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=auth%2Fdocker%2Fdrun.sh;h=994bb556cc6ae6e91dc1e7fe667293debdd441bd;hb=2b46f76d9a688acf326424659ec9672a2614fdcf;hp=a7378b75c9af53c2d3f7f0b448a46a1767db256b;hpb=9af4623faed6fd0bda1567cbf28899b5b5363be0;p=aaf%2Fauthz.git diff --git a/auth/docker/drun.sh b/auth/docker/drun.sh index a7378b75..994bb556 100644 --- a/auth/docker/drun.sh +++ b/auth/docker/drun.sh @@ -1,65 +1,120 @@ -#!/bin/bash +#!/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==================================================== +# # Pull in Variables from d.props . ./d.props -# Create Volumes, if not exist already -for VOL in aaf_config aaf_cass_data; do - HAS_VOLUME=`docker volume ls | grep $VOL` - if [ "$HAS_VOLUME" = "" ]; then - docker volume create --name $VOL - fi -done - docker run \ - -d \ - --name aaf_config \ - --mount 'type=volume,src=aaf_config,dst=/opt/app/osaaf,volume-driver=local' \ - ${ORG}/${PROJECT}/aaf_agent:${VERSION} +CASSANDRA_CLUSTER=${CASSANDRA_CLUSTER:=$CASSANDRA_DOCKER} + +DOCKER=${DOCKER:=docker} + +# Running without params keeps from being TTY +bash ./aaf.sh if [ "$1" == "" ]; then - AAF_COMPONENTS=`ls -r ../aaf_${VERSION}/bin | grep -v '\.'` + AAF_COMPONENTS=$(cat components) else - AAF_COMPONENTS=$1 + AAF_COMPONENTS="$@" fi - -for AAF_COMPONENT in ${AAF_COMPONENTS}; do - case "$AAF_COMPONENT" in - "service") - PORTMAP="8100:8100" - LINKS="--link aaf_cass:cassandra --add-host=$CASS_HOST" - ;; - "locate") - PORTMAP="8095:8095" - LINKS="--link aaf_cass:cassandra --add-host=$CASS_HOST" - ;; - "oauth") - PORTMAP="8140:8140" - LINKS="--link aaf_cass:cassandra --add-host=$CASS_HOST" - ;; - "gui") - PORTMAP="8200:8200" - ;; - "cm") - PORTMAP="8150:8150" - LINKS="--link aaf_cass:cassandra --add-host=$CASS_HOST" - ;; - "hello") - PORTMAP="8130:8130" - ;; - "fs") - PORTMAP="80:8096" - ;; - esac - - echo Starting aaf_$AAF_COMPONENT... - docker run \ - -d \ - --name aaf_$AAF_COMPONENT \ - --hostname="${AAF_COMPONENT}.aaf.osaaf.org" \ - --add-host="$HOSTNAME:$HOST_IP" \ - --add-host="aaf.osaaf.org:$HOST_IP" \ - ${LINKS} \ - --publish $PORTMAP \ - --mount type=bind,source=$CONF_ROOT_DIR,target=/opt/app/osaaf \ - ${ORG}/${PROJECT}/aaf_${AAF_COMPONENT}:${VERSION} +for AAF_COMPONENT in ${AAF_COMPONENTS}; do + LINKS="" + CMD_LINE="" + PUBLISH="" + case "$AAF_COMPONENT" in + "service") + PUBLISH="--publish 8100:8100" + if [ -z "$CASSANDRA_DOCKER" ]; then + CMD_LINE="cd /opt/app/aaf && /bin/bash bin/pod_wait.sh aaf-service && exec bin/service" + else + CMD_LINE="cd /opt/app/aaf && /bin/bash bin/pod_wait.sh aaf-service aaf-cass && exec bin/service" + LINKS="--link $CASSANDRA_DOCKER" + echo $CASSANDRA_CLUSTER + fi + ;; + "locate") + PUBLISH="--publish 8095:8095" + LINKS="--link aaf-cass --link aaf-service" + CMD_LINE="cd /opt/app/aaf && /bin/bash bin/pod_wait.sh aaf-locate aaf-service && exec bin/locate" + ;; + "oauth") + PUBLISH="--publish 8140:8140" + LINKS="--link aaf-cass --link aaf-service --link aaf-locate" + CMD_LINE="cd /opt/app/aaf && /bin/bash bin/pod_wait.sh aaf-oauth aaf-service && exec bin/oauth" + ;; + "cm") + PUBLISH="--publish 8150:8150" + LINKS="--link aaf-cass --link aaf-service --link aaf-locate" + CMD_LINE="cd /opt/app/aaf && /bin/bash bin/pod_wait.sh aaf-cm aaf-locate && exec bin/cm" + ;; + "gui") + PUBLISH="--publish 8200:8200" + LINKS="--link aaf-service --link aaf-locate --link aaf-oauth --link aaf-cm" + CMD_LINE="cd /opt/app/aaf && /bin/bash bin/pod_wait.sh aaf-gui aaf-locate && exec bin/gui" + ;; + "fs") + PUBLISH="--publish 80:8096" + LINKS="--link aaf-locate" + CMD_LINE="cd /opt/app/aaf && /bin/bash bin/pod_wait.sh aaf-fs aaf-locate && exec bin/fs" + ;; + "hello") + PUBLISH="--publish 8130:8130" + LINKS="--link aaf-service --link aaf-locate --link aaf-oauth --link aaf-cm" + CMD_LINE="cd /opt/app/aaf && /bin/bash bin/pod_wait.sh aaf-hello aaf-locate && exec bin/hello" + ;; + esac + + echo Starting aaf-$AAF_COMPONENT... + + #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 + #--hostname="${AAF_COMPONENT}.${NAMESPACE}" \ + # --env aaf_locate_url=https://aaf-locate:8095 \ + # $ADD_HOST \ + if [ -n "${DUSER}" ]; then + THE_USER="--user $DUSER" + fi + $DOCKER run \ + -d \ + ${THE_USER} \ + --name aaf-$AAF_COMPONENT \ + ${LINKS} \ + --env AAF_ENV=${AAF_ENV} \ + --env aaf_locator_container=docker \ + --env aaf_locator_container_ns=${NAMESPACE} \ + --env aaf_locator_fqdn=${HOSTNAME} \ + --env aaf_locator_public_hostname=${HOSTNAME} \ + --env LATITUDE=${LATITUDE} \ + --env LONGITUDE=${LONGITUDE} \ + --env CASSANDRA_CLUSTER=${CASSANDRA_CLUSTER} \ + --env CASSANDRA_USER=${CASSANDRA_USER} \ + --env CASSANDRA_PASSWORD=${CASSANDRA_PASSWORD} \ + --env CASSANDRA_PORT=${CASSANDRA_PORT} \ + $PUBLISH \ + -v "aaf_config:$CONF_ROOT_DIR" \ + -v "aaf_status:/opt/app/aaf/status" \ + ${PREFIX}${ORG}/${PROJECT}/aaf_${AAF_COMPONENT}:${VERSION} \ + /bin/bash -c "$CMD_LINE" done