Merge "Add dependency on zookeeper for kafka" 1.0.0-Amsterdam 1.0.0-ONAP v1.0.1
authorvarun gudisena <vg411h@att.com>
Tue, 7 Nov 2017 22:22:25 +0000 (22:22 +0000)
committerGerrit Code Review <gerrit@onap.org>
Tue, 7 Nov 2017 22:22:25 +0000 (22:22 +0000)
docs/Filter/Filter.rst
docs/Installation/Installation.rst
docs/message-router/message-router.rst
docs/release-notes.rst [new file with mode: 0644]

index 7b93694..b792a43 100644 (file)
@@ -63,7 +63,7 @@ Types of Filters
 \r
 - **Assigned:**\r
   - Choose a field from the event to check for assignment. This filter\r
-    matches when the field is assigned.\r
+  matches when the field is assigned.\r
 \r
 +-------------------+--------------------------------------------------------+------------+-----------------+\r
 | **Field**         | **Description**                                        | **Type**   | **Notes**       |\r
@@ -98,6 +98,7 @@ Types of Filters
 +-------------+---------------------------------------------------+------------+--------------+\r
 \r
 -  **Equals:**\r
+\r
   - Choose a field from the event and a value to check for equality.\r
 \r
 +-------------+----------------------------------------------+------------+--------------+\r
@@ -109,6 +110,7 @@ Types of Filters
 +-------------+----------------------------------------------+------------+--------------+\r
 \r
 -  **FlatironObjectExists**\r
+\r
   -  Matches when the given object exists in the given Flatiron instance.\r
 \r
 +-------------+---------------------------------------------+------------+--------------+\r
@@ -121,7 +123,7 @@ Types of Filters
 \r
 - **IsAging**\r
   -  Choose a field to test. This filter matches if the expression is\r
-     numeric.\r
+  numeric.\r
 \r
 +-------------+---------------------------------------------+------------+--------------+\r
 | **Field**   | **Description**                             | **Type**   | **Notes**    |\r
@@ -139,7 +141,7 @@ Types of Filters
 | field       | The field to test. Supports ${} notation.   | STRING     | Any string   |\r
 +-------------+---------------------------------------------+------------+--------------+\r
 \r
--  **MathCondition**\r
+- **MathCondition**\r
   - Choose a field from the event and a value for logical math conditions.\r
 \r
 +-------------+-------------------------------------------------+------------+-----------------------------------+\r
@@ -165,7 +167,7 @@ Types of Filters
 | filter      | The filter to negate.   | FILTER     | A filter    |\r
 +-------------+-------------------------+------------+-------------+\r
 \r
--  **NotEqual**\r
+- **NotEqual**\r
   -  Choose a field from the event and a value to check for inequality.\r
 \r
 +-------------+----------------------------------------------+------------+--------------+\r
@@ -176,7 +178,7 @@ Types of Filters
 | value       | The value to match. Supports ${} notation.   | STRING     | Any string   |\r
 +-------------+----------------------------------------------+------------+--------------+\r
 \r
--  **NotOneOf**\r
+- **NotOneOf**\r
   -  Match when the specified field does not have a value from the given\r
      list.\r
 \r
@@ -188,7 +190,7 @@ Types of Filters
 | values      | The matching values.                        | LIST       | A list of strings   |\r
 +-------------+---------------------------------------------+------------+---------------------+\r
 \r
--  **OneOf**\r
+- **OneOf**\r
   -  Match when the specified field has a value from the given list.\r
 \r
 +-------------+---------------------------------------------+------------+---------------------+\r
@@ -246,9 +248,9 @@ Types of Filters
 \r
 - **WithinSecondsFrom**\r
   - This filter matches when the specified epoch time value is within the\r
-    given number of seconds from the baseline time value. Both time values\r
-    are assumed to be in seconds. If a value is in milliseconds, set\r
-    baselineTimeInMillis and/or eventTimeInMillis to true.\r
+  given number of seconds from the baseline time value. Both time values\r
+  are assumed to be in seconds. If a value is in milliseconds, set\r
+  baselineTimeInMillis and/or eventTimeInMillis to true.\r
 \r
 +------------------------+------------------------------------------------------------+------------+-----------------+\r
 | **Field**              | **Description**                                            | **Type**   | **Notes**       |\r
@@ -266,9 +268,9 @@ Types of Filters
 \r
 - **WithinTimeFromNow**\r
   - This filter matches when the named field has an epoch time value\r
-    within the given number of seconds from the current time. The event's\r
-    time value is assumed to be in seconds. If it's in milliseconds, set\r
-    eventTimeInMillis to true.\r
+  within the given number of seconds from the current time. The event's\r
+  time value is assumed to be in seconds. If it's in milliseconds, set\r
+  eventTimeInMillis to true.\r
 \r
 +---------------------+---------------------------------------------------------+------------+-----------------+\r
 | **Field**           | **Description**                                         | **Type**   | **Notes**       |\r
@@ -286,6 +288,7 @@ Types of Filters
      only that set of message which are specified in limit.\r
         \r
   .. code:: bash\r
+  \r
         Suppose if we set limit=2, then only 2 sets of data will be consumed. \r
         *Get \ **<<topicName>>/group/2?limit=4*** \r
         Let us suppose if \r
@@ -385,12 +388,12 @@ Types of Filters
     +-----------------------------------------+\r
 \r
    - This filter matches events in which the field "foo" has value "abc"\r
-     and the field "bar" is assigned to some value (as opposed to not being\r
-     present on the event).\r
+   and the field "bar" is assigned to some value (as opposed to not being\r
+   present on the event).\r
    -  Filters are used by the consumers to filter out data and consume only\r
-     specific set of data which matches the conditions mentioned in filter.\r
+   specific set of data which matches the conditions mentioned in filter.\r
    -  Filters can be passed as a query parameter by the consumer in consume\r
-     request as mentioned below:\r
+   request as mentioned below:\r
    - **http://localhost:8080/DMaaP/dmaaprest/events/DMaaP/consumergroup/mHOeNFY4XiWx4CBa?filter=\\{"class":"Equals",\r
      "field":"email", "value":"`test@abc.com <mailto:test@att.com>`__" }** \r
    - Filters can be applied only on data in JSON format i.e. if applied,\r
@@ -401,7 +404,7 @@ Types of Filters
    the GET request. This will filter the stream of messages sent back to\r
    the subscriber, but for this to work, there are some requirements: \r
 \r
-    -  The message payload must be JSON\r
+   -  The message payload must be JSON\r
 \r
    -  Only a filter built from Highland Park's Standard Library  may be\r
       used. (The Cambria API server doesn't have access to plugged in\r
@@ -426,6 +429,7 @@ Remember, only Highland Park standard library filter components can be
 used -- no plug-ins are available in the Cambria server context.\r
        \r
        .. code:: bash\r
+       \r
                package org.onap.sa.highlandPark.integration;\r
 \r
                import java.io.IOException;\r
@@ -586,9 +590,9 @@ used -- no plug-ins are available in the Cambria server context.
 **Filter Builder**\r
 \r
  MR server-side filtering allows a consumer to filter the stream of\r
-messages returned from the GET call.  The following link provide details\r
-of building some of the filter to illustrate Filter Builder.  It is not\r
-meant to cover and provide examples of every filter\r
+ messages returned from the GET call.  The following link provide details\r
+ of building some of the filter to illustrate Filter Builder.  It is not\r
+ meant to cover and provide examples of every filter\r
 \r
 \r
 \r
index 3723a19..5232bd4 100644 (file)
@@ -24,8 +24,10 @@ kafka runs on 172.18.0.2 and dmaap on 172.18.0.4.
 4) Install docker and docker-compose\r
 \r
 5) Go to messageservice/src/main/resources/docker-compose and run:\r
-\r
-   docker-compose up \96d\r
+   \r
+   .. code:: bash\r
+   \r
+               docker-compose up  # add -d argument to start process as a daemon (background process)\r
 \r
    This should start 3 containers.\r
 \r
index 8bc94b2..43799a7 100644 (file)
@@ -54,21 +54,20 @@ it must be noted, that, except in very specific circumstances, messages
 are not inspected for content.\r
 \r
 \r
-+-------------------------+----------------------------------------------------------------------------------------------------------------+\r
-| Content-Type            |  Description                                                                                                   |\r
-+=========================+================================================================================================================+\r
-| text/plain              | Each line in the POST body is treated as a separate message. No partition key is specified, and therefore no   |\r
-|                                |     order is guaranteed. This format is mainly for test, as messages are highly likely to be re-ordered when       |\r
-|                            | delivered through the Kafka cluster.                                                                           |\r
-+-------------------------+----------------------------------------------------------------------------------------------------------------+\r
-| application/json        | The payload maybe a single JSON object or a JSON array of JSON objects. Each object is handled as an individual|\r
-|                                                | message..Note that use of this format may result in equivalent but altered JSON objects sent to consumers.     | \r
-|                                                | That's because MR uses a standard JSON parser to read each object into memory before pushing the object to the |\r
-|                                                | Kafka system. At that point, the JSON object is re-written from the in-memory object. This can result in       |\r
-|                                                | re-ordered fields or changes in whitespace. If you want to preseve JSON objects exactly,                       |\r
-|                                                | use application/cambria. Recommended to follow the JSON format after validating the                            |\r
-|                                                | message in https://jsonformatter.curiousconcept.com/                                                                                                           |\r
-+-------------------------+----------------------------------------------------------------------------------------------------------------+\r
++-------------------------+-----------------------------------------------------------------------------------------------------------------+\r
+| Content-Type            |  Description                                                                                                    |\r
++=========================+=================================================================================================================+\r
+| text/plain              | Each line in the POST body is treated as a separate message. No partition key is specified, and therefore no    |\r
+|                         | order is guaranteed. This format is mainly for test, as messages are highly likely to be re-ordered when        |\r
+|                         | delivered through the Kafka cluster.                                                                            |\r
++-------------------------+-----------------------------------------------------------------------------------------------------------------+\r
+| application/json        | The payload maybe a single JSON object or a JSON array of JSON objects. Each object is handled as an individual |\r
+|                         | message..Note that use of this format may result in equivalent but altered JSON objects sent to consumers.      | \r
+|                         | That's because MR uses a standard JSON parser to read each object into memory before pushing the object to the  |\r
+|                         | Kafka system. At that point, the JSON object is re-written from the in-memory object. This can result in        |\r
+|                         | re-ordered fields or changes in whitespace. If you want to preseve JSON objects exactly,                        |\r
+|                         | use application/cambria. Recommended to follow the JSON format.                                                 |\r
++-------------------------+-----------------------------------------------------------------------------------------------------------------+\r
 \r
 Publishers\r
 -----------\r
@@ -92,20 +91,21 @@ POST http(s)://{HOST:PORT}/events/{topicname}
 Request Parameters\r
 ==================\r
 \r
-+--------------------------+---------------------------------+------------------+------------+-----------+-------------+--------------------------------+-----------------------------+\r
-| Name                     | Description                     | Param Type       | Data type  | Max Len   | Required    | Format                         | Valid/EXample values        |\r
-+==========================+=================================+==================+============+===========+=============+================================+=============================+\r
-| Topicname                | topic name to be posted         | Path             | String     | 40        | Y           |  <app namespace>.<topicname>   | org.onap.crm.empdetails     |\r
-+--------------------------+---------------------------------+------------------+------------+-----------+-------------+--------------------------------+-----------------------------+\r
-| content-type             | To specify type of message      | Header           | String     | 20        | N           |                                | application/json            |\r
-+--------------------------+---------------------------------+------------------+------------+-----------+-------------+--------------------------------+-----------------------------+| Username                 | userid                          | Header           | String     |           | N           | Basic Authentication Header    |                             |\r
-+--------------------------+---------------------------------+------------------+------------+-----------+-------------+--------------------------------+-----------------------------+\r
-| Password                 | userid                          | Header           | String     |           | N           | Basic Authentication Header    |                             |\r
-+--------------------------+---------------------------------+------------------+------------+-----------+-------------+--------------------------------+-----------------------------+\r
-| partitionKey             |                                 |  QueryParam      | String     |           | N           | String value                   |?Partitionkey=123            |\r
-+--------------------------+---------------------------------+------------------+------------+-----------+-------------+--------------------------------+-----------------------------+\r
-\r
-**NOTE **: Publishers/user should have access on the topics. The user (id) and\r
++--------------------+------------------------------+------------------+------------+-----------+-------------+--------------------------------+-----------------------------+\r
+| Name               | Description                  | Param Type       | Data type  | Max Len   | Required    | Format                         | Valid/EXample values        |\r
++====================+==============================+==================+============+===========+=============+================================+=============================+\r
+| Topicname          | topic name to be posted      | Path             | String     | 40        | Y           |  <app namespace>.<topicname>   | org.onap.crm.empdetails     |\r
++--------------------+------------------------------+------------------+------------+-----------+-------------+--------------------------------+-----------------------------+\r
+| content-type       | To specify type of message   | Header           | String     | 20        | N           |                                | application/json            |\r
++--------------------+------------------------------+------------------+------------+-----------+-------------+--------------------------------+-----------------------------+\r
+| Username           | userid                       | Header           | String     |           | N           | Basic Authentication Header    |                             |\r
++--------------------+------------------------------+------------------+------------+-----------+-------------+--------------------------------+-----------------------------+\r
+| Password           |                              | Header           | String     |           | N           | Basic Authentication Header    |                             |\r
++--------------------+------------------------------+------------------+------------+-----------+-------------+--------------------------------+-----------------------------+\r
+| partitionKey       |                              | QueryParam       | String     |           | N           | String value                   | ?Partitionkey=123           |\r
++--------------------+------------------------------+------------------+------------+-----------+-------------+--------------------------------+-----------------------------+\r
+\r
+**NOTE**: Publishers/user should have access on the topics. The user (id) and\r
 permissions details needs to be in AAF.\r
 \r
 Response Parameters\r
@@ -159,7 +159,7 @@ Response /Error Codes
 +------------------------+---------------+---------------------------------+---------------------------------------------------------------------------------------------------------+\r
 \r
 Sample Request:\r
-==============\r
+===============\r
 \r
 +-----------------------------------------------------------------------------------+\r
 | POST                                                                              |\r
@@ -178,7 +178,7 @@ Sample Request:
 +-----------------------------------------------------------------------------------+\r
 \r
 Sample Response:\r
-===============\r
+================\r
 \r
 +---------------------------------------------------------------------+\r
 | HTTP/1.1 200 OK                                                     |\r
@@ -208,31 +208,31 @@ GET http(s)://{HOST:PORT}}/events/{topicname}/{consumegroup}/{consumerid}/{timeo
 Request Parameters:\r
 ===================\r
 \r
-+-------------+---------------------------------+------------------+------------+--------------+-------------+-------------+-------------------------------------------------+\r
-| Name        | Description                     |  Param Type      |  data type |   MaxLen     |  Required   |  Format     |  Valid/Example Values                           |\r
-+=============+=================================+==================+============+==============+=============+=============+=================================================+\r
-| Topicname   | topic name to be posted         |     Path         |   String   |        40    |     Y       | namespace.  |                                                                                            |\r
-|                        |                                                                     |                                  |            |              |             |  String     |                                                 |\r
-+-------------+---------------------------------+------------------+------------+--------------+-------------+-------------+-------------------------------------------------+\r
-|Consumergroup| A name that uniquely identifies |     Path         |    String  |              |             |             |                                                 |\r
-|                        | your subscribers                |                  |            |              |      Y      |             |               CG1                               |\r
-+-------------+---------------------------------+------------------+------------+--------------+-------------+-------------+-------------------------------------------------+\r
-| consumerId  | Within your subscribers group,  |                  |            |              |             |             |                                                 |\r
-|                        | a name that uniquely identifies |      Path        |   String   |              |       y     |             |              C1                                 |\r
-|                        | your subscribers  process      |                  |            |              |             |             |                                                 | +-------------+---------------------------------+------------------+------------+--------------+-------------+-------------+-------------------------------------------------+\r
-| content-type| To specify type of message      |                  |            |              |             |             |aplication/json                                  |\r
-|                        | content(json,text or cambria)   |      Header      |   String   |         20   |      N      |             |                                                 |\r
-+-------------+---------------------------------+------------------+------------+--------------+-------------+-------------+-------------------------------------------------+\r
-|Username     |   userid                        | Header           | String     | 1            | N           |             |                                                 |\r
-+-------------+---------------------------------+------------------+------------+--------------+-------------+-------------+-------------------------------------------------+\r
-| Password    |                                 | Header           | String     | 1            | N           |             |                                                 |\r
-+-------------+---------------------------------+------------------+------------+--------------+-------------+-------------+-------------------------------------------------+ \r
++--------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+------------------------+\r
+| Name         | Description                     |  Param Type      |  data type |   MaxLen     |  Required   |  Format             |  Valid/Example Values  |\r
++==============+=================================+==================+============+==============+=============+=====================+========================+\r
+| Topicname    | topic name to be posted         |     Path         |   String   |    40        |     Y       | namespace.String    |                        |\r
++--------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+------------------------+\r
+| Consumer     | A name that uniquely identifies |     Path         |   String   |              |     Y       |                     | CG1                    |\r
+| group        | your subscribers                |                  |            |              |             |                     |                        |\r
++--------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+------------------------+\r
+| consumerId   | Within your subscribers group,  |     Path         |   String   |              |     Y       |                     | C1                     |\r
+|              | a name that uniquely identifies |                  |            |              |             |                     |                        |\r
+|              | your subscribers  process       |                  |            |              |             |                     |                        |\r
++--------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+------------------------+\r
+| content-type | To specify type of message      |     Header       |   String   |     20       |     N       |                     | aplication/json        |\r
+|              | content(json,text or cambria)   |                  |            |              |             |                     |                        |\r
++--------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+------------------------+\r
+| Username     | userid                          |     Header       |   String   |     1        |     N       |                     |                        |\r
++--------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+------------------------+\r
+| Password     |                                 |     Header       |   String   |     1        |     N       |                     |                        |\r
++--------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+------------------------+ \r
 \r
 **NOTE1**:Subscribers /user should have access on the topics. The user () and\r
 permissions details needs to be in AAF.\r
 \r
 Response Parameters:\r
-===================\r
+====================\r
 \r
 +------------------+--------------------------------+------------+--------------+-----------------------------------------------------------+\r
 | Name             | Description                    |  Type      | Format       | Valid/Example Values                                      |\r
@@ -250,6 +250,11 @@ Response Parameters:
 | ResponseBody     | Messages consumed from topic   | Json       | Json         |                                                           |\r
 +------------------+--------------------------------+------------+--------------+-----------------------------------------------------------+\r
 \r
+\r
+Response /Error Codes\r
+=====================\r
+\r
+\r
 +---------------------------+------------------------------------+\r
 | Response statusCode       | Response statusMessage             |\r
 +===========================+====================================+\r
@@ -260,24 +265,37 @@ Response Parameters:
 | 500-599                   | the DMaaP service has a problem    |\r
 +---------------------------+------------------------------------+\r
 \r
-+-------------------------+-----------------+----------------------------+----------------------------------------------------------------------------------------------------+\r
-| Error code              |  HTTP Code      |  Description               |Issue reason                                                                                        |\r
-+=========================+=================+============================+====================================================================================================+\r
-| DMaaP\_MR\_ERR\_3008    | 413             | Request Entity too large   | Message size exceeds the batch limit <limit>.Reduce the batch size and try again                   | +-------------------------+-----------------+----------------------------+----------------------------------------------------------------------------------------------------+\r
-| DMaaP\_MR\_ERR\_3009    | 500             | Internal Server Error      | Unable to publish messages. Please contact administartor                                           | +-------------------------+-----------------+----------------------------+----------------------------------------------------------------------------------------------------+\r
-| DMaaP\_MR\_ERR\_3010    | 400             | Bad Request                | Incorrect Batching format. Please correct the batching format and try again                        | +-------------------------+-----------------+----------------------------+----------------------------------------------------------------------------------------------------+\r
-| DMaaP\_MR\_ERR\_3011    | 413             | Request Entity too large   | Message size exceeds the message size limit <limit>.Reduce the message size and try again          | +-------------------------+-----------------+----------------------------+----------------------------------------------------------------------------------------------------+\r
-\r
++-------------------------+-----------------+----------------------------+---------------------------------------------------------------------------------------------+\r
+| Error code              |  HTTPCode       |  Description               | Issue Reason                                                                                |\r
++=========================+=================+============================+=============================================================================================+\r
+| DMaaP\_MR\_ERR\_3008    | 413             | Request Entity too large   | Message size exceeds the batch limit <limit>.Reduce the batch size and try again            |\r
++-------------------------+-----------------+----------------------------+---------------------------------------------------------------------------------------------+\r
+| DMaaP\_MR\_ERR\_3009    | 500             | Internal Server Error      | Unable to publish messages. Please contact administartor                                    |\r
++-------------------------+-----------------+----------------------------+---------------------------------------------------------------------------------------------+\r
+| DMaaP\_MR\_ERR\_3010    | 400             | Bad Request                | Incorrect Batching format. Please correct the batching format and try again                 |\r
++-------------------------+-----------------+----------------------------+---------------------------------------------------------------------------------------------+\r
+| DMaaP\_MR\_ERR\_3011    | 413             | Request Entity too large   | Message size exceeds the message size limit <limit>.Reduce the message size and try again   |\r
++-------------------------+-----------------+----------------------------+---------------------------------------------------------------------------------------------+\r
+| DMaaP\_MR\_ERR\_5012    | 429             | Too many requests          | This client is making too many requests. Please use a long poll setting to decrease the     | \r
+|                         |                 |                            | number of requests that result in empty responses.                                          |\r
++-------------------------+-----------------+----------------------------+---------------------------------------------------------------------------------------------+\r
+|                         | 503             | Service Unavailable        | Service Unavailable.                                                                        |\r
++-------------------------+-----------------+----------------------------+---------------------------------------------------------------------------------------------+\r
 \r
 Sample Request:\r
-==============\r
+===============\r
 \r
 +----------------------------------------------------------------------------------------------------+\r
 | GET  http://<hostname>:3904/events/com.att.dmaap.mr.sprint/mygroup/mycus                           |\r
-|  Content-Type: application/json                                                                    |\r
+|                                                                                                    |\r
+| Content-Type: application/json                                                                     |\r
+|                                                                                                    |\r
 | Example:                                                                                           |\r
-|curl -u XXX@csp.abc.com:MRDmap2016$ -X GET -d 'MyfirstMessage'                                      | \r
+|                                                                                                    |\r
+|curl -u XXX@csp.abc.com:MRDmap2016$ -X GET -d 'MyfirstMessage'                                      |\r
+|                                                                                                    | \r
 |http://mrlocal00.dcae.proto.research.att.com:3904/events/com.att.ecomp_test.crm.preDeo/myG/C1       |\r
+|                                                                                                    |\r
 |[I am r sending first msg,I am R sending first msg]                                                 |\r
 +----------------------------------------------------------------------------------------------------+\r
 \r
@@ -293,25 +311,24 @@ Request URL:
 POST http(s)://{HOST:PORT}/topics/create\r
 \r
 Request Parameters:\r
-==================\r
+===================\r
 \r
-+----------------+---------------------------------+------------------+------------+--------------+-------------+-------------+-----------------------------------+\r
-| Name           | Description                     |  Param Type      |  data type |   MaxLen     |  Req\92d      |  Format     |  Valid/Example Values             |\r
-+================+=================================+==================+============+==============+=============+=============+===================================+\r
-| Topicname      | topicname to be created in MR   |     Body         |   String   |        20    |     Y       | Json        |                com.att.dmaap.mr.metrics      |\r
-+----------------+---------------------------------+------------------+------------+--------------+-------------+-------------+-----------------------------------+       \r
-|topicDescription|   description for topic         |      Body        |   String   |     15       |     Y       |             |                                   |\r
-+----------------+---------------------------------+------------------+------------+--------------+-------------+-------------+-----------------------------------+  \r
-|partitionCount  |   Kafka topic partition         |     Body         |   String   |     1        | Y           |             |                                   |\r
-+----------------+---------------------------------+------------------+------------+--------------+-------------+-------------+-----------------------------------+ \r
-|replicationCount|   Kafka topic replication       |     Body         |   String   |     1        | Y           |             |  3 (Default -for 3 node Kafka )   |\r
-+----------------+---------------------------------+------------------+------------+--------------+-------------+-------------+-----------------------------------+ \r
-|transaction     |to create transaction id for     |     Body         | Boolean    |              |             |             |                                   |\r
-|                |     each message transaction       |                  |            |      1       |        N    |             |   true                            |\r
-| Enabled        |                                 |                  |            |              |             |             |                                   | \r
-+----------------+---------------------------------+------------------+------------+--------------+-------------+-------------+-----------------------------------+ \r
-|Content-Type    |   application/json              |     Header       |   String   |              |             |             |  application/json                 |\r
-+----------------+---------------------------------+------------------+------------+--------------+-------------+-------------+-----------------------------------+\r
++-------------------+---------------------------------+------------------+------------+--------------+-------------+-------------+-----------------------------------+\r
+| Name              | Description                     |  Param Type      |  datatype  |   MaxLen     |  Required   |  Format     |  Valid/Example Values             |\r
++===================+=================================+==================+============+==============+=============+=============+===================================+\r
+| Topicname         | topicname to be created in MR   |     Body         |   String   |     20       |     Y       | Json        | com.att.dmaap.mr.metrics          |\r
++-------------------+---------------------------------+------------------+------------+--------------+-------------+-------------+-----------------------------------+       \r
+| topicDescription  | description for topic           |     Body         |   String   |     15       |     Y       |             |                                   |\r
++-------------------+---------------------------------+------------------+------------+--------------+-------------+-------------+-----------------------------------+  \r
+| partitionCount    | Kafka topic partition           |     Body         |   String   |     1        |    Y        |             |                                   |\r
++-------------------+---------------------------------+------------------+------------+--------------+-------------+-------------+-----------------------------------+ \r
+| replicationCount  | Kafka topic replication         |     Body         |   String   |     1        |    Y        |             | 3 (Default -for 3 node Kafka )    |\r
++-------------------+---------------------------------+------------------+------------+--------------+-------------+-------------+-----------------------------------+ \r
+| transaction       | to create transaction id for    |     Body         |  Boolean   |     1        |    N        |             | true                              |\r
+| Enabled           | each message transaction        |                  |            |              |             |             |                                   |\r
++-------------------+---------------------------------+------------------+------------+--------------+-------------+-------------+-----------------------------------+ \r
+| Content-Type      | application/json                |     Header       |   String   |              |             |             | application/json                  |\r
++-------------------+---------------------------------+------------------+------------+--------------+-------------+-------------+-----------------------------------+\r
 \r
 +---------------------------+------------------------------------+\r
 | Response statusCode       | Response statusMessage             |\r
@@ -323,13 +340,19 @@ Request Parameters:
 | 500-599                   | the DMaaP service has a problem    |\r
 +---------------------------+------------------------------------+\r
 \r
+\r
 +-------------------------+-----------------+--------------------------------------------------+\r
 | Error code              |  HTTP Code      |  Description                                     |\r
 +=========================+=================+==================================================+\r
-| DMaaP\_MR\_ERR\_5001    | 500             | Failed to retrieve list of all topics            | +-------------------------+-----------------+--------------------------------------------------+\r
-| DMaaP\_MR\_ERR\_5002    | 500             | Failed to retrieve details of topic:<topicName>  |     +-------------------------+-----------------+--------------------------------------------------+\r
-| DMaaP\_MR\_ERR\_5003    | 500             |Failed to create topic:<topicName>                | +-------------------------+-----------------+--------------------------------------------------+\r
-| DMaaP\_MR\_ERR\_5004    | 500             | Failed to delete topic:<topicName>               | +-------------------------+-----------------+--------------------------------------------------+\r
+| DMaaP\_MR\_ERR\_5001    | 500             | Failed to retrieve list of all topics            |\r
++-------------------------+-----------------+--------------------------------------------------+\r
+| DMaaP\_MR\_ERR\_5002    | 500             | Failed to retrieve details of topic:<topicName>  |\r
++-------------------------+-----------------+--------------------------------------------------+\r
+| DMaaP\_MR\_ERR\_5003    | 500             | Failed to create topic:<topicName>               |\r
++-------------------------+-----------------+--------------------------------------------------+\r
+| DMaaP\_MR\_ERR\_5004    | 500             | Failed to delete topic:<topicName>               |\r
++-------------------------+-----------------+--------------------------------------------------+\r
+\r
 \r
 Response Parameters\r
 ====================\r
@@ -339,40 +362,41 @@ Response Parameters
 +==================+================================+============+==============+===========================================================+\r
 | httpStatusCode   |                                |            |              | 200, 201 etc.                                             |\r
 +------------------+--------------------------------+------------+--------------+-----------------------------------------------------------+\r
-| mrErrorCode      | Numeric error code             |            |              | 5005                                                       |\r
+| mrErrorCode      | Numeric error code             |            |              | 5005                                                      |\r
 +------------------+--------------------------------+------------+--------------+-----------------------------------------------------------+\r
 | errorMessage     |                                |            |              | SUCCESS, or error message.                                |\r
 +------------------+--------------------------------+------------+--------------+-----------------------------------------------------------+\r
 | helpURL          | helpurl                        |            |              |                                                           |\r
 +------------------+--------------------------------+------------+--------------+-----------------------------------------------------------+\r
-| ResponseBody     | Topic details (owner,          |            |              |                                                           |\r
-|                  | trxEnabled=true)               | Json       | Json         |                                                           |\r
+| ResponseBody     | Topic details (owner,          |  Json      |  Json        |                                                           |\r
+|                  | trxEnabled=true)               |            |              |                                                           |\r
 +------------------+--------------------------------+------------+--------------+-----------------------------------------------------------+\r
 \r
 \r
 Sample Request:\r
-==============\r
+===============\r
+\r
+    .. code:: bash\r
+       \r
+           POST   http://<hostname>:3904/topic/create \r
+               Request Body  \r
+               {"topicName":"com.abc.dmaap.mr.topicname","description":"This is a SAPTopic ",\r
+               "partitionCount":"1","replicationCount":"3","transactionEnabled":"true"}  \r
+               Content-Type: application/json \r
+               Example:\r
+               curl -u XXXc@csp.abc.com:xxxxx$  -H 'Content-Type:application/json' -X POST -d \r
+               @topicname.txt  http://mrlocal00.dcae.proto.research.abc.com:3904/topics/create\r
+               {  \r
+               "writerAcl": {   \r
+               "enabled": false, \r
+               "users": []  \r
+               }, \r
+               "description": "This is a TestTopic", \r
+               "name": "com.abc.ecomp_test.crm.Load9",   \r
+               "readerAcl": {  \r
+               "enabled": false,  \r
+               "users": [] \r
 \r
-+-----------------------------------------------------------------------------------+\r
-| POST   http://<hostname>:3904/topic/create                                        |\r
-|Request Body                                                                       |\r
-|{"topicName":"com.abc.dmaap.mr.topicname","description":"This is a SAPTopic ",     |\r
-| "partitionCount":"1","replicationCount":"3","transactionEnabled":"true"}          |\r
-| Content-Type: application/json                                                    |\r
-|Example:                                                                           |\r
-|curl -u XXXc@csp.abc.com:xxxxx$  -H 'Content-Type:application/json' -X POST -d     |\r
-|@topicname.txt  http://mrlocal00.dcae.proto.research.abc.com:3904/topics/create    |\r
-|{                                                                                  |\r
-|    "writerAcl": {                                                                 |\r
-|        "enabled": false,                                                          |\r
-|        "users": []                                                                |\r
-|    },                                                                             |\r
-|    "description": "This is a TestTopic",                                          |\r
-|    "name": "com.abc.ecomp_test.crm.Load9",                                        |\r
-|    "readerAcl": {                                                                 |\r
-|        "enabled": false,                                                          |\r
-|        "users": []                                                                |\r
-+-----------------------------------------------------------------------------------+\r
 \r
 GetTopic Details\r
 ----------------\r
@@ -387,11 +411,11 @@ GET http(s)://{HOST:PORT}/topics/{topicname} : To list the details of specified
 Request Parameters\r
 ==================\r
 \r
-+--------------------------+---------------------------------+------------------+------------+-----------+-------------+-----------------+-----------------------------+\r
-| Name                     | Description                     | Param Type       | Data type  | Max Len   | Req\92d       | Format          | Valid/EXample values        |\r
-+==========================+=================================+==================+============+===========+=============+=================+=============================+\r
-| Topicname                | topic name details              | Body             | String     | 20        | Y           |  Json           | com.abc.dmaap.mr.metrics    |\r
-+--------------------------+---------------------------------+------------------+------------+-----------+-------------+-----------------+-----------------------------+\r
++--------------------------+-------------------------+------------------+------------+-----------+-------------+-----------------+-----------------------------+\r
+| Name                     | Description             | Param Type       | Data type  | Max Len   | Required    | Format          | Valid/EXample values        |\r
++==========================+=========================+==================+============+===========+=============+=================+=============================+\r
+| Topicname                | topic name details      | Body             | String     | 20        | Y           |  Json           | com.abc.dmaap.mr.metrics    |\r
++--------------------------+-------------------------+------------------+------------+-----------+-------------+-----------------+-----------------------------+\r
 \r
 \r
 Response Parameters\r
@@ -404,10 +428,10 @@ Response Parameters
 +------------------+------------------------+------------+----------+---------+--------------------------+\r
 | description      |                        |            |   String |         |                          | \r
 +------------------+------------------------+------------+----------+---------+--------------------------+\r
-|owner             |user id who created the |            |          |         |                          |\r
+| owner            |user id who created the |            |          |         |                          |\r
 |                  |         topic          |            |          |         |                          | \r
 +------------------+------------------------+------------+----------+---------+--------------------------+\r
-| txenabled        |     true or false      |            |   boolean|         |                          | \r
+| txenabled        |     true or false      |            |  boolean |         |                          | \r
 +------------------+------------------------+------------+----------+---------+--------------------------+\r
 \r
 +---------------------------+------------------------------------+\r
@@ -422,7 +446,7 @@ Response Parameters
 \r
 \r
 Sample Request:\r
-==============\r
+===============\r
 \r
 +-----------------------------------------------------------------------------------+\r
 | GET   http://<hostname>:3904/topic/com.att.dmaap.mr.testtopic                     |\r
@@ -432,7 +456,7 @@ Sample Request:
 |    {                                                                              |\r
 |       "txenabled": true,                                                          |\r
 |        "description": "This is a TestTopic",                                      |\r
-|      "owner": "XXXX@csp.abc.com",                                               |\r
+|      "owner": "XXXX@csp.abc.com",                                                 |\r
 |        "topicName": "com.abc.ecomp_test.crm.Load9"                                |\r
 |    },                                                                             |\r
 |    {                                                                              |\r
@@ -448,12 +472,12 @@ Delete Topics
 -------------\r
 \r
 Request URL:\r
-===========\r
+============\r
 \r
 DELETE http(s)://{HOST:PORT}/topic/{topicname}\r
 \r
 Sample Request:\r
-==============\r
+===============\r
 ex: http://<hostname>:3904/dmaap/v1/topics/com.att.dmaap.mr.testopic\r
 \r
 +---------------------------+------------------------------------+\r
@@ -475,38 +499,41 @@ ex: http://<hostname>:3904/dmaap/v1/topics/com.att.dmaap.mr.testopic
 API Inventory\r
 ------------- \r
 \r
-+-----------+-------------------+-----------------------------------------+---------------------------------------+----------------+----------------------------------+\r
-|           |   API Name        |   API Method                            |   REST API Path                       |                | Comments                         |\r
-+===========+===================+=========================================+=======================================+================+==================================+\r
-| Topics    | GetAll Topics List|  getTopics()                            | /topics                               | GET            |                                  |\r
-|           +-------------------+-----------------------------------------+---------------------------------------+----------------+----------------------------------+\r
-|           | Get All Topics    |                                         |                                       |                |                                  |\r
-|           |List with details  | getAllTopics()                          | /topics/listAll                       | GET            |                                  |\r
-|           +-------------------+-----------------------------------------+---------------------------------------+----------------+----------------------------------+\r
-|           | Get individual    |                                         |                                       |                |                                  |\r
-|           | Topic Details     | getTopic(String topicName)              | /topics/{topicName}                   | GET            |                                  |\r
-|           +-------------------+-----------------------------------------+---------------------------------------+----------------+----------------------------------+\r
-|           | Create Topic      | createTopic(TopicBean topicBean)        | /topics/create                        | POST           |                                  |\r
-|           +-------------------+-----------------------------------------+---------------------------------------+----------------+----------------------------------+\r
-|           | Delete Topic      | deleteTopicString topicName)            | /topics/{topicName}                   | DELETE         |  Not used in current MR version  |\r
-|           +-------------------+-----------------------------------------+---------------------------------------+----------------+----------------------------------+\r
-|           | Get Publishers for| getPublishersByTopicName                |                                       |                |                                  |\r
-|           | a Topic           | (String topicName)                      | /topics/{topicName}/producers         | GET            |  UEB Backward Compatibility      |\r
-|           +-------------------+-----------------------------------------+---------------------------------------+----------------+                                  |\r
-|           | Add a Publisher to|permitPublisherForTopic(String topicName,| /topics/{topicName}/producers/        |                |                                  |\r
-|           |write ACLon a Topic|     String producerId)                  |    {producerId}                       | PUT            |                                  |\r
-|           +-------------------+-----------------------------------------+---------------------------------------+----------------+                                  |\r
-|           | Remove a Publisher|denyPublisherForTopic(String   topicName,|/topics/{topicName}/producers/         |                |                                  | \r
-|           |from write   ACL on|String producerId)                       |{producerId}                           |   DELETE       |                                  |\r
-|           | a Topic           |                                         |                                       |                |                                  |\r
-|           +-------------------+-----------------------------------------+---------------------------------------+----------------+                                  |\r
-|           |Get Consumers for a| getConsumersByTopicName                 |  /topics/{topicName}/consumers        |       GET      |                                  |\r
-|           |  Topic            | (String topicName)                      |                                       |                |                                  |\r
-|           +-------------------+-----------------------------------------+---------------------------------------+----------------+                                  |\r
-|           | Add a Consumer to | permitConsumerForTopic(String topicName,|   /topics/{topicName}/consumers/      |      PUT       |                                  |\r
-|           |read ACL on a Topic|      String consumerId)                 |       {consumerId}                    |                |                                  |    \r
-|           +-------------------+-----------------------------------------+---------------------------------------+----------------+                                  |\r
-|           | Remove a consumer |denyPublisherForTopic(String   topicName,|/topics/{topicName}/consumers/         |                |                                  | \r
-|           |from write   ACL on|String consumerId)                       |{consumerId}                           |                |                                  |\r
-|           | a Topic           |                                         |                                       |    DELETE      |                                  |\r
-+-----------+-------------------+-----------------------------------------+---------------------------------------+----------------+----------------------------------+\r
++-----------+--------------------+-----------------------------------------+---------------------------------------+----------------+----------------------------------+\r
+|           |   API Name         |   API Method                            |   REST API Path                       |                | Comments                         |\r
++===========+====================+=========================================+=======================================+================+==================================+\r
+| Topics    | GetAll Topics      | getTopics()                             | /topics                               | GET            |                                  |\r
+|           | List               |                                         |                                       |                |                                  |\r
+|           +--------------------+-----------------------------------------+---------------------------------------+----------------+----------------------------------+\r
+|           | Get All Topics     |                                         |                                       |                |                                  |\r
+|           | List with details  | getAllTopics()                          | /topics/listAll                       | GET            |                                  |\r
+|           +--------------------+-----------------------------------------+---------------------------------------+----------------+----------------------------------+\r
+|           | Get individual     |                                         |                                       |                |                                  |\r
+|           | Topic Details      | getTopic(String topicName)              | /topics/{topicName}                   | GET            |                                  |\r
+|           +--------------------+-----------------------------------------+---------------------------------------+----------------+----------------------------------+\r
+|           | Create Topic       | createTopic(TopicBean topicBean)        | /topics/create                        | POST           |                                  |\r
+|           +--------------------+-----------------------------------------+---------------------------------------+----------------+----------------------------------+\r
+|           | Delete Topic       | deleteTopicString topicName)            | /topics/{topicName}                   | DELETE         |  Not used in current MR version  |\r
+|           +--------------------+-----------------------------------------+---------------------------------------+----------------+----------------------------------+\r
+|           | Get Publishers     | getPublishersByTopicName                |                                       |                |                                  |\r
+|           | for a Topic        | String topicName)                       | /topics/{topicName}/producers         | GET            |  UEB Backward Compatibility      |\r
+|           +--------------------+-----------------------------------------+---------------------------------------+----------------+                                  |\r
+|           | Add a Publisher    | permitPublisherForTopic                 | /topics/{topicName}/producers/        | PUT            |                                  |\r
+|           | to write ACLon     | (String topicName, String producerId)   | {producerId}                          |                |                                  |\r
+|           | a Topic            |                                         |                                       |                |                                  |\r
+|           +--------------------+-----------------------------------------+---------------------------------------+----------------+                                  |\r
+|           | Remove a Publisher | denyPublisherForTopic(String topicName, | /topics/{topicName}/producers/        | DELETE         |                                  | \r
+|           | from write ACL on  | String producerId)                      | {producerId}                          |                |                                  |\r
+|           | a Topic            |                                         |                                       |                |                                  |\r
+|           +--------------------+-----------------------------------------+---------------------------------------+----------------+                                  |\r
+|           | Get Consumers for  | getConsumersByTopicName                 | /topics/{topicName}/consumers         |  GET           |                                  |\r
+|           | a Topic            | (String topicName)                      |                                       |                |                                  |\r
+|           +--------------------+-----------------------------------------+---------------------------------------+----------------+                                  |\r
+|           | Add a Consumer     | permitConsumerForTopic(String           | /topics/{topicName}/consumers/        |  PUT           |                                  |\r
+|           | to read ACL        | topicName,String consumerId)            | {consumerId}                          |                |                                  |\r
+|           | on a Topic         |                                         |                                       |                |                                  |    \r
+|           +--------------------+-----------------------------------------+---------------------------------------+----------------+                                  |\r
+|           | Remove a consumer  | denyPublisherForTopic(String topicName, | /topics/{topicName}/consumers/        | DELETE         |                                  | \r
+|           | from write         | String consumerId)                      | {consumerId}                          |                |                                  |\r
+|           | ACL on a Topic     |                                         |                                       |                |                                  |\r
++-----------+--------------------+-----------------------------------------+---------------------------------------+----------------+----------------------------------+\r
diff --git a/docs/release-notes.rst b/docs/release-notes.rst
new file mode 100644 (file)
index 0000000..6c168cf
--- /dev/null
@@ -0,0 +1,54 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+
+Release Notes
+=============
+
+.. note::
+   * This Release Notes must be updated each time the team decides to Release new artifacts.
+   * The scope of this Release Notes is for this particular component. In other words, each ONAP component has its Release Notes.
+   * This Release Notes is cumulative, the most recently Released artifact is made visible in the top of this Release Notes.
+   * Except the date and the version number, all the other sections are optional but there must be at least one section describing the purpose of this new release.
+   * This note must be removed after content has been added.
+
+
+Version: x.y.z
+--------------
+
+
+: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**
+   - `CIMAN-65 <https://jira.onap.org/browse/CIMAN-65>`_ and a sentence explaining what this defect is addressing.
+**Known Issues**
+   - `CIMAN-65 <https://jira.onap.org/browse/CIMAN-65>`_ and two, three sentences.
+     One sentences explaining what is the issue.
+
+     Another sentence explaining the impact of the issue.
+
+     And an optional sentence providing a workaround.
+
+**Security Issues**
+   You may want to include a reference to CVE (Common Vulnerabilities and Exposures) `CVE <https://cve.mitre.org>`_
+
+
+**Upgrade Notes**
+
+**Deprecation Notes**
+
+**Other**
+
+===========