blob: eb1888c17a1ccffdbc322a8e5077c89c9abccecd [file] [log] [blame]
Instrumental9ec28952018-07-12 11:14:10 -05001#!/bin/bash
Instrumental7a1817b2018-11-05 11:11:15 -06002#########
3# ============LICENSE_START====================================================
4# org.onap.aaf
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
11#
12# http://www.apache.org/licenses/LICENSE-2.0
13#
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====================================================
20#
Instrumental21872892018-12-12 17:16:30 -060021
22
Instrumental32cdd552018-07-19 13:29:32 -050023# Fill out "aaf.props" if not filled out already
24if [ ! -e aaf.props ]; then
25 > ./aaf.props
26fi
Instrumental5b373752018-07-23 10:49:55 -050027
28. ./aaf.props
29
Instrumental21872892018-12-12 17:16:30 -060030DOCKER=${DOCKER:=docker}
Instrumental13b7a3b2019-03-14 13:36:18 -050031CADI_VERSION=${CADI_VERSION:=2.1.11-SNAPSHOT}
Instrumentalca323312018-08-15 04:57:04 -050032
Instrumental2b46f762019-02-20 11:14:41 -060033for V in VERSION DOCKER_REPOSITORY HOSTNAME CONTAINER_NS AAF_FQDN AAF_FQDN_IP DEPLOY_FQI APP_FQDN APP_FQI VOLUME DRIVER LATITUDE LONGITUDE; do
Instrumental32cdd552018-07-19 13:29:32 -050034 if [ "$(grep $V ./aaf.props)" = "" ]; then
35 unset DEF
36 case $V in
Instrumentalca323312018-08-15 04:57:04 -050037 DOCKER_REPOSITORY)
Instrumental21872892018-12-12 17:16:30 -060038 PROMPT="Docker Repo"
Instrumental7f1e2c02019-02-18 10:06:21 -060039 DEF="nexus3.onap.org:10003"
Instrumental21872892018-12-12 17:16:30 -060040 ;;
Instrumental12414fe2019-01-22 10:27:32 -060041 HOSTNAME)
42 PROMPT="HOSTNAME (blank for Default)"
43 DEF=""
44 ;;
Instrumental21872892018-12-12 17:16:30 -060045 AAF_FQDN) PROMPT="AAF's FQDN";;
46 DEPLOY_FQI) PROMPT="Deployer's FQI";;
Instrumental5b373752018-07-23 10:49:55 -050047 AAF_FQDN_IP)
Instrumental21872892018-12-12 17:16:30 -060048 # Need AAF_FQDN's IP, because not might not be available in mini-container
49 PROMPT="AAF FQDN IP"
Instrumental7f1e2c02019-02-18 10:06:21 -060050 LOOKUP=$(host "${AAF_FQDN}" | grep "has address")
Instrumentalbf3d3072019-02-18 14:01:07 -060051 if [ -n "${LOOKUP}" ]; then
Instrumental7f1e2c02019-02-18 10:06:21 -060052 DEF=$(echo ${LOOKUP} | tail -1 | cut -f 4 -d ' ')
53 fi
Instrumental21872892018-12-12 17:16:30 -060054 ;;
Instrumentalbf3d3072019-02-18 14:01:07 -060055 APP_FQDN) PROMPT="App's Root FQDN";;
56 APP_FQI) PROMPT="App's FQI"
57 if [[ "${APP_FQDN}" != *"."* ]]; then
58 DEF="${APP_FQDN}@${APP_FQDN}.onap.org"
59 fi
60 ;;
61 VOLUME) PROMPT="APP's AAF Configuration Volume"
62 if [[ "${APP_FQDN}" != *"."* ]]; then
63 DEF="${APP_FQDN}_config"
64 fi
65 ;;
Instrumental32cdd552018-07-19 13:29:32 -050066 DRIVER) PROMPT=$V;DEF=local;;
Instrumental2b46f762019-02-20 11:14:41 -060067 CONTAINER_NS)
68 PROMPT=$V;DEF=onap;;
Instrumental21872892018-12-12 17:16:30 -060069 VERSION) PROMPT="CADI Version";DEF=$CADI_VERSION;;
Instrumental32cdd552018-07-19 13:29:32 -050070 LATITUDE|LONGITUDE) PROMPT="$V of Node";;
71 *) PROMPT=$V;;
72 esac
73 if [ "$DEF" = "" ]; then
74 PROMPT="$PROMPT: "
75 else
76 PROMPT="$PROMPT ($DEF): "
77 fi
78 read -p "$PROMPT" VAR
79 if [ "$VAR" = "" ]; then
80 if [ "$DEF" = "" ]; then
Instrumental12414fe2019-01-22 10:27:32 -060081 if [ "$V" != "HOSTNAME" ]; then
82 echo "agent.sh needs each value queried. Please start again."
83 exit
84 fi
Instrumental32cdd552018-07-19 13:29:32 -050085 else
86 VAR=$DEF
87 fi
88 fi
89 echo "$V=$VAR" >> ./aaf.props
Instrumental7f1e2c02019-02-18 10:06:21 -060090 declare "$V"="$VAR"
Instrumental32cdd552018-07-19 13:29:32 -050091 fi
92done
93. ./aaf.props
94
Instrumental21872892018-12-12 17:16:30 -060095# Make sure Container Volume exists
96if [ "$($DOCKER volume ls | grep ${VOLUME})" = "" ]; then
97 echo -n "Creating Volume: "
98 $DOCKER volume create -d ${DRIVER} ${VOLUME}
99fi
100
Instrumental365638c2018-10-01 15:26:03 -0500101if [ -n "$DOCKER_REPOSITORY" ]; then
102 PREFIX="$DOCKER_REPOSITORY/"
103else
104 PREFIX=""
105fi
106
Instrumental628b7102019-02-15 19:40:04 -0600107function run_it() {
Instrumental628b7102019-02-15 19:40:04 -0600108 if [ -n "${DUSER}" ]; then
109 USER_LINE="--user ${DUSER}"
110 fi
111 $DOCKER run -it --rm \
112 ${USER_LINE} \
Instrumental94053612018-10-08 11:27:18 -0500113 -v "${VOLUME}:/opt/app/osaaf" \
Instrumentalc23f2cd2018-07-20 20:27:49 -0500114 --add-host="$AAF_FQDN:$AAF_FQDN_IP" \
Instrumental32cdd552018-07-19 13:29:32 -0500115 --env AAF_FQDN=${AAF_FQDN} \
116 --env DEPLOY_FQI=${DEPLOY_FQI} \
117 --env DEPLOY_PASSWORD=${DEPLOY_PASSWORD} \
118 --env APP_FQI=${APP_FQI} \
119 --env APP_FQDN=${APP_FQDN} \
Instrumental9c8a8b02018-07-16 18:41:10 -0500120 --env LATITUDE=${LATITUDE} \
121 --env LONGITUDE=${LONGITUDE} \
Instrumental2b46f762019-02-20 11:14:41 -0600122 --env aaf_locator_container_ns=${CONTAINER_NS} \
Instrumentalbe7e0d12019-04-04 21:42:19 -0500123 --env aaf_locator_container=docker \
Instrumental628b7102019-02-15 19:40:04 -0600124 --name aaf-agent-$USER \
Instrumental365638c2018-10-01 15:26:03 -0500125 "$PREFIX"onap/aaf/aaf_agent:$VERSION \
Instrumental628b7102019-02-15 19:40:04 -0600126 bash -c "bash /opt/app/aaf_config/bin/agent.sh $PARAMS"
127}
128
Instrumentalce76c7d2019-02-21 07:18:51 -0600129function sso {
130 if [ -n "$2" ]; then
Instrumentalf54a4aa2019-02-22 01:18:51 -0600131 echo "$1=$2" >> $HOME/.aaf/sso.props
Instrumentalce76c7d2019-02-21 07:18:51 -0600132 fi
133}
134
135function reset_sso {
136 mkdir -p ~/.aaf
Instrumentalf54a4aa2019-02-22 01:18:51 -0600137 > $HOME/.aaf/sso.props
Instrumentalce76c7d2019-02-21 07:18:51 -0600138 sso aaf_locate_url "https://$AAF_FQDN:8095"
139 sso cadi_latitude "$LATITUDE"
140 sso cadi_longitude "$LONGITUDE"
141 sso cadi_loglevel "DEBUG"
142 TRUSTSTORE="$(ls truststore*.jks | tail -1)"
143 if [ -z "$TRUSTSTORE" ]; then
144 echo "Place a truststore*.jar which has YOUR CA in it here"
145 exit
146 fi
147 sso cadi_truststore "${PWD}/${TRUSTSTORE}"
148 sso cadi_truststore_password changeit
149}
150
Instrumental628b7102019-02-15 19:40:04 -0600151PARAMS=$@
152case "$1" in
153 bash)
154 PARAMS="&& cd /opt/app/osaaf/local && exec bash"
155 run_it -it --rm
156 ;;
Instrumental7f1e2c02019-02-18 10:06:21 -0600157 taillog)
158 run_it -it --rm
159 ;;
Instrumentalce76c7d2019-02-21 07:18:51 -0600160 aafcli)
161 shift
162 reset_sso
Instrumentalaae5c072019-03-29 15:42:37 -0500163 if [ -f aaf-cadi-aaf-$VERSION-full.jar ]; then
164 java -Dcadi_prop_files="$HOME/.aaf/sso.props" -jar aaf-cadi-aaf-$VERSION-full.jar $@
Instrumentalce76c7d2019-02-21 07:18:51 -0600165 else
Instrumentalaae5c072019-03-29 15:42:37 -0500166 echo "For local use, you need to have 'aaf-cadi-aaf-$VERSION-full.jar' (or newer)"
Instrumentalce76c7d2019-02-21 07:18:51 -0600167 fi
168 ;;
169 local)
170 shift
171 CMD="$1"
172 if [ -z "$2" ]; then
173 CMD="$CMD $APP_FQI $APP_FQDN"
174 else
175 if [ "-" = "$2" ]; then
176 CMD="$CMD $APP_FQI"
177 else
178 CMD="$CMD $2"
179 fi
180 if [ "-" = "$3" ]; then
181 CMD="$CMD $APP_FQDN"
182 else
183 CMD="$CMD $3"
184 fi
185 fi
186 reset_sso
187 sso aaf_id "$DEPLOY_FQI"
188 sso aaf_password "$DEPLOY_PASSWORD"
Instrumentalaae5c072019-03-29 15:42:37 -0500189 if [ -f aaf-cadi-aaf-$VERSION-full.jar ]; then
190 java -Dcadi_prop_files="$HOME/.aaf/sso.props" -cp aaf-cadi-aaf-$VERSION-full.jar org.onap.aaf.cadi.configure.Agent $CMD
Instrumentalce76c7d2019-02-21 07:18:51 -0600191 else
Instrumentalaae5c072019-03-29 15:42:37 -0500192 echo "For local use, you need to have 'aaf-cadi-aaf-$VERSION-full.jar' (or newer)"
Instrumentalce76c7d2019-02-21 07:18:51 -0600193 fi
194 ;;
Instrumental628b7102019-02-15 19:40:04 -0600195 *)
196 run_it --rm
197 ;;
198esac
199