blob: 53d9fd29cde019786da0ba0b021c669704a22568 (
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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
|
.. This work is licensed under a Creative Commons Attribution 4.0 International License.
.. http://creativecommons.org/licenses/by/4.0
Installation
============
Environment
-----------
Message Router is developed using Kafka, Zookeeper and Java. AJSC framework is used to create the REST service and Docker was used to package the service.
Steps
-----
Message Router has 3 docker containers. Dmaap\_container,
kafka\_container and zookeeper\_container. Zookeeper runs on 172.18.0.2,
kafka runs on 172.18.0.3 and dmaap on 172.18.0.4.
1) Clone message service repo
git clone http://gerrit.onap.org/r/dmaap/messagerouter/messageservice
2) copy
messageservice/bundleconfig-local/etc/appprops/MsgRtrApi.properties
to /var/tmp directory
3) In /var/tmp/MsgRtrApi.properties, change value of below variables as
shown below:
config.zk.servers=172.18.0.2(Change as per where ZooKeepeer is deployed)
kafka.metadata.broker.list=172.18.0.3:9092(Change as per where Kafka is deployed)
4) Install docker and docker-compose
5) Go to messageservice/src/main/resources/docker-compose and run:
.. code:: bash
docker-compose up # add -d argument to start process as a daemon (background process)
This should start 3 containers.
6) Run docker ps. It should show 3 containers.
|image0|
.. |image0| image:: docker.png
Testing
-------
- For publishing, create a sample.txt file with some content in the
directory where you will run below rest api. Run below rest api:
curl -H "Content-Type:text/plain" -X POST -d @sample.txt
http://172.18.0.4:3904/events/TestTopic1
- For subscribing, run below rest api:
curl -H "Content-Type:text/plain" -XGET
http://172.18.0.4:3904/events/TestTopic1/CG1/C1?timeout=1000
Note: You will only receive messages which have been published after
you have subscribed to a topic.
Steps for local development and test
------------------------
On Intel dev machine, in terminal (> indicates prompt) :
1) Build kafka11aaf
> git clone https://gerrit.onap.org/r/dmaap/kafka
> cd kafka11aaf
> mvn clean install -Pdocker
2) Build messageservice
> git clone https://gerrit.onap.org/r/dmaap/messagerouter/messageservice
- anonymous http, can't push changes
> cd messageservice
> mvn clean install -Pdocker
3) Run tests
> cp bundleconfig-local/etc/appprops/MsgRtrApi.properties /var/tmp/
- edit /var/tmp/MsgRtrApi.properties
config.zk.servers=zookeeper
kafka.metadata.broker.list=kafka:9092
- docker-compose network maps service name(zookeeper, kafka) to IP
- set docker preferences/file sharing to access /var/tmp
> cd src/main/resources/docker-compose
- edit docker-compose.yml
- remove "nexus3.onap.org:10001/" from kafka and dmaap image names to
use local images
> docker-compose up -d
- create sample.txt file (as above)(content of file not important)
> curl -H "Content-Type:text/plain" -X POST -d @sample.txt http://localhost:3904/events/TestTopic1
On Arm:
1) Build kafka11aaf
> git clone https://gerrit.onap.org/r/dmaap/kafka
> cd kafka11aaf
> mvn clean install -Pdocker -Ddocker.pull.registry=docker.io
- ensure we pull Arm version of base image
2) Build messageservice
> git clone https://gerrit.onap.org/r/dmaap/messagerouter/messageservice
- anonymous http, can't push changes
> cd messageservice
> mvn clean install -Pdocker -Ddocker.pull.registry=docker.io
- ensure we pull Arm version of base image
3) Run tests
> cp bundleconfig-local/etc/appprops/MsgRtrApi.properties /var/tmp/
- edit /var/tmp/MsgRtrApi.properties
config.zk.servers=zookeeper
kafka.metadata.broker.list=kafka:9092
- docker-compose network maps service name(zookeeper, kafka) to IP
- set docker preferences/file sharing to access /var/tmp
> cd src/main/resources/docker-compose
- edit docker-compose.yml
- remove "nexus3.onap.org:10001/" from from kafka and dmaap image names to
use local images
- replace 'nexus3.onap.org:10001/onap/dmaap/zookeeper:1.0.0' with
multi-platform 'zookeeper'
> docker-compose up -d
- create sample.txt file (as above)(content of file not important)
> curl -H "Content-Type:text/plain" -X POST -d @sample.txt http://localhost:3904/events/TestTopic1
|