#!/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