Versions Compared

Key

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

O-RAN Alliance OpenFronthaul specifications define for O-RU and O-DU management plane traffic the usage of NetConf Notifications.

The message flow in ONAP defines for notifications the VES messages format send to DMaaP VES collector to be forwarded to DMaaP Message Router.

SDN-R should close the gap for NetConf notifications and should make NetConf notification content available in a generic way for all ONAP µServices. Such function was already discussed based on 

Jira
serverONAP JIRA
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keySDNC-887
. The VES domain "notification" could be used for Configuration Change Notification. However, once 3GPP has agreed on VES 'cmNofity' the now domain should be used.

Related components: Devicemanager cluster bundles

On SDN-R level the NetConf CM Notification Handling mechanism should be combinded with all kind for notfication from SDN-R to other ONAP components. Therefore all the functionality of the VES collector should be used instead of sending directly messaged to DMaaP.

The name of the component is "VES Provider".

Such notifications are:

Related Jiras

Jira
serverONAP JIRA
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keySDNC-1187

Jira
serverONAP JIRA
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keySDNC-1188


PlantUML Macro
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 
' PlantUML for ONAP/O-RAN NetConfConfiguration CMmanagement Notify(NetConf)
'
' Copyright 2020 highstreet technologies GmbH
' Licensed under the Apache License, Version 2.0 (the "License"); 
' you may not use this file except in compliance with the License. 
' You may obtain a copy of the License at 
' 
' http://www.apache.org/licenses/LICENSE-2.0 
' 
' Unless required by applicable law or agreed to in writing, software 
' distributed under the License is distributed on an "AS IS" BASIS, 
' WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
' See the License for the specific language governing permissions and 
' limitations under the License. 
'

@startuml

' Diagram 
title 
  ONAP/O-RAN NetConf CM notification Configuration management
end title
                          
box “Network” #lightpink
  participant "DevicexNF" as device
  participant "TR069 Adapter" as adapter
xnf
end box


box "SDN-R: CCSDK - ODLSMO-O1-Controller \n(e.g. ONAP CCSDK/SDNC/SDN-R)" #gold
  participant "NetConf Client" as ncc
  databaseparticipant "<b>MDSAL</b>O1-xNF-Adapter \n(confige.g. DeviceManager)" as mdsalConfigdeviceManager
  database "<b>MDSAL</b>\n(state)Log or CSP" as mdsalStatelog
end box

box  participant "SDN-R: SDNC - wireless technologies" #goldVES Provider" as vesProvider
  participant "<b>generic</b>\nDeviceManagerRestConf Server" as genDMrcs
  participantend box

box "MountpointState\nProvider" as mpState
  participant "<b>specific</b>\nDeviceManager" as specificDMSMO O1-EventCollector \n(e.g. ONAP VES Collector)" #gold
  participant "Notification\nProviderVES Collector" as msgProvidervesConsumer
end box

box "SMO MessageBus \n(e.g. ONAP DMaaP)" #gold
  participant "Message Router\n(data < 1MB)" as dmaap
  ' https://wiki.onap.org/pages/viewpage.action?pageId=48533274
end box

box "µService"#lightgreenUser space" #lightblue
  participantactor "Notification\nConsumerSMO µService, rApp \n or OLDUX in browser" as msgConsumeruser
end box

autonumber 1 1 "<b>[00]"

== Start the engines ==

loopxnf pull for messages for topic\n'CM_NOTIFY' and 'MOUNTPOINT_STATE'
  msgConsumer -> dmaap: check for message
  msgConsumer <- dmaap: response
end loop
genDM -> mdsalState: subscription
genDM -> mdsalConfig: subscription
device <-> adapter: OnBoarding
adapter <-><-> ncc: NETCONF\nestablish session\n<hello>
ncc -> deviceManager: Connected! (including yang-capabilities
deviceManager -> deviceManager: IF device supports\n'create-subscription'
ncc <- deviceManager: NETCONF\n<create-subscription>

xnf <- ncc: NETCONF\nestablish session\n<hello>
ncc -> mdsalState: Connected!n<create-subscription>


== Trigger NetConfa Connectionvalid Stateconfiguration == 

mdsalStateuser -> genDMrcs: (JAVA) onStateChange\nincluding yang-capabilities
genDM -> mpState: (JAVA) mountpointStateupdates\n(connected)
mpStateREST PUT or POST request for xNF
rcs -> dmaapncc: MountpointState updates
msgConsumerODL-MDSAL
ncc -> dmaapxnf: check for message
msgConsumer <- dmaap: response with MountpointState

== NetConf Subscription == 

genDM<edit-config>
xnf -> specificDMncc: Instanciation
activate specificDM
specificDM -> specificDM: IF device supports\n'create-subscription'<rpc-reply>
ncc <-> specificDMrcs: NETCONF\n<createODL-subscription>MDSAL

adapterrcs <-> nccuser: NETCONF\n<create-subscription>
deactivate genDMHTTP RESPONSE

== ConfigurationRelated Changenotification Notificationflow == 

devicexnf -> adapter: SOAP\nHTTP POST
adapterncc:CM-notification\nNetConf/YANG
ncc -> nccdeviceManager: NETCONF:\n<notification>
nccODL-MDSAL
deviceManager -> mdsalConfigvesProvider: notificationODL-MDSAL
mdsalConfigdeviceManager -> specificDMlog: (JAVA)store notificationevent
specificDMvesProvider -> msgProvidervesProvider: convertion/model-translation
msgProvider \n(xml->ves)
vesProvider -> dmaap:vesConsumer: REST: send VES cmNotifyMessage
msgConsumervesConsumer -> dmaap: check for message
msgConsumer <- dmaapREST: responsePublish with cmNotifyevent \nunauthenticated.VES_NOTIFICATION_OUTPUT

' End Diagram
' Format
header
  <b><font color=#8888ff>License</font></b>
  <b><font color=#8888ff>Apache 2.0</font></b>
end header

right footer 
  Thanks to plantUml! 
  2020-0506-0817 | onap.org | o-ran-sc.org
end footer

skinparam backgroundColor #fefefe

skinparam backgroundColor #fefefe
'skinparam handwritten true
skinparam roundcorner 15

skinparam database {
  BorderColordatabaseBorderColor #444444
skinparam databaseBackgroundColor BackgroundColor #ffffdd#fefefe
skinparam  FontColordatabaseFontColor #444444
}

skinparam sequence {
  MessageAlign left
  ArrowThicknessArrowColor 2#2277dd
  ArrowColorArrowFontColor #2277dd#444444
  ArrowFontColorArrowThickness #4444442
  ActorBorderColor #444444
  LifeLineBorderColor #444444
  LifeLineBackgroundColor #eeeeee
  LifeLineBackgroundColor #eeeeee
 
  BoxBorderColor #444444
    
  GroupBorderColor #444444
  GroupBackgroundColor #eeeeee
  
  ParticipantBorderColor #444444
  ParticipantBackgroundColor #ffffdd
  ParticipantFontColor #444444
    
  ActorBackgroundColor #ffffdd
  'ActorFontColor DeepSkyBlue
  'ActorFontSize 17
  'ActorFontName Aapex
}

@enduml