Versions Compared

Key

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

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

The Restconf

The APIs to Access SDN M&C leverage those specified in CCVPN Closed Loop

Image Removed

Figure 2.  Domain Controller ↔ Restconf Collector Interfacing Diagram

 

In case of BBS Nomadic ONT, Restconf collector subscribes both of ONT Registration and RG Activation notifications through separate SSE connections with Access SDN M & C , each of the connection handler is assigned at design time to build JSON message with different topics of Restconf_Notification with certain Restconf2VES XML file indicator (in OID field for the time being ). The SB domain controller 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.

ONT Registration Notification

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

Code Block
languagetext
firstline1
titleONT Registration Notification
linenumberstrue
collapsetrue
[ { “notification” : { “event-time”: ”2018-03-15T08:15:32.000Z”, “notification-id”: ”2541256”, “message”: { “topic”:“resource”, “object-type”:“ont”, “version”: ”v1”, “operation”: “Create”, “target”: ”ont/ont=23hk1231231232”, “content”: { “ont”: { “ontSN”:“48575443FA637D1A”,



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

Image Added

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 Added

VES=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

CPE_A=CPE Authentication Event  PRH=PNF Registration Handler  BBS MS= BBS Micro-service 

Figure 3. 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-03-15T08:15:32.000Z”,
		“notification-id”:  ”2541256”,
        “message”:	{
			“topic”:“resource”,
                    “neName”:“MA5800T-001”“object-type”:“onu”,               
			“version”: ”v1”,        “neUNIPort”:“0/1/6”,       
			“operation”: “create”,   
			“target”: ”ont/ont=23hk1231231232”,   
			“content”:	{
      “onuID”:“101”,         				“onu”:	{
					"sn":	"48575443FA637D1A",
					"refParentNE":	"550e8400-e29b-41d4-a716-446655440000",
                   	"refParentNeNativeId":	"FDN",
					"refParentLTP":	"8c0db89e-218c-4e18-b0de-7a6788b3dda4",
					"refParentLTPNativeId":	"FDN",
      				"onuId": "213",
                    "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
{
       “accessID”:“HG65875420001”,      "rule-id": "12121",
	“notification”:	{
		“event-time”: ”2018-03-15T08:15:32.000Z”,
		“notification-id”:  ”2541256”,
        “message”:	{
			“topic”:“resource”,
            “object-type”:“onu”,               
    “remark”:“”			“version”: ”v1”,               
			“operation”: “create”,   
 }			“target”: ”ont/ont=23hk1231231232”,   
			“content”:	{
				“onu”:	{
           }					"sn":	"48575443FA637D1A",
					"refParentNE":	"550e8400-e29b-41d4-a716-446655440000",
             }      	"refParentNeNativeId":	"FDN",
					"refParentLTP":	"8c0db89e-218c-4e18-b0de-7a6788b3dda4",
 }
    }
]
The output of Restconf Collector for the ONT Registration is the above JSON message being published on DMAAP with topic of RestConf_ONT_Registration. 
					"refParentLTPNativeId":	"FDN",
      				"onuId": "213",
                    "accessID":	"HG65875420001"
				}
			}
		}
	}
}
RG Activation Notification

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 .

Code Blocklanguagetext

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
firstline1
titleRG Online 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 is could be the above JSON message with certain rule_id being published on DMAAP with topic of RestConfrestConf_RG_ActivationNotification

Image Removed

DC=Domain Controller   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 

Figure 2. Logic flow of Restconf Collector vs VES Mapper

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


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.

PNF Registration Event

VES Mapper converts the ONT Registration notification JSON message from DMAAP into the following PNF Registration event.

Code Block
languagetext
firstline1
titlepnfRegistration Event
linenumberstrue
collapsetrue
This pnfRegistration Event definition can be found at link:
https://wiki.onap.org/display/DW/5G+-+PNF+Plug+and+Play#id-5G-PNFPlugandPlay-STAGE3-PNFREGISTRATIONVESEVENT

The field definitions use for the BBS Use case for ONT Registration:
	eventName: pnfRegistration_<vendorName>_cpe
	eventId: unique per CPE proxied – incremented as described
	sourceName: <PNF-name/PNF correlation ID>: Format string: <Manufacturer
	OUI>-<SerialNumber> or <Manufacturer OUI>-<Model>-<SerialNumber>
	reportingEntityName:<thirdparty-sdnc-id> from esr request
	additionalFields:
		oltName: <OLT name>
		oltPONSlot: <OLT PON Slot>
		oltPONPort: <OLT PON Port>



















PRH E
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 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="-">
      <json:keyMap>
         <json:key from="date&amp;time" to="date-and-time" />
      </json:keyMap>
   </json:reader>
   <jb:bean class="org.onap.dcaegen2.ves.domain.VesEvent" beanId="vesEvent" createOnElement="vesevent">
      <jb:wiring property="event" beanIdRef="event" />
   </jb:bean>
   <jb:bean class="org.onap.dcaegen2.ves.domain.Event" 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">
      <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>
      <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 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">
      <jb: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":{
      "commonEventHeader":{
         "domain":"pnfRegistration",
         "eventId":"registration_1550146312489",
         "eventName":"pnfRegistration",
         "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"
      }
   }
}


Test Cases

High Level Test Cases and Status:

#Sub ModuleTest CasesStatus
1

Restconf Collector

Jira Legacy
serverSystem Jira
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId4733707d-2057-3a0f-ae5e-4fd8aff50176
keyDCAEGEN2-1142

PTLVijay 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