blob: d1de3e16f2e294b050d8b57848c637553bc72c2e [file] [log] [blame]
#!/bin/sh
#
# ============LICENSE_START==========================================
# org.onap.dmaap
# ===================================================================
# Copyright © 2019 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============================================
# ECOMP is a trademark and service mark of AT&T Intellectual Property.
#
#
umask 0022
TZ=GMT0
COMPONENT=dbc-client
APP_ROOT=${APP_ROOT:-/opt/app/$COMPONENT}
export TZ
PATH=/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin
export PATH
CONFIGMAP_ROOT=${CONFIGMAP_ROOT:-/opt/app/config}
CONTAINER_CONFIG=$CONFIGMAP_ROOT/conf/dbc-client.env
REQUESTID=${REQUESTID:-dbc-client}
DBC=${DBC:-dmaap-bc}
PROTO=${PROTO:-https}
PORT=${PORT:-8443}
WAIT_TO_EXIT=${WAIT_TO_EXIT:-N}
PEMDIR=${PEMDIR:-/opt/app/osaaf/local}
CAPEM=${CAPEM:-ca.pem}
CLIENTPEM=${CLIENTPEM:-client.pem}
KEYPEM=${KEYPEM:-key.pem}
CERTPWD=${CERTPWD:-'2U[iOZzMHI:.#tdCwlBqc;}S'}
AUTH_METHOD=${AUTH_METHOD:-basicAuth}
BA_IDENTITY=${BA_IDENTITY:-dmaap-bc@dmaap-bc.onap.org}
BA_PWD=${BA_PWD:-'demo123456!'}
config() {
echo "ENTER config"
set -x
if [ ! -d $APP_ROOT ]
then
echo "Expected app root directory $APP_ROOT does not exist"
exit 1
fi
cd $PEMDIR
pwd
ls -l
echo "AUTH_METHOD=$AUTH_METHOD"
if [ "$AUTH_METHOD" = "basicAuth" ]
then
echo "-u ${BA_IDENTITY}:${BA_PWD}" > $PEMDIR/curl.cred
CURLCRED="-K $PEMDIR/curl.cred"
elif [ -f $CAPEM -a -f $CLIENTPEM -a -f $KEYPEM ]
then
printf "key \"$PEMDIR/$KEYPEM\"\ncacert \"$PEMDIR/$CAPEM\"\ncert \"$PEMDIR/${CLIENTPEM}:${CERTPWD}\"" > $PEMDIR/curl.cred
CURLCRED="-K $PEMDIR/curl.cred"
else
echo "Warning: PEM files for authorization not found!"
CURLCRED=""
fi
echo "CURLCRED=$CURLCRED"
cd $APP_ROOT
find . -type f -exec ls -l {} \;
find $CONFIGMAP_ROOT -type f -exec ls -l {} \;
if [ ! -f $CONTAINER_CONFIG ]
then
echo "WARNING: Expected env file $CONTAINER_CONFIG not found. Default behaviors in effect"
else
source $CONTAINER_CONFIG
fi
if [ "$WAIT_TO_EXIT" != "Y" ]
then
echo "Creating $APP_ROOT/ok_to_exit so no waiting..."
> $APP_ROOT/ok_to_exit
else
echo "Not creating $APP_ROOT/ok_to_exit"
fi
set +x
}
init() {
set -x
echo "ENTER init"
if [ ! -d $CONFIGMAP_ROOT ]
then
echo $CONFIGMAP_ROOT does not exist
return
fi
#loop on get /dmaap until we get a good response to indicate other provisioning can continue
rc=${RESP:-999}
while [ $rc != "200" ]
do
sleep 10
rc=`curl $CURLCRED -s -o /dev/null -I -w "%{http_code}" -X GET -H "X-ECOMP-RequestID: $REQUESTID" -H "Content-Type: application/json" ${PROTO}://${DBC}:${PORT}/webapi/dmaap`
echo "get dmaap response=${rc}"
done
set +x
}
dopost() {
set -x
RETRY_TIME=60
loop=true
while [ $loop = true ]
do
rc=`curl $CURLCRED -s -X POST -w "%{http_code}" -H "X-ECOMP-RequestID: $REQUESTID" -H "Content-Type: application/json" -d @${1} ${PROTO}://${DBC}:${PORT}/webapi/${2} -o /dev/null`
case $rc in
200 | 201 | 409 )
echo "response=$rc"
loop=false
;;
* )
echo "`date`: http response=$rc. Will retry after $RETRY_TIME seconds"
sleep $RETRY_TIME
;;
esac
done
set +x
}
doprov() {
set -x
cd $CONFIGMAP_ROOT
pwd
# order is important in this next list
for uri in dmaap dcaeLocations mr_clusters topics mr_clients dr_nodes feeds dr_pubs dr_subs
do
if [ -d ${uri} ]
then
for j in `ls ${uri}/*.json`
do
echo "POST $j to $uri"
dopost $j $uri
done
fi
done
set +x
}
delay() {
echo "DELAY=$DELAY"
if [ ! -z "$DELAY" ]
then
sleep $DELAY
fi
}
delay
config
init
doprov
echo "Check $APP_ROOT/ok_to_exit"
while [ ! -f $APP_ROOT/ok_to_exit ]
do
echo "$APP_ROOT/ok_to_exit does not exist. Sticking around for debugging..."
sleep 10
done
exit 0