Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.



Table of Contents
outlinetrue

Introduction and Approach

In BBS, notifications generated by the domain specific M&C (Access, Edge) into ONAP using the capabilities provided by ONAP's DCAE component and supported collectors that map the notifications into VES events for processing within ONAP.

For this release, BBS uses Restconf Collector to collect the notifications, converting the notification into the requisite VES event by the VES Mapper uS. The VES event placed on the DMaaP bus with a topic that can be consumed by the associated DCAE uS for processing. In many cases the DCAE uS uses ONAP's Policy capabilities to implement the function specific to the notification.  The specific interactions are documented within the corresponding notification as identified below.

Supported Notifications

The primary scenarios for notifications within BBS are to support:

Common Functionality

BBS Notifications have functionality provided by ONAP components that is used by multiple BBS Notifications


DCAE

Restconf Collector

Notifications from domain specific controllers (Access, Edge) can be transmitted to ONAP using ONAP's Restconf collector leveraging the APIs specified in CCVPN Closed Loop

Figure 2.  Domain Controller ↔ Restconf Collector Interfacing Diagram

 

For BBS Notifications, the Restconf collector subscribes to notifications to the requisite domain controller (Access, Edge) for the notifications that ONAP is interested and the domain controller supports. For subscribed notifications, the Restconf Collector establishes a persistent connection with the domain controller through which the notifications are pushed by the domain controller to the Restconf Collector.  The Restconf Collector then adds an OID for the Restconf2VES,xml file which is used to translate the event to the standard VES format by the VES Mapper and is published using the topic associated with the VES Event.

The association happens at design time to build JSON message with different topics of the Restconf_Notification with a certain Restconf2VES XML file indicator. In addition, the domain controller's IP/port, authentication information and produced topic could be assigned at design time at blue print creation through DCAE-DS and configurable at control loop creation time from CLAMP.

Image RemovedImage Added

DCVES=Domain Controller  VES Collector   RCC=Restconf Collector thread   UVA=Universal VES Adaptor thread  SSE=SSE Connection

ORN=ONT Registration Notification  RN=Restconf Notification topic  PNF_R=PNF Registration Event

RAN=RG Activation Notification   CPE_A=CPE Authentication Event  PRH=PNF Registration Handler  PU= PNF Update Handler  BBS MS= BBS Micro-service 

Figure 23. Logic flow of Restconf Collector through the VES Mapper


Example Domain Controller Notifications

The following provides examples of various notifications that are generated by the domain controllers (Access or Edge SDN M&C).

ONT Registration Notification

Following is an example of ONT Registration notification received from Access SDN M&C.

Code Block
languagetext
firstline1
titleONT Registration Notification
linenumberstrue
collapsetrue
[
    {
     	“notification” :
        {
         “event-time”: ”2018-:	{
		“event-time”: ”2018-03-15T08:15:32.000Z”,
         		“notification-id”:  ”2541256”,
         “message”:	{
			“topic”:“resource”,
            {
“object-type”:“onu”,                “topic”:“resource”,

			“version”: ”v1”,                “object-type”:“ont”
			“operation”: “create”,               
                “version”: ”v1”,
                “operation”: “Create”,

			“target”: ”ont/ont=23hk1231231232”,   
			“content”:	{
				“onu”:	{
					"sn":	"48575443FA637D1A",
					"refParentNE":	"550e8400-e29b-41d4-a716-446655440000",
                “target”: ”ont/ont=23hk1231231232”   	"refParentNeNativeId":	"FDN",
					"refParentLTP":	"8c0db89e-218c-4e18-b0de-7a6788b3dda4",
					"refParentLTPNativeId":	"FDN",
                “content”:
                   {				"onuId": "213",
                    “ont”:
                       {                        
                        “ontSN”:“48575443FA637D1A”,            
                        “neName”:“MA5800T-001”"accessID":	"HG65875420001"
				}
			}
		}
	}
}


 

The output of Restconf Collector for the ONT Registration is the above JSON message with certain rule_id being published on DMAAP with topic of restConf_Notification.

Code Block
languagetext
firstline1
titleONT Registration RCC Output
linenumberstrue
collapsetrue
{
    "rule-id": "12121",
	“notification”:	{
		“event-time”: ”2018-03-15T08:15:32.000Z”,
		“notification-id”:  ”2541256”,
        “message”:	{
			“topic”:“resource”,
            “object-type”:“onu”,            “neUNIPort”:“0/1/6”,
   
			“version”: ”v1”,               
			“operation”: “create”,    “onuID”:“101”,              
			“target”: ”ont/ont=23hk1231231232”,   
			“content”:	{
				“onu”:	{
					"sn":	"48575443FA637D1A",
					"refParentNE":	"550e8400-e29b-41d4-a716-446655440000",
                          	"refParentNeNativeId":	"FDN",
					"refParentLTP":	"8c0db89e-218c-4e18-b0de-7a6788b3dda4",
					"refParentLTPNativeId":	"FDN",
      				"onuId": "213",
               
                        “accessID”:“HG65875420001”,                        
                        “remark”:“”,
                     }
                }
            }
        }
    }
]

The output of Restconf Collector for the ONT Registration is the above JSON message being published on DMAAP with topic of RestConf_ONT_Registration. 

RG Activation
"accessID":	"HG65875420001"
				}
			}
		}
	}
}
RG Activation Notification

Following is an example of RG Activation Following is an example of RG Activation notification received from Edge SDN M&C domain controller .if the interface between DCAE and the domain controller is RestConf/Yang.  In Dublin release, an Edge SDN M&C simulator is provided by SwissCom development team, which will interfacing with DCAE through VES Rest API and VES CPE Authentication event will be delivered to DCAE directly. 

Code Block
languagetext
Code Block
languagetext
firstline1
titleRG Activation Notification
linenumberstrue
collapsetrue
  [
      {
          “notification”
          {
              “event-time”:  ”2018-04-15T08:15:32.000Z”,
              “notification-id”:  ”2541256”,
              “message”:
              {
                  “topic”:“resource”,
                  “object-type”:“Gateway”,
                  “version”: ”v1”,
                  “operation”: “Create”,
                  “target”: "Gateway/sn=83575443FA637D1A”,
                  “content” :
                  {
                      “Gateway”:
                      {
                          “gatewaySN”:“83575443FA637D1A”,                                   
                          “mac”:“28-6E-D4-89-34-DD”,               
                          “pppoeUserName”: ”587564@163.com”,                
                          “ip”: "10.68.52.158”,
                          “state”:”Online”,
                          “ontSN”:“48575443FA637D1A”                            
                      }                
                  }
              }
          }
      }           
  ]

The output of Restconf Collector for the RG Activation could be the above JSON message with certain rule_id being published on DMAAP with topic of restConf_Notification. 


Code Block
languagetext
firstline1
titleRG Activation RCC Output
linenumberstrue
collapsetrue
[
	  {
	  "rule_id" : "example id" 

      },
      {
          “notification”
          {
              “event-time”:  ”2018-04-15T08:15:32.000Z”,
              “notification-id”:  ”2541256”,
              “message”:
              {
                  “topic”:“resource”,
                  “object-type”:“Gateway”,
                  “version”: ”v1”,
                  “operation”: “Create”,
                  “target”: "Gateway/sn=83575443FA637D1A”,
                  “content” :
                  {
                      “Gateway”:
                      {
                          “gatewaySN”:“83575443FA637D1A”,                                   
                          “mac”:“28-6E-D4-89-34-DD”,               
                          “pppoeUserName”: ”587564@163.com”,                
                          “ip”: "10.68.52.158”,
                          “state”:”Online”,
                          “ontSN”:“48575443FA637D1A”                            
                      }                
                  }
              }
          }
      }           
  ]

VES Mapper

Restconf2VES Mapping

The Restconf2VES mapping rule (*.xml) is provided by the vendor for certain type of notification for ONT and defined as the following:  

The ONT Registration Notification is mapped to VES PNF Registration Event .

The default mapping artifact (xml file) name is specified at the design time in VES Mapper micro-service blueprint at DCAE-DS and it is configurable through CLAMP at control loop creation time. The pre-condition is that the mapping file with correct naming convention should be available or on-boarded and stored in ONAP at design time. When the Nomadic ONT control loop is deployed, the mapping files retrievable and loaded to VES Mapper working space.


Code Block
languagetext
firstline1
titleMapping File for ONT Registration
linenumberstrue
collapsetrue
<?xml  “topic”:“resource”,
                  “object-type”:“Gateway”,
     version="1.0" encoding="UTF-8"?>
<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.1.xsd" xmlns:jb="http://www.milyn.org/xsd/smooks/javabean-1.4.xsd" xmlns:json="http://www.milyn.org/xsd/smooks/json-1.1.xsd">
   <json:reader rootName="vesevent" keyWhitspaceReplacement="-">
             “version”: ”v1”,<json:keyMap>
         <json:key         “operation”: “Create”,from="date&amp;time" to="date-and-time" />
      </json:keyMap>
   </json:reader>
   <jb:bean class="org.onap.dcaegen2.ves.domain.VesEvent"     “target”: "Gateway/sn=83575443FA637D1A”,beanId="vesEvent" createOnElement="vesevent">
      <jb:wiring property="event" beanIdRef="event" />
   </jb:bean>
   <jb:bean class="org.onap.dcaegen2.ves.domain.Event"  “content” :
    beanId="event" createOnElement="vesevent">
      <jb:wiring property="commonEventHeader" beanIdRef="commonEventHeader" />
     {
 <jb:wiring property="pnfRegistrationFields" beanIdRef="pnfRegistrationFields" />
   </jb:bean>
       <jb:bean class="org.onap.dcaegen2.ves.domain.CommonEventHeader" beanId="commonEventHeader" createOnElement="vesevent">
        “Gateway”:<jb:expression property="version">"3.0"</jb:expression>
                      {<jb:expression property="eventType">"pnfRegistration"</jb:expression>
      <jb:expression property="vesEventListenerVersion">"7.0"</jb:expression>
      <jb:expression        property="eventId" execOnElement="vesevent">"registration_"+commonEventHeader.ts1</jb:expression>
     “gatewaySN”:“83575443FA637D1A”, <jb:expression property="reportingEntityName">"VESMapper"</jb:expression>
      <jb:expression property="domain">"pnfRegistration"</jb:expression>
      <jb:expression     property="eventName" execOnElement="vesevent">commonEventHeader.domain</jb:expression>
      <jb:value property="sequence" data="0" default="0"      decoder="Long" />
      <jb:expression         property="lastEpochMicrosec" execOnElement="vesevent">commonEventHeader.ts1</jb:expression>
      <jb:expression     “mac”:“28-6E-D4-89-34-DD”,property="startEpochMicrosec" execOnElement="vesevent">commonEventHeader.ts1</jb:expression>
                <jb:expression property="priority">"Normal"</jb:expression>
      <jb:value property="sourceName" data="notification/message/target" />
   </jb:bean>
   <jb:bean    class="org.onap.dcaegen2.ves.domain.PnfRegistrationFields" beanId="pnfRegistrationFields" createOnElement="vesevent">
       “pppoeUserName”<jb: ”587564@163.com”,expression property="pnfRegistrationFieldsVersion">"2.0"</jb:expression>
      <jb:value          
                  property="serialNumber" data="notification/message/content/ont/ontSN" />
   </jb:bean>
</smooks-resource-list>


Below is the VES event for ONT Registration :

Code Block
languagetext
firstline1
titleVES Event for ONT Registration
linenumberstrue
collapsetrue
{
   "event":{
        “ip”: "10.68.52.158”,
    "commonEventHeader":{
                      “state”:”Online”,
    "domain":"pnfRegistration",
         "eventId":"registration_1550146312489",
         "eventName":"pnfRegistration",
    “ontSN”:“48575443FA637D1A”     "lastEpochMicrosec":1.550146312489E12,
         "priority":"Normal",
         "reportingEntityName":"VESMapper",
     
    "sequence":0,
         "sourceName":"ont/ont=23hk1231231232",
         }"startEpochMicrosec":1.550146312489E12,
         "version":3.0,
       
  "eventType":"pnfRegistration",
          "vesEventListenerVersion":"7.0"
      },
      "pnfRegistrationFields":{
         }"pnfRegistrationFieldsVersion":"2.0",
          }"serialNumber":"48575443FA637D1A"
      }
           
  ]

The output of Restconf Collector for the RG Activation is the above JSON message being published on DMAAP with topic of RestConf_RG_Activation. 

VES Mapper

Restconf2VES Mapping

The Restconf2VES mapping rule (*.xml) is provided by the vendor for certain type of notification for ONT and defined as the following:  

Code Block
languagetext
firstline1
titlerestconf2VES.xml
linenumberstrue
collapsetrue
}
}


Test Cases

High Level Test Cases and Status:

#Sub ModuleTest CasesStatus
1

Restconf Collector

Jira
serverONAP JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyDCAEGEN2-1142

PTLVijay Venkatesh Kumar

SSE connection per notification typeNOT YET TESTED
2Connection authentication run time configurationNOT YET TESTED
3VES mapping index run time configurationNOT YET TESTED
4ONT Registration notification Receiving/ProcessingNOT YET TESTED
5RCC MS on boarding at design timeNOT YET TESTED
6Instantiation of RCC MS with CL from CLAMPNOT YET TESTED
7Configure RCC parameters at run time through CLAMP GUINOT YET TESTED

VES Mapper
The default mapping artifact (xml file) name is specified at the design time in VES Mapper micro-service blueprint at DCAE-DS and it is configurable through CLAMP at control loop creation time. The pre-condition is that the mapping file with correct naming convention should be available or on-boarded and stored in ONAP at design time. When the Nomadic ONT control loop is deployed, the mapping files retrievable and loaded to VES Mapper working space.