Move CSIT to integration/csit repo
[integration/csit.git] / scripts / dmaap-buscontroller / dmaapbc-init.sh
diff --git a/scripts/dmaap-buscontroller/dmaapbc-init.sh b/scripts/dmaap-buscontroller/dmaapbc-init.sh
new file mode 100755 (executable)
index 0000000..804603f
--- /dev/null
@@ -0,0 +1,76 @@
+#!/bin/bash
+
+# $1 is the IP address of the buscontroller
+# $2 is the IP address of the DRPS
+# $3 is the IP address of the MRC
+# $4 is the protocol (defaults to http)
+
+PROTO=${4:-http}
+if [ "$PROTO" = "http" ]
+then
+       PORT=8080
+       CURLOPT="-v"
+       MRPORT=3904
+       DRPORT=8080
+else
+       PORT=8443
+       CURLOPT="-v -k"
+       MRPORT=3905
+       DRPORT=8443
+fi
+
+# INITIALIZE: dmaap object
+JSON=/tmp/$$.dmaap
+cat << EOF > $JSON
+{
+       "version": "1",
+       "topicNsRoot": "org.onap.dmaap",
+       "drProvUrl": "${PROTO}://dmaap-dr-prov:${DRPORT}",
+       "dmaapName": "onapCSIT",
+       "bridgeAdminTopic": "MM_AGENT_PROV"
+
+}
+EOF
+
+echo "Initializing /dmaap endpoint"
+curl ${CURLOPT} -X POST -d @${JSON} -H "Content-Type: application/json" ${PROTO}://$1:${PORT}/webapi/dmaap 
+
+
+
+# INITIALIZE: dcaeLocation object
+JSON=/tmp/$$.loc
+cat << EOF > $JSON
+{
+       "dcaeLocationName": "csit-sanfrancisco",
+       "dcaeLayer": "central-cloud",
+       "clli": "CSIT12345",
+       "zone": "zoneA"
+
+}
+EOF
+
+echo "Initializing /dcaeLocations endpoint"
+curl ${CURLOPT} -X POST -d @${JSON} -H "Content-Type: application/json" ${PROTO}://$1:${PORT}/webapi/dcaeLocations 
+
+
+# INITIALIZE: MR object in 1 site
+# since MR is currently deployed via docker-compose, its IP doesn't seem
+# to be routable from DBCL. Fortunately, the MR port is mapped from the docker bridge IP address.
+# Found this article for how to deterine the docker bridge IP so using it as a workaround.
+# https://stackoverflow.com/questions/22944631/how-to-get-the-ip-address-of-the-docker-host-from-inside-a-docker-container
+# Used the following snippet found buried in a comment to an answer and then modified for only 1 value.
+DOCKER_HOST=$(ip -4 addr show docker0 | grep -Po 'inet \K[\d.]+' | head -1 )
+# Perhaps there is a better way...
+JSON=/tmp/$$.mrc
+cat << EOF > $JSON
+{
+       "dcaeLocationName": "csit-sanfrancisco",
+       "fqdn": "$DOCKER_HOST",
+       "topicProtocol" : "http",
+       "topicPort": "${MRPORT}"
+
+}
+EOF
+
+echo "Initializing /mr_clusters endpoint"
+curl ${CURLOPT} -X POST -d @${JSON} -H "Content-Type: application/json" ${PROTO}://$1:${PORT}/webapi/mr_clusters