---------------------------------
This feature allows TransportPCE application to write and read notifications stored in topics of a Kafka server.
-When the feature is called to write notification to a Kafka server, it will serialize the notification
-into JSON format and then will publish it in a topic of the server.
-When the feature is called to read notifications from a Kafka server, it will retrieve it from
-the topic of the server and will deserialize it.
+It is basically composed of two kinds of elements. First are the 'publishers' that are in charge of sending a notification to
+a Kafka server. To protect and only allow specific classes to send notifications, each publisher
+is dedicated to an authorized class.
+Then are the 'subscribers' that are in charge of reading notifications from a Kafka server.
+So when the feature is called to write notification to a Kafka server, it will serialize the notification
+into JSON format and then will publish it in a topic of the server via a publisher.
+And when the feature is called to read notifications from a Kafka server, it will retrieve it from
+the topic of the server via a subscriber and will deserialize it.
For now, when the REST RPC service-create is called to create a bidirectional end-to-end service,
-depending on the success or the fail of the creation, the feature will notify the progression of
+depending on the success or the fail of the creation, the feature will notify the result of
the creation to a Kafka server. The topics that store these notifications are named after the connection type
(service, infrastructure, roadm-line). For instance, if the RPC service-create is called to create an
infrastructure connection, the service notifications related to this connection will be stored in
:alt: Example of service notifications using the feature nbinotifications in TransportPCE
-Depending of the success of the service creation, different notifications will be published
+Depending on the status of the service creation, two kinds of notifications can be published
to the topic 'service' of the Kafka server.
+If the service was correctly implemented, the following notification will be published :
-- **ServiceCreate request received** : Indicates that TransportPCE received an RPC request service-create
- and started the process of creation. The notification contains all information concerning
- the new service to create.
-
-If the service was correctly implemented, these notifications will be published :
-
-
-- **PCE calculation done OK !** : Indicates that the PCE calculation requested by the service-create
- was successful. It also contains all information concerning the new service to create.
- **Service implemented !** : Indicates that the service was successfully implemented.
It also contains all information concerning the new service.
Otherwise, this notification will be published :
-- **ServiceCreate failed ...** : Indicates that the process of service-create failed.
- It contains the failure response.
+- **ServiceCreate failed ...** : Indicates that the process of service-create failed, and also contains
+ the failure cause.
+
To retrieve these service notifications stored in the Kafka server :
-**REST API** : *POST /restconf/operations/nbi-notifications:get-notifications-service*
+**REST API** : *POST /restconf/operations/nbi-notifications:get-notifications-process-service*
**Sample JSON Data**
}
.. note::
- The field 'connection-type' corresponds to the topic that store the notifications.
+ The field 'connection-type' corresponds to the topic that stores the notifications.
+
+Another implementation of the notifications allows to notify any modification of operational state made about a service.
+So when a service breaks down or is restored, a notification alarming the new status will be sent to a Kafka Server.
+The topics that store these notifications in the Kafka server are also named after the connection type
+(service, infrastructure, roadm-line) accompanied of the string 'alarm'.
+
+To retrieve these alarm notifications stored in the Kafka server :
+
+**REST API** : *POST /restconf/operations/nbi-notifications:get-notifications-alarm-service*
+
+**Sample JSON Data**
+
+.. code:: json
+
+ {
+ "input": {
+ "connection-type": "infrastructure",
+ "id-consumer": "consumer",
+ "group-id": "test"
+ }
+ }
+
+.. note::
+ This sample is used to retrieve all the alarm notifications related to infrastructure services.
Help
----