\r
Environment\r
-----------\r
-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.\r
+\r
+Message Router is developed using Kafka, Zookeeper and Java. AJSC framework is\r
+used to create the REST service and Docker was used to package the service.\r
\r
Steps\r
-----\r
+\r
Message Router has 3 docker containers. Dmaap\_container,\r
kafka\_container and zookeeper\_container. Zookeeper runs on 172.18.0.2,\r
kafka runs on 172.18.0.3 and dmaap on 172.18.0.4.\r
\r
1) Clone message service repo\r
\r
- git clone http://gerrit.onap.org/r/dmaap/messagerouter/messageservice\r
+ .. code-block::\r
+\r
+ git clone http://gerrit.onap.org/r/dmaap/messagerouter/messageservice\r
\r
-2) copy\r
- messageservice/bundleconfig-local/etc/appprops/MsgRtrApi.properties\r
+2) copy messageservice/bundleconfig-local/etc/appprops/MsgRtrApi.properties\r
to /var/tmp directory\r
\r
3) In /var/tmp/MsgRtrApi.properties, change value of below variables as\r
shown below:\r
\r
- config.zk.servers=172.18.0.2(Change as per where ZooKeepeer is deployed)\r
+ .. code-block::\r
\r
- kafka.metadata.broker.list=172.18.0.3:9092(Change as per where Kafka is deployed)\r
+ config.zk.servers=172.18.0.2 (Change as per where ZooKeepeer is deployed)\r
+ kafka.metadata.broker.list=172.18.0.3:9092 (Change as per where Kafka is deployed)\r
\r
4) Install docker and docker-compose\r
\r
5) Go to messageservice/src/main/resources/docker-compose and run:\r
- \r
- .. code:: bash\r
- \r
- docker-compose up # add -d argument to start process as a daemon (background process)\r
+\r
+ .. code-block::\r
+ \r
+ docker-compose up # add -d argument to start process as a daemon (background process)\r
+ \r
\r
This should start 3 containers.\r
\r
6) Run docker ps. It should show 3 containers.\r
\r
|image0|\r
- \r
+\r
.. |image0| image:: docker.png\r
- \r
+ \r
Testing\r
-------\r
\r
- For publishing, create a sample.txt file with some content in the\r
directory where you will run below rest api. Run below rest api:\r
\r
- curl -H "Content-Type:text/plain" -X POST -d @sample.txt\r
- http://172.18.0.4:3904/events/TestTopic1\r
+ .. code-block::\r
+\r
+ curl -H "Content-Type:text/plain" -X POST -d @sample.txt http://172.18.0.4:3904/events/TestTopic1\r
\r
- For subscribing, run below rest api:\r
\r
- curl -H "Content-Type:text/plain" -XGET\r
- http://172.18.0.4:3904/events/TestTopic1/CG1/C1?timeout=1000\r
+ .. code-block::\r
+\r
+ curl -H "Content-Type:text/plain" -XGET http://172.18.0.4:3904/events/TestTopic1/CG1/C1?timeout=1000\r
+\r
\r
Note: You will only receive messages which have been published after\r
you have subscribed to a topic.\r
\r
\r
Steps for local development and test\r
-------------------------\r
+------------------------------------\r
+\r
On Intel dev machine, in terminal (> indicates prompt) :\r
+\r
1) Build kafka11aaf\r
- > git clone https://gerrit.onap.org/r/dmaap/kafka\r
- > cd kafka11aaf\r
- > mvn clean install -Pdocker\r
+\r
+ .. code-block::\r
+\r
+ > git clone https://gerrit.onap.org/r/dmaap/kafka\r
+ > cd kafka11aaf\r
+ > mvn clean install -Pdocker\r
+\r
+\r
2) Build messageservice \r
- > git clone https://gerrit.onap.org/r/dmaap/messagerouter/messageservice\r
- - anonymous http, can't push changes\r
- > cd messageservice\r
- > mvn clean install -Pdocker\r
+\r
+ .. code-block::\r
+\r
+ > git clone https://gerrit.onap.org/r/dmaap/messagerouter/messageservice\r
+ (Note: anonymous http, can't push changes)\r
+ > cd messageservice\r
+ > mvn clean install -Pdocker\r
+\r
+\r
3) Run tests \r
- > cp bundleconfig-local/etc/appprops/MsgRtrApi.properties /var/tmp/\r
+\r
+ .. code-block::\r
+\r
+ > cp bundleconfig-local/etc/appprops/MsgRtrApi.properties /var/tmp/\r
+\r
+\r
- edit /var/tmp/MsgRtrApi.properties\r
config.zk.servers=zookeeper\r
kafka.metadata.broker.list=kafka:9092\r
+\r
- docker-compose network maps service name(zookeeper, kafka) to IP\r
+\r
- set docker preferences/file sharing to access /var/tmp\r
+ \r
> cd src/main/resources/docker-compose\r
+\r
- edit docker-compose.yml\r
- remove "nexus3.onap.org:10001/" from kafka and dmaap image names to \r
use local images\r
+ \r
> docker-compose up -d\r
- create sample.txt file (as above)(content of file not important)\r
+ \r
> curl -H "Content-Type:text/plain" -X POST -d @sample.txt http://localhost:3904/events/TestTopic1\r
\r
On Arm:\r
+\r
1) Build kafka11aaf\r
- > git clone https://gerrit.onap.org/r/dmaap/kafka\r
+\r
+ .. code-block::\r
+\r
+ > git clone https://gerrit.onap.org/r/dmaap/kafka\r
+ \r
> cd kafka11aaf\r
+ \r
> mvn clean install -Pdocker -Ddocker.pull.registry=docker.io\r
- ensure we pull Arm version of base image\r
+\r
+\r
2) Build messageservice \r
+\r
+ .. code-block::\r
+\r
> git clone https://gerrit.onap.org/r/dmaap/messagerouter/messageservice\r
- anonymous http, can't push changes\r
+ \r
> cd messageservice\r
+ \r
> mvn clean install -Pdocker -Ddocker.pull.registry=docker.io\r
- ensure we pull Arm version of base image\r
+\r
+\r
3) Run tests \r
+\r
+ .. code-block::\r
+\r
> cp bundleconfig-local/etc/appprops/MsgRtrApi.properties /var/tmp/\r
+\r
- edit /var/tmp/MsgRtrApi.properties\r
config.zk.servers=zookeeper\r
kafka.metadata.broker.list=kafka:9092\r
+\r
- docker-compose network maps service name(zookeeper, kafka) to IP\r
+\r
- set docker preferences/file sharing to access /var/tmp\r
+ \r
> cd src/main/resources/docker-compose\r
- edit docker-compose.yml\r
+\r
- remove "nexus3.onap.org:10001/" from from kafka and dmaap image names to \r
use local images\r
+\r
- replace 'nexus3.onap.org:10001/onap/dmaap/zookeeper:1.0.0' with\r
multi-platform 'zookeeper'\r
+ \r
> docker-compose up -d\r
+\r
- create sample.txt file (as above)(content of file not important)\r
+ \r
> curl -H "Content-Type:text/plain" -X POST -d @sample.txt http://localhost:3904/events/TestTopic1\r
-\r
- \r