aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/dmaap-buscontroller/dmaapbc-init.sh
blob: 804603f2bd740c022fcd705666ef4b0fed96d774 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
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