dmaap/message router(MR)

Architecture

Capabilities

Message Router is a RESTful web service used for any needed action with Kaka.

Usage Scenarios

Message Router endpoints are used to create/view/delete a topic in Kafka. Clients can use the Message Router endpoints to publish a message to a topic and subscribe to a topic

Interactions

Message Service REST service uses the message service API to interact with the ZooKeeper/Kafka

image0

Offered APIs

DMaaP Message Router REST API Download docs

API name

Swagger JSON

DMaaP MessageRouter API

link

DMaaP Message Router API 4.0.0 (via swagger2doc)

Topic

POST /topics/create

Create a Topic

  • Description: AAF Permissions required to create authenticated topics: org.onap.dmaap.mr.topicFactory|:org.onap.dmaap.mr.topic:org.onap.dmaap.mr|create

  • Consumes: [‘application/json’]

  • Produces: [‘application/json’]

Parameters

Name

Position

Description

Type

body

body

Topic details

Responses

200 - successful operation

401 - unauthorized

403 - forbidden

409 - topic already exist

500 - failed to create a topic

GET /topics

Get all topics

  • Description:

  • Produces: [‘application/json’]

Responses

200 - successful operation

500 - failed to return the topics

GET /topics/{topicName}

Get individual topic details

  • Description:

  • Produces: [‘application/json’]

Parameters

Name

Position

Description

Type

topicName

path

topicName

string

Responses

200 - successful operation

404 - topic not found

500 - failed to return the topics

GET /topics/listAll

Get all topics list with details

  • Description:

  • Produces: [‘application/json’]

Responses

200 - successful operation

500 - failed to return the topics

GET /events/{topic}/{consumergroup}/{consumerid}

Get events from a topic

  • Description: Subscribe to a topic. If already subscribed read the events from the topic. Basic Auth header is required for subcribing to a topic. AAF permissions required for subscribing to a authenticated topic: org.onap.dmaap.mr.topic|:topic.<topic name>|sub

  • Produces: [‘application/json’]

Parameters

Name

Position

Description

Type

topic

path

topic name

string

consumergroup

path

consumer group

string

consumerid

path

consumer id

string

limit

query

limit on the number of messages returned

string

timeout

query

amount of time in ms server will open the connection with the Kafka while reading the messages

string

Responses

200 - successful operation

401 - unauthorized

403 - forbidden

409 - unable to read the messages from the topic

429 - Client is making too many requests. Decrease the number of requests to avoid empty response

500 - internal server error

POST /events/{topic}/

Post events to a topic

  • Description: post an event to a topic. Basic Auth header is required for subcribing to a topic. AAF permissions required for subscribing to a authenticated topic: org.onap.dmaap.mr.topic|:topic.<topic name>|pub

  • Consumes: [‘application/json’, ‘text/plain’]

  • Produces: [‘application/json’]

Parameters

Name

Position

Description

Type

topic

path

topic name

string

partitionKey

query

topic partitionkey

string

body

body

mesage/s to publish to a topic

Responses

200 - successful operation

400 - Invalid request

401 - unauthorized

403 - forbidden

404 - error while publishing to the topic

500 - internal server error

MirrorMaker

POST /mirrormakers/create

Create a Mirror Maker process and returns the all mirror maker processes

  • Description: AAF Permissions required: org.onap.dmaap.mr.mirrormaker|*|admin

  • Consumes: [‘application/json’]

  • Produces: [‘application/json’]

Parameters

Name

Position

Description

Type

body

body

Create Mirror Maker

Responses

200 - successful operation

400 - invalid request

401 - unauthorized

403 - forbidden

503 - list mirror maker not available

POST /mirrormakers/update

Update a Mirror Maker process and returns the all mirror maker processes

  • Description: AAF Permissions required: org.onap.dmaap.mr.mirrormaker|*|admin

  • Consumes: [‘application/json’]

  • Produces: [‘application/json’]

Parameters

Name

Position

Description

Type

body

body

Update Mirror Maker

Responses

200 - successful operation

400 - invalid request

401 - unauthorized

403 - forbidden

503 - list mirror maker not available

POST /mirrormakers/listAll

List of mirror maker processes

  • Description: AAF Permissions required: org.onap.dmaap.mr.mirrormaker|*|admin

  • Consumes: [‘application/json’]

  • Produces: [‘application/json’]

Parameters

Name

Position

Description

Type

body

body

List all Mirror Maker processes

Responses

200 - successful operation

400 - invalid request

401 - unauthorized

403 - forbidden

503 - list mirror maker not available

POST /mirrormakers/delete

Delete a mirror maker process and return the all mirror maker processes

  • Description: AAF Permissions required: org.onap.dmaap.mr.mirrormaker|*|admin

  • Consumes: [‘application/json’]

  • Produces: [‘application/json’]

Parameters

Name

Position

Description

Type

body

body

Delete a Mirror Maker process

Responses

200 - successful operation

400 - invalid request

401 - unauthorized

403 - forbidden

503 - list mirror maker not available

MirrorMaker Whitelist

POST /mirrormakers/createwhitelist

Add a new topic to a mirror maker whitelist and return all the mirror maker processes

  • Description: AAF Permissions required: rg.onap.dmaap.mr.mirrormaker|*|user , org.onap.dmaap.mr.topicFactory|:org.onap.dmaap.mr.topic:org.onap.dmaap.mr|create

  • Consumes: [‘application/json’]

  • Produces: [‘application/json’]

Parameters

Name

Position

Description

Type

body

body

Add a topic to whitelist

Responses

200 - successful operation

400 - invalid request

401 - unauthorized

403 - forbidden

503 - list mirror maker not available

POST /mirrormakers/listallwhitelist

List all whitelist

  • Description: AAF Permissions required: rg.onap.dmaap.mr.mirrormaker|*|user , org.onap.dmaap.mr.topicFactory|:org.onap.dmaap.mr.topic:org.onap.dmaap.mr|create

  • Consumes: [‘application/json’]

  • Produces: [‘application/json’]

Parameters

Name

Position

Description

Type

body

body

List all whitelist

Responses

200 - successful operation

400 - invalid request

401 - unauthorized

403 - forbidden

503 - list mirror maker not available

POST /mirrormakers/deletewhitelist

Delate a whitelist and returns the all lirror maker processes

  • Description: AAF Permissions required: rg.onap.dmaap.mr.mirrormaker|*|user , org.onap.dmaap.mr.topicFactory|:org.onap.dmaap.mr.topic:org.onap.dmaap.mr|create

  • Consumes: [‘application/json’]

  • Produces: [‘application/json’]

Parameters

Name

Position

Description

Type

body

body

List all whitelist

Responses

200 - successful operation

400 - invalid request

401 - unauthorized

403 - forbidden

503 - list mirror maker not available

Offered APIs

DMaaP Message Router utilizes an HTTP REST API to service all Publish and Consume transactions. HTTP and REST standards are followed so clients as varied as cURL, Java applications and even Web Browsers will work to interact with Message Router. Message Router uses AAF for user’s authentication and authorization.

General HTTP Requirements

A DMaaP Message Router transaction consists of 4 distinct segments: HTTP URL, HTTP Header, HTTP Body (POST) and HTTP Response. The general considerations for each segment are as follows and are required for each of the specific transactions described in this section.

HTTP URL

http[s]://serverBaseURL{/routing}{resourcePath}

  • The serverBaseURL points to DMaaP Message Router host/port that will service the request.

  • The resourcePath specifies the specific service, or Topic, that the client is attempting to reach

HTTP Header

Specifies HTTP Headers, such as Content-Type, that define the parameters of the HTTP Transaction

HTTP Body

The HTTP Body contains the topic content when Publishing or Consuming. The Body may contain topic messages in several formats (like below) but it must be noted, that, except in very specific circumstances, messages are not inspected for content.

Content-Type

Description

text/plain

Each line in the POST body is treated as a separate message. No partition key is specified, and therefore no order is guaranteed. This format is mainly for test, as messages are highly likely to be re-ordered when delivered through the Kafka cluster.

application/json

The payload maybe a single JSON object or a JSON array of JSON objects. Each object is handled as an individual message. Note that use of this format may result in equivalent but altered JSON objects sent to consumers. That’s because MR uses a standard JSON parser to read each object into memory before pushing the object to the Kafka system. At that point, the JSON object is re-written from the in-memory object. This can result in re-ordered fields or changes in whitespace. If you want to preserve JSON objects exactly, use application/cambria. Following the JSON format is recommended.

Publishers

Description: Publishes data to Kafka server on the topic mentioned in the URL. Messages will be in the request body

The MessageRouter service has no requirements on what publishers can put onto a topic. The messages are opaque to the service and are treated as raw bytes. In general, passing JSON messages is preferred, but this is due to higher-level features and related systems, not the MessageRouter broker itself.

Request URL

POST http(s)://{HOST:PORT}/events/{topicname}

Request Parameters

Name

Description

Param Type

Data type

Max Len

Required

Format

Valid/EXample values

Topicname

topic name to be posted

Path

String

40

Y

org.onap.dmaap.mr.testtopic

content-type

To specify type of message

Header

String

20

N

application/json

Username

userid

Header

String

N

Basic Authentication Header

Password

Header

String

N

Basic Authentication Header

partitionKey

QueryParam

String

N

String value

?Partitionkey=123

NOTE: To publish data to the authenticated topic, Publisher must

have the AAF permission org.onap.dmaap.mr.topic|:topic.<topic name>|pub.

Publishers may use DMaaP BusController for provisoning the AAF permissions

Response Parameters

Name

Description

Type

Format

Valid/Example Values

httpStatusCode

200, 201 etc.

mrErrorCode

Numeric error code

200, 201 etc.

errorMessage

SUCCESS, or error message.

helpURL

helpurl

transactionid

transaction-id value

Response /Error Codes

Response statusCode

Response statusMessage

200-299

Success

400-499

the client request has a problem

500-599

the DMaaP service has a problem

Error code

HTTPCode

Description

Issue Reason

DMaaP_MR_ERR_3001

413

Request Entity too large

Message size exceeds the batch limit <limit>. Reduce the batch size and try again

DMaaP_MR_ERR_3002

500

Internal Server Error

Unable to publish messages. Please contact administrator

DMaaP_MR_ERR_3003

400

Bad Request

Incorrect Batching format. Please correct the batching format and try again

DMaaP_MR_ERR_3004

413

Request Entity too large

Message size exceeds the message size limit <limit>. Reduce the message size and try again

DMaaP_MR_ERR_3005

400

Bad Request

Incorrect JSON object. Please correct the JSON format and try again

DMaaP_MR_ERR_3006

504

Network Connect Timeout Error

Connection to the DMaaP MR was timed out. Please try again

DMaaP_MR_ERR_3007

500

Internal Server Error

Failed to publish messages to topic <topicName>. Successfully published <count > number of messages.

Sample Request:

POST

Payload- {“message”:”message description”} Content-Type: application/json

Example:

curl -u XXXX@abc.com:X -H ‘Content-Type:text/plain’ -X POST -d @sampleMsg.txt

{ “count”: 1,

“serverTimeMs”: 19”

}

Sample Response:

HTTP/1.1 200 OK

Server: Apache-Coyote/1.1

transactionId: 28-12-2015::08:18:50:682::<IP>::28122015552391

Content-Type: application/json

Content-Length: 42

Date: Mon, 28 Dec 2015 13:18:50 GMT

Subscribers

Description: To subscribe to a MessageRouter topic, a subscriber issues a GET to the RESTful HTTP endpoint for events.

Request URL:

GET http(s)://{HOST:PORT}}/events/{topicname}/{consumergroup}/{consumerid}/{timeout=x}

Request Parameters:

Name

Description

Param Type

data type

MaxLen

Required

Format

Valid/Example Values

topicname

Topic name to be posted

Path

String

40

Y

consumergroup

A name that uniquely identifies your subscribers

Path

String

Y

CG1

consumerid

Within your subscribers group, a name that uniquely identifies your subscribers process

Path

String

Y

C1

content-type

To specify type of message content(json, text or cambria)

Header

String

20

N

application/json

Username

userid

Header

String

1

N

Password

Header

String

1

N

NOTE: To read data from an authenticated topic, User must have the AAF permission org.onap.dmaap.mr.topic|:topic.<topic name>|sub. Subscribers may use DMaaP BusController for provisioning the permissions in AAF

Response Parameters:

Name

Description

Type

Format

Valid/Example Values

httpStatusCode

200, 201 etc.

mrErrorCode

Numeric error code

200, 201 etc.

errorMessage

SUCCESS, or error message.

helpURL

helpurl

transactionid

transaction-id value

28-12-2015::08:18:50:682::<IP>::28122015552391

ResponseBody

Messages consumed from topic

Json

Json

Response /Error Codes

Response statusCode

Response statusMessage

200-299

Success

400-499

the client request has a problem

500-599

the DMaaP service has a problem

Error code

HTTPCode

Description

Issue Reason

DMaaP_MR_ERR_3008

413

Request Entity too large

Message size exceeds the batch limit <limit>.Reduce the batch size and try again

DMaaP_MR_ERR_3009

500

Internal Server Error

Unable to publish messages. Please contact administrator

DMaaP_MR_ERR_3010

400

Bad Request

Incorrect Batching format. Please correct the batching format and try again

DMaaP_MR_ERR_3011

413

Request Entity too large

Message size exceeds the message size limit <limit>.Reduce the message size and try again

DMaaP_MR_ERR_5012

429

Too many requests

This client is making too many requests. Please use a long poll setting to decrease the number of requests that result in empty responses.

503

Service Unavailable

Service Unavailable.

Sample Request:

Provisioning

Description: To create, modify or delete the MessageRouter topics. These APIs can also be used by other applications to provision topics in MessageRouter. DMaaP BusController is recommended for topic and AAF permissions provisioning

Create Topic
Request URL:

POST http(s)://{HOST:PORT}/topics/create

Request Parameters:
NOTE: To Create an authenticated topic, user must have the AAF permission

org.onap.dmaap.mr.topicFactory|:org.onap.dmaap.mr.topic:org.onap.dmaap.mr|create

Response statusCode

Response statusMessage

200-299

Success

400-499

the client request has a problem

500-599

the DMaaP service has a problem

Error code

HTTP Code

Description

DMaaP_MR_ERR_5001

500

Failed to retrieve list of all topics

DMaaP_MR_ERR_5002

500

Failed to retrieve details of topic:<topicName>

DMaaP_MR_ERR_5003

500

Failed to create topic:<topicName>

DMaaP_MR_ERR_5004

500

Failed to delete topic:<topicName>

Response Parameters

Name

Description

Type

Format

Valid/Example Values

httpStatusCode

200, 201 etc.

mrErrorCode

Numeric error code

5005

errorMessage

SUCCESS, or error message.

helpURL

helpurl

ResponseBody

Topic details (owner, trxEnabled=true)

Json

Json

Sample Request:
POST   http://<hostname>:3904/topics/create

Request Body {“topicName”:”org.onap.dmaap.mr.testtopic”,”description”:”This is a test Topic “, “partitionCount”:”1”,”replicationCount”:”3”,”transactionEnabled”:”true”} Content-Type: application/json Example: curl -u XXXc@csp.abc.com:xxxxx$ -H ‘Content-Type:application/json’ -X POST -d @topicname.txt http://message-router:3904/topics/create { “writerAcl”: { “enabled”: false, “users”: [] }, “description”: “This is a TestTopic”, “name”: “org.onap.dmaap.mr.testtopic”, “readerAcl”: { “enabled”: false, “users”: []

GetTopic Details

Request URL

GET http(s)://{HOST:PORT}/topics : To list the details of all the topics in Message Router.

GET http(s)://{HOST:PORT}/topics/{topicname} : To list the details of a specified topic.

Request Parameters

Name

Description

Param Type

Data type

Max Len

Required

Format

Valid/EXample values

topicname

topic name details

Body

String

20

Y

Json

org.onap.dmaap.mr.testtopic

NOTE: To view an authenticated topic, user must have the AAF permission

org.onap.dmaap.mr.topic|*|view

Response Parameters

Name

Description

ParamType

datatype

Format

Valid/Example Values

topicname

topic name details

Body

String

Json

org.onap.dmaap.mr.testopic

description

String

owner

user id who created the

topic

txenabled

true or false

boolean

Response statusCode

Response statusMessage

200-299

Success

400-499

the client request has a problem

500-599

the DMaaP service has a problem

Sample Request:
GET http://<hostname>:3904/topic/org.onap.dmaap.mr.testtopic

curl -u XXX@csp.abc.com:x$ -X

GET http://10.12.7.22:3904/topics

{“topics”: [ {“txenabled”: true,”description”: “This is a TestTopic”,”owner”: “XXXX@csp.abc.com”,”topicName”: “org.onap.dmaap.mr.Load9” {“txenabled”: false,”description”: “”, “owner”: “”, “topicName”: “org.onap.dmaap.mr.Load1” ]},

Delete Topics

Request URL:

DELETE http(s)://{HOST:PORT}/topics/{topicname}

NOTE: To delete a topic, user must have the AAF permission org.onap.dmaap.mr.topicFactory|:org.onap.dmaap.mr.topic:org.onap.dmaap.mr|destroy

Sample Request:

ex: http://<hostname>:3904/topics/org.onap.dmaap.mr.testopic

Response statusCode

Response statusMessage

200-299

Success

400-499

the client request has a problem

500-599

the DMaaP service has a problem

Error code

Description

HTTP code

DMaaP_MR_ERR_5004

Failed to delete topic:<topicName>

500

API Inventory

API Name

API Method

REST API Path

Comments

Topics

GetAll Topics List

getTopics()

/topics

GET

Get All Topics List with details

getAllTopics()

/topics/listAll

GET

Get individual Topic Details

getTopic(String topicName)

/topics/{topicName}

GET

Create Topic

createTopic(TopicBean topicBean)

/topics/create

POST

Delete Topic

deleteTopic(String topicName)

/topics/{topicName}

DELETE

Not used in current MR version

Get Publishers for a Topic

getPublishersByTopicName (String topicName)

/topics/{topicName}/producers

GET

UEB Backward Compatibility

Add a Publisher to write ACL on a Topic

permitPublisherForTopic (String topicName, String producerId)

/topics/{topicName}/producers/ {producerId}

PUT

Remove a Publisher from write ACL on a Topic

denyPublisherForTopic(String topicName, String producerId)

/topics/{topicName}/producers/ {producerId}

DELETE

Get Consumers for a Topic

getConsumersByTopicName (String topicName)

/topics/{topicName}/consumers

GET

Add a Consumer to read ACL on a Topic

permitConsumerForTopic(String topicName, String consumerId)

/topics/{topicName}/consumers/ {consumerId}

PUT

Remove a consumer from write ACL on a Topic

denyPublisherForTopic(String topicName, String consumerId)

/topics/{topicName}/consumers/ {consumerId}

DELETE

Consumed APIs

Message Router do not consume any API

Delivery

Message Router is comprised of Message Router service and Message Router API. Message Router uses Kafka and ZooKeeper

Logging

Note

  • This section is used to describe the informational or diagnostic messages emitted from a software component and the methods or collecting them.

  • This section is typically: provided for a platform-component and sdk; and referenced in developer and user guides

  • This note must be removed after content has been added.

Where to Access Information

Message Router uses logback framework to generate logs and all the logs are emitted to the console.

Error / Warning Messages

Following are the error codes

RESOURCE_NOT_FOUND=3001
SERVER_UNAVAILABLE=3002
METHOD_NOT_ALLOWED=3003
GENERIC_INTERNAL_ERROR=1004
MSG_SIZE_EXCEEDS_BATCH_LIMIT=5001
UNABLE_TO_PUBLISH=5002
INCORRECT_BATCHING_FORMAT=5003
MSG_SIZE_EXCEEDS_MSG_LIMIT=5004
INCORRECT_JSON=5005
CONN_TIMEOUT=5006
PARTIAL_PUBLISH_MSGS=5007
CONSUME_MSG_ERROR=5008
PUBLISH_MSG_ERROR=5009
RETRIEVE_TRANSACTIONS=5010
RETRIEVE_TRANSACTIONS_DETAILS=5011
TOO_MANY_REQUESTS=5012
RATE_LIMIT_EXCEED=301
GET_TOPICS_FAIL=6001
GET_TOPICS_DETAILS_FAIL=6002
CREATE_TOPIC_FAIL=6003
DELETE_TOPIC_FAIL=6004
GET_PUBLISHERS_BY_TOPIC=6005
GET_CONSUMERS_BY_TOPIC=6006
GET_CONSUMER_CACHE=6011
DROP_CONSUMER_CACHE=6012
GET_METRICS_ERROR=6013
TOPIC_NOT_IN_AAF=6017

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:

    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

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

  1. Build messageservice
    > git clone https://gerrit.onap.org/r/dmaap/messagerouter/messageservice
    • anonymous http, can’t push changes

    > cd messageservice > mvn clean install -Pdocker

  2. 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

  1. 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

  2. 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

Configuration

Deploy the ZooKeeper and Kafka and update the following 2 properties in MsgRtrApi.properties

config.zk.servers=<<zookeeper_host>>
kafka.metadata.broker.list=<<kafka_host>:<<kafka_port>>

Administration

Processes

NA

Actions

NA

Human Interfaces

Message Router does not have human interfaces

Release Notes

Istanbul Maintenance

Abstract

This document provides the DMaaP Message Router release notes for the Istanbul release.

Summary

Securities Issues addressed

Release Data

DMaaP Message Router Project

Docker images

  • onap/dmaap/dmaap-mr:1.3.2

  • onap/dmaap/kafka111:1.1.1

  • onap/dmaap/zookeeper:6.1.0

Release designation

9.0.1 Istanbul Maintenance

Release date

2022-02-17

New features

  • Remediate log4j bug (DMAAP-1691)

Known Limitations, Issues and Workarounds

System Limitations

Known Vulnerabilities

Workarounds

Security Notes

References

For more information on the ONAP Guilin release, please see:

  1. ONAP Home Page

  2. ONAP Documentation

  3. ONAP Release Downloads

  4. ONAP Wiki Page

Quick Links: - DMAAP project page - Passing Badge information for DMAAP

Release Notes

Istanbul

Abstract

This document provides the DMaaP Message Router release notes for the Istanbul release.

Summary

Securities Issues addressed

Release Data

DMaaP Message Router Project

Docker images

  • onap/dmaap/dmaap-mr:1.3.0

  • onap/dmaap/kafka111:1.1.1

  • onap/dmaap/zookeeper:6.1.0

Release designation

9.0.0 Istanbul

Release date

2021-10-14

New features

  • Consolidate msgrtr and message-service repos (DMAAP-1582)

  • Remove redundant data (DMAAP-1638)

  • Sonar fixes (DMAAP-1564)

  • Remove Python 2.7 (DMAAP-1489)

  • Sec vulnerabilities fix (DMAAP-1608)

Known Limitations, Issues and Workarounds

System Limitations

Known Vulnerabilities

Workarounds

Security Notes

References

For more information on the ONAP Guilin release, please see:

  1. ONAP Home Page

  2. ONAP Documentation

  3. ONAP Release Downloads

  4. ONAP Wiki Page

Quick Links: - DMAAP project page - Passing Badge information for DMAAP

Honolulu

Abstract

This document provides the DMaaP Message Router release notes for the Honolulu release.

Summary

Securities Issues addressed

Release Data

DMaaP Message Router Project

Docker images

  • onap/dmaap/dmaap-mr:1.1.20

  • onap/dmaap/kafka111:1.0.5

  • onap/dmaap/zookeeper:6.0.3

Release designation

8.0.0 Honolulu

Release date

2021-04-01

New features

  • Fix Security Vulnerabilities (listed in “Known Vulnerabilities” below) - DMAAP-1515

  • Alter Project Lead information - DMAAP-1538

  • Update certs - DMAAP-1565

  • Update AAF Artifacts - DMAAP-1565

Known Limitations, Issues and Workarounds

System Limitations

Known Vulnerabilities

  • CVE-2018-11307

  • CVE-2018-12022

  • CVE-2018-12023

  • CVE-2019-17571

  • SONATYPE-2010-0053

  • CVE-2020-11994

  • SONATYPE-2015-0174

  • CVE-2020-5397

  • SONATYPE-2012-0050

Workarounds

Security Notes

References

For more information on the ONAP Guilin release, please see:

  1. ONAP Home Page

  2. ONAP Documentation

  3. ONAP Release Downloads

  4. ONAP Wiki Page

Quick Links: - DMAAP project page - Passing Badge information for DMAAP

Guilin maintenance

Version: 7.0.1

Abstract

This document provides the release notes for the Guilin Maintenance release

Summary

This maintenance release is primarily to resolve bugs identified during Guilin release testing.

Release Data

DMaaP Message Router Project

Docker images

Same as Guilin Release

Release designation

Guilin Maintenance Release

Release date

2021/04/19

New features

None

Bug fixes

  • DMAAP-1547 Update certificats for DMaaP message router

Known Issues

Same as Guilin Release

Guilin

Abstract

This document provides the DMaaP Message Router release notes for the Guilin release.

Summary

Release Data

DMaaP Message Router Project

Docker images

  • onap/dmaap/dmaap-mr:1.1.18

  • onap/dmaap/kafka111:1.0.4

  • onap/dmaap/zookeeper:6.0.3

Release designation

7.0.0 guilin

Release date

2020-11-18

New features

Known Limitations, Issues and Workarounds

System Limitations

Known Vulnerabilities

  • CVE-2016-1000027

  • CVE-2018-11307

  • CVE-2019-13990

  • SONATYPE-2018-0624

  • CVE-2018-12022

  • SONATYPE-2019-0414

  • SONATYPE-2019-0808

  • CVE-2019-10241

  • CVE-2019-12406

  • CVE-2020-5408

  • CVE-2019-10246

  • CVE-2019-10247

  • CVE-2020-5397

  • SONATYPE-2012-0050

  • SONATYPE-2017-0507

  • SONATYPE-2019-0469

  • CVE-2018-12023

  • SONATYPE-2018-0624

  • CVE-2019-20444

  • CVE-2019-20445

  • CVE-2019-16869

  • SONATYPE-2020-0029

  • SONATYPE-2020-0103

  • CVE-2019-17571

  • CVE-2020-5398

  • CVE-2018-17196

Workarounds

Security Notes

References

For more information on the ONAP Guilin release, please see:

  1. ONAP Home Page

  2. ONAP Documentation

  3. ONAP Release Downloads

  4. ONAP Wiki Page

Quick Links: - DMAAP project page - Passing Badge information for DMAAP

Frankfurt

Abstract

This document provides the DMaaP Message Router release notes for the Frankfurt release.

Summary

Release Data

DMaaP Message Router Project

Docker images

  • onap/dmaap/dmaap-mr:1.1.18

  • onap/dmaap/kafka111:1.0.4

  • onap/dmaap/zookeeper:6.0.3

Release designation

6.0.0 frankfurt

Release date

2020-06-04

New features

  • Kafka and Zookeeper images are created using confluent community edition 5.3.0

  • Prometheus monitoring

  • Protected all the Kafka operations using AAF

  • Remove the AAF dependency by toggling a flag

Known Limitations, Issues and Workarounds

System Limitations

Known Vulnerabilities

  • CVE-2016-1000027

  • CVE-2018-11307

  • CVE-2019-13990

  • SONATYPE-2018-0624

  • CVE-2018-12022

  • SONATYPE-2019-0414

  • SONATYPE-2019-0808

  • CVE-2019-10241

  • CVE-2019-12406

  • CVE-2020-5408

  • CVE-2019-10246

  • CVE-2019-10247

  • CVE-2020-5397

  • SONATYPE-2012-0050

  • SONATYPE-2017-0507

  • SONATYPE-2019-0469

  • CVE-2018-12023

  • SONATYPE-2018-0624

  • CVE-2019-20444

  • CVE-2019-20445

  • CVE-2019-16869

  • SONATYPE-2020-0029

  • SONATYPE-2020-0103

  • CVE-2019-17571

  • CVE-2020-5398

  • CVE-2018-17196

Workarounds

Security Notes

References

For more information on the ONAP Frankfurt release, please see:

  1. ONAP Home Page

  2. ONAP Documentation

  3. ONAP Release Downloads

  4. ONAP Wiki Page

Quick Links: - DMAAP project page - Passing Badge information for DMAAP

ElAlto

Version: 1.1.16

Release Date

2019-10-10

New Features

  • Cert based authentication support in Message Router

  • Improved Kafka and Zookeeper cluster lookup

  • Pluggable Kafka server.properties,log4j.properties and Message Router logback.xml

Bug Fixes

  • Fixed for security vulnerabilities in Message Router

  • Fixed authorization issues in Message Router

Known Issues

NA

Security Notes

DMAAP code has been formally scanned during build time using NexusIQ and all Critical vulnerabilities have been addressed, items that remain open have been assessed for risk and determined to be false positive. The DMAAP open Critical security vulnerabilities and their risk assessment have been documented as part of the Dublin.

Quick Links:

Upgrade Notes

NA

Deprecation Notes

Dublin

Version: 1.1.14

Release Date

2019-06-06

New Features

  • Upgrade Kafka to v1.1.1

  • Support for Authenticated topics

  • Add Scaling support

  • Support for multi-site applications

  • Add MirrorMaker to allow for message replication across Kafka clusters

Bug Fixes

NA

Known Issues

NA

Security Notes

DMAAP code has been formally scanned during build time using NexusIQ and all Critical vulnerabilities have been addressed, items that remain open have been assessed for risk and determined to be false positive. The DMAAP open Critical security vulnerabilities and their risk assessment have been documented as part of the Dublin.

Quick Links:

Upgrade Notes

NA

Deprecation Notes

Casablanca

Version: 1.1.8

Release Date

2018-11-30

New Features

  • DMaaP client changes to fix some known issues

  • Kafka upgrade to 0.11.0.1 and corresponding changes in the Message Router

  • New Kafka image was created instead of using the publicly available Kafka image

Bug Fixes

NA

Known Issues

If the ZooKeeper is restarted, Message Router works as expected only after restarting the Message Router . Refer Jira for more details

Security Notes

DMAAP code has been formally scanned during build time using NexusIQ and all Critical vulnerabilities have been addressed, items that remain open have been assessed for risk and determined to be false positive. The DMAAP open Critical security vulnerabilities and their risk assessment have been documented as part of the Casablanca.

Quick Links:

Upgrade Notes

NA

Deprecation Notes

Beijing

Version: 1.1.4

Release Date

2018-06-07

New Features

  • Topic creation with out AAF

  • DMaaP client changes to call the message Router with out authentication

  • Kafka upgrade from 0.8.11 to 1.1.0

  • Fixes for docker image packaging issues

Bug Fixes

NA

Known Issues

NA

Security Notes

DMAAP code has been formally scanned during build time using NexusIQ and all Critical vulnerabilities have been addressed, items that remain open have been assessed for risk and determined to be false positive. The DMAAP open Critical security vulnerabilities and their risk assessment have been documented as part of the project.

Quick Links: - DMAAP project page - Passing Badge information for DMAAP - Project Vulnerability Review Table for DMAAP

Upgrade Notes

NA

Deprecation Notes

Amsterdam

Version: 1.0.1

Release Date

2017-11-16

New Features:

  • Pub/sub messaging metaphor to broaden data processing opportunities

  • A single solution for most event distribution needs to support a range of environments

  • Standardized topic names

  • Implements a RESTful HTTP API for provisioning

  • Implements a RESTful HTTP API for message transactions (i.e. pub, sub)

  • Implements a RESTful HTTP API for transaction metrics

  • Topic registry and discovery

Bug Fixes
  • DMAAP-165 Correct documentation rst file errors and warnings

  • DMAAP-160 DMaaP periodically loses connection to Kafka

  • DMAAP-157 SDC service models distribution fails

  • DMAAP-151 Fix docker image bug

  • DMAAP-1 MSO DB is not populated with the models from SDC

Known Issues
  • DMAAP-164 The dependency from kafka for zookeeper created issues when the vm is restarted

Other