3 # ============LICENSE_START====================================================
5 # ===========================================================================
6 # Copyright (c) 2017 AT&T Intellectual Property. All rights reserved.
7 # ===========================================================================
8 # Licensed under the Apache License, Version 2.0 (the "License");
9 # you may not use this file except in compliance with the License.
10 # You may obtain a copy of the License at
12 # http://www.apache.org/licenses/LICENSE-2.0
14 # Unless required by applicable law or agreed to in writing, software
15 # distributed under the License is distributed on an "AS IS" BASIS,
16 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 # See the License for the specific language governing permissions and
18 # limitations under the License.
19 # ============LICENSE_END====================================================
21 # Pull in Variables from d.props
24 CASSANDRA_CLUSTER=${CASSANDRA_CLUSTER:=$CASSANDRA_DOCKER}
26 DOCKER=${DOCKER:=docker}
28 # Running without params keeps from being TTY
31 if [ "$1" == "" ]; then
32 AAF_COMPONENTS=$(cat components)
37 # All the NORMAL services use common directory
38 # remove this for Hello, which we want non shared
39 CONFIG="-v aaf_config:$CONF_ROOT_DIR"
40 if [ -n "${DUSER}" ]; then
41 THE_USER="--user $DUSER"
43 IMAGE="${PREFIX}${ORG}/${PROJECT}/aaf_core:${VERSION}"
45 for AAF_COMPONENT in ${AAF_COMPONENTS}; do
49 case "$AAF_COMPONENT" in
51 PUBLISH="--publish 8100:8100"
52 if [ -z "$CASSANDRA_DOCKER" ]; then
53 CMD_LINE="cd /opt/app/aaf && /bin/bash bin/pod_wait.sh aaf-service && exec bin/service"
55 CMD_LINE="cd /opt/app/aaf && /bin/bash bin/pod_wait.sh aaf-service aaf-cass && exec bin/service"
56 LINKS="--link $CASSANDRA_DOCKER"
57 echo $CASSANDRA_CLUSTER
61 PUBLISH="--publish 8095:8095"
62 LINKS="--link aaf-cass --link aaf-service"
63 CMD_LINE="cd /opt/app/aaf && /bin/bash bin/pod_wait.sh aaf-locate aaf-service && exec bin/locate"
66 PUBLISH="--publish 8140:8140"
67 LINKS="--link aaf-cass --link aaf-service --link aaf-locate"
68 CMD_LINE="cd /opt/app/aaf && /bin/bash bin/pod_wait.sh aaf-oauth aaf-service && exec bin/oauth"
71 PUBLISH="--publish 8150:8150"
72 LINKS="--link aaf-cass --link aaf-service --link aaf-locate --link aaf-oauth"
73 CMD_LINE="cd /opt/app/aaf && /bin/bash bin/pod_wait.sh aaf-cm aaf-locate && exec bin/cm"
76 PUBLISH="--publish 8200:8200"
77 LINKS="--link aaf-service --link aaf-locate --link aaf-oauth --link aaf-cm"
78 CMD_LINE="cd /opt/app/aaf && /bin/bash bin/pod_wait.sh aaf-gui aaf-locate && exec bin/gui"
81 PUBLISH="--publish 80:8096"
82 LINKS="--link aaf-locate"
83 CMD_LINE="cd /opt/app/aaf && /bin/bash bin/pod_wait.sh aaf-fs aaf-locate && exec bin/fs"
86 LINKS="--link aaf-service --link aaf-locate --link aaf-oauth --link aaf-cm"
87 CONFIG="-v aaf_hello_config:/opt/app/osaaf/local"
89 # Since Helm based element have init-containers, take the same approach here.
90 if [ -z "$(docker volume ls | grep aaf_hello_config)" ]; then
91 echo Init Hello Config Container
93 echo -n "Creating Volume: "
94 $DOCKER volume create -d local aaf_hello_config
96 $DOCKER run --rm --name aaf_hello_config ${LINKS} \
98 --env AAF_FQDN=$HOSTNAME \
99 --env DEPLOY_FQI=deployer@people.osaaf.org \
100 --env DEPLOY_PASSWORD=demo123456! \
101 --env APP_FQI=aaf@aaf.osaaf.org \
102 --env APP_FQDN=aaf-hello \
103 --env LATITUDE=$LATITUDE \
104 --env LONGITUDE=$LONGITUDE \
105 --env aaf_locator_container_ns=onap \
106 --env aaf_locator_container=docker \
108 "${PREFIX}${ORG}/${PROJECT}/aaf_agent:${VERSION}" \
109 bash -c "bash /opt/app/aaf_config/bin/agent.sh && chown -R ${DUSER}:${DUSER} /opt/app/osaaf/local"
112 PUBLISH="--publish 8130:8130"
113 #CMD_LINE="cd /opt/app/aaf && /bin/bash bin/pod_wait.sh aaf-hello aaf-locate aaf-cm && sleep 240"
114 CMD_LINE="cd /opt/app/aaf && /bin/bash bin/pod_wait.sh aaf-hello aaf-locate aaf-cm && exec bin/hello"
115 IMAGE="${PREFIX}${ORG}/${PROJECT}/aaf_hello:${VERSION}"
119 echo Starting aaf-$AAF_COMPONENT...
124 --name aaf-$AAF_COMPONENT \
126 --env AAF_ENV=${AAF_ENV} \
127 --env aaf_locator_container=docker \
128 --env aaf_locator_container_ns=${NAMESPACE} \
129 --env aaf_locator_fqdn=${HOSTNAME} \
130 --env aaf_locator_public_fqdn=${HOSTNAME} \
131 --env aaf_deployed_version=${VERSION} \
132 --env LATITUDE=${LATITUDE} \
133 --env LONGITUDE=${LONGITUDE} \
134 --env CASSANDRA_CLUSTER=${CASSANDRA_CLUSTER} \
135 --env CASSANDRA_USER=${CASSANDRA_USER} \
136 --env CASSANDRA_PASSWORD=${CASSANDRA_PASSWORD} \
137 --env CASSANDRA_PORT=${CASSANDRA_PORT} \
138 -v "aaf_status:/opt/app/aaf/status" \
142 /bin/bash -c "$CMD_LINE"