X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=auth%2Fdocker%2Fdrun.sh;h=86fe598458278a4ffb9fdccea899dfb94c7d4ada;hb=HEAD;hp=f5756b8162463bde2d24b0cf73e2e810d91340f3;hpb=ca788dc542830b054f0a46df2dfd774fc318872c;p=aaf%2Fauthz.git diff --git a/auth/docker/drun.sh b/auth/docker/drun.sh index f5756b81..86fe5984 100644 --- a/auth/docker/drun.sh +++ b/auth/docker/drun.sh @@ -1,27 +1,28 @@ #!/bin/bash -# 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 - +######### +# ============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 +CASSANDRA_CLUSTER=${CASSANDRA_CLUSTER:=$CASSANDRA_DOCKER} + DOCKER=${DOCKER:=docker} # Running without params keeps from being TTY @@ -33,86 +34,111 @@ else AAF_COMPONENTS="$@" fi +# All the NORMAL services use common directory +# remove this for Hello, which we want non shared +CONFIG="-v aaf_config:$CONF_ROOT_DIR" +if [ -n "${DUSER}" ]; then + THE_USER="--user $DUSER" +fi +IMAGE="${PREFIX}${ORG}/${PROJECT}/aaf_core:${VERSION}" + for AAF_COMPONENT in ${AAF_COMPONENTS}; do LINKS="" CMD_LINE="" - PORTMAP="" + PUBLISH="" 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" + 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="/bin/bash /opt/app/aaf/pod/pod_wait.sh aaf_service aaf_cass cd /opt/app/aaf;bin/service" + 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") - 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" + 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") - 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" + 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") - 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" + PUBLISH="--publish 8150:8150" + LINKS="--link aaf-cass --link aaf-service --link aaf-locate --link aaf-oauth" + CMD_LINE="cd /opt/app/aaf && /bin/bash bin/pod_wait.sh aaf-cm aaf-locate && exec 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" + "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") - 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" + 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" ;; - esac + "hello") + LINKS="--link aaf-service --link aaf-locate --link aaf-oauth --link aaf-cm" + CONFIG="-v aaf_hello_config:/opt/app/osaaf/local" - echo Starting aaf_$AAF_COMPONENT... + # Since Helm based element have init-containers, take the same approach here. + if [ -z "$(docker volume ls | grep aaf_hello_config)" ]; then + echo Init Hello Config Container - if [ -n "$AAF_REGISTER_AS" ] && [ "$HOSTNAME" != "$AAF_REGISTER_AS" ]; then - AH_ROOT="$HOSTNAME $AAF_REGISTER_AS" - else - AH_ROOT="$HOSTNAME" - fi + echo -n "Creating Volume: " + $DOCKER volume create -d local aaf_hello_config - for A in aaf.osaaf.org $AH_ROOT; do - ADD_HOST="$ADD_HOST --add-host=$A:$HOST_IP" - done + $DOCKER run --rm --name aaf_hello_config ${LINKS} \ + $CONFIG \ + --env AAF_FQDN=$HOSTNAME \ + --env DEPLOY_FQI=deployer@people.osaaf.org \ + --env DEPLOY_PASSWORD=demo123456! \ + --env APP_FQI=aaf@aaf.osaaf.org \ + --env APP_FQDN=aaf-hello \ + --env LATITUDE=$LATITUDE \ + --env LONGITUDE=$LONGITUDE \ + --env aaf_locator_container_ns=onap \ + --env aaf_locator_container=docker \ + $LINKS \ + "${PREFIX}${ORG}/${PROJECT}/aaf_agent:${VERSION}" \ + bash -c "bash /opt/app/aaf_config/bin/agent.sh && chown -R ${DUSER}:${DUSER} /opt/app/osaaf/local" + fi - if [ ! -z "$LINKS" ] && [[ "$CASS_HOST" =~ ":" ]]; then - ADD_HOST="$ADD_HOST --add-host=$CASS_HOST" - fi - $DOCKER run \ + PUBLISH="--publish 8130:8130" + #CMD_LINE="cd /opt/app/aaf && /bin/bash bin/pod_wait.sh aaf-hello aaf-locate aaf-cm && sleep 240" + CMD_LINE="cd /opt/app/aaf && /bin/bash bin/pod_wait.sh aaf-hello aaf-locate aaf-cm && exec bin/hello" + IMAGE="${PREFIX}${ORG}/${PROJECT}/aaf_hello:${VERSION}" + ;; + esac + + echo Starting aaf-$AAF_COMPONENT... + + $DOCKER run \ -d \ - --name aaf_$AAF_COMPONENT \ - --hostname="${AAF_COMPONENT}.aaf.osaaf.org" \ - $ADD_HOST \ + ${THE_USER} \ + --name aaf-$AAF_COMPONENT \ ${LINKS} \ --env AAF_ENV=${AAF_ENV} \ - --env AAF_REGISTER_AS=${AAF_REGISTER_AS} \ + --env aaf_locator_container=docker \ + --env aaf_locator_container_ns=${NAMESPACE} \ + --env aaf_locator_fqdn=${HOSTNAME} \ + --env aaf_locator_public_fqdn=${HOSTNAME} \ + --env aaf_deployed_version=${VERSION} \ --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 + $PUBLISH \ + $CONFIG \ + $IMAGE \ + /bin/bash -c "$CMD_LINE" + done