You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

The SDN-R Websocketmanager is a server which a client can connect to, to receive NETCONF notifications forwarded by the the devicemanagers. To get rid of all old protocol issues we redesigned all the messages.

The user scope registration

This is a full example of a registration for notifications of a specific type. In this case all problem-notification notifications of the node with the node-id node1 implemented in the microwave-model@2018-10-10.yang.

{
  "data":"scopes",
  "scopes":[
    {
      "node-id":"node1"
      "schema":{
          "namespace":"onf:params:xml:ns:yang:microwave-model",
          "revision":"2018-10-10",
          "notification":["problem-notification"]   
       }
    }
  ]
}

In fact there are a lot of use cases to receive a lot of different notifications or specific notifications for a bunch of nodes, most properties are optional

propertyoptionaldescription
node-idyesfilter for notifications only from node with node-id
schemayesfilter for specific notifications implemented by a model
schema.namespacenoif schema is set, namespace has to be set, otherwise a schema is not valid
schema.revisionyesfilter for a specific revision of the implemented model
schema.notificationyesfilter for specific notification types of the model

If the user scope registration succeeds you will get a response with your submitted scopes

{
  "status": "success",
  "scopes": [
    {
      "node-id":"node1"
      "schema":{
          "namespace":"onf:params:xml:ns:yang:microwave-model",
          "revision":"2018-10-10",
          "notification":["problem-notification"]   
       }
    }
  ]
}

If not you will receive an error message with the cause, e.g.

{
  "status": "error",
  "message":"unable to parse scopes"
}

User scope registration examples

Example 1: All notifications for node-id:

{
  "data":"scopes",
  "scopes":[
    {
      "node-id":"node1"
    }
  ]
}

Example 2: All notifications(every node) implemented in microwave-model:

{
  "data":"scopes",
  "scopes":[
    {
      "schema":{
          "namespace":"onf:params:xml:ns:yang:microwave-model"
       }
    }
  ]
}

Example 3: All notifications(every node) of type problem-notification of microwave-model:

{
  "data":"scopes",
  "scopes":[
    {
      "schema":{
          "namespace":"onf:params:xml:ns:yang:microwave-model",
          "notification":["problem-notification"]   
       }
    }
  ]
}

Example 4: All notifications(every node) of type problem-notification of microwave-model@2018-10-10:

{
  "data":"scopes",
  "scopes":[
    {
      "schema":{
          "namespace":"onf:params:xml:ns:yang:microwave-model",
          "revision":"2018-10-10",
          "notification":["problem-notification"]   
       }
    }
  ]
}

Example 5: All notifications for node-id of type problem-notification of microwave-model@2018-10-10:

{
  "data":"scopes",
  "scopes":[
    {
      "node-id":"node1"
      "schema":{
          "namespace":"onf:params:xml:ns:yang:microwave-model",
          "revision":"2018-10-10",
          "notification":["problem-notification"]   
       }
    }
  ]
}

Notifications

A notification has the following structure

{
  "event-time": "2021-03-12T05:08:55.3Z",
  "type": "urn:opendaylight:params:xml:ns:yang:devicemanager@2019-01-09:object-creation-notification",
  "node-id": "SDN-Controller-0",
  "data": {
    "object-id-ref": "sim1",
    "counter": 7,
    "time-stamp": "2021-03-12T05:08:55.2Z"
  }
}

Properties:

propertydescription
node-idnode-id which is the source the notification
event-timetimestamp of the notification
type<namespace>@<revision>:<notification-type>
datanotification itself
  • No labels