'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' 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 adapterxnf
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 ==
loop 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 <->
xnf <-> ncc: NETCONF\nestablish session\n<hello>
ncc -> mdsalStatedeviceManager: Connected!
mdsalState -> genDM: (JAVA)onStateChange\nincluding(including yang-capabilities
== NetConf Subscription ==
genDM deviceManager -> specificDMdeviceManager: Instanciation
activate specificDM
specificDM -> specificDM: IF device supports\n'create-subscription'
ncc <- specificDMdeviceManager: NETCONF\n<create-subscription>
adapterxnf <- ncc: NETCONF\n<create-subscription>
deactivate genDM
== NetConfTrigger a Connectionvalid Stateconfiguration ==
genDMuser -> mpState: (JAVA)mountpointStateupdates\n(connected)
mpStatercs: REST PUT or POST request for xNF
rcs -> dmaapncc: MountpointState updates
loop pull for messages fortopic\n'MOUNTPOINT_STATE'
msgConsumerODL-MDSAL
ncc -> xnf: <edit-config>
xnf -> ncc: <rpc-reply>
ncc -> dmaaprcs: check for message
msgConsumer <- dmaap: responsewithMountpointState
end loopODL-MDSAL
rcs -> user: HTTP RESPONSE
== ConfigurationRelated Changenotification Notificationflow ==
device -> adapter: SOAP\nHTTP POST
adapter
xnf -> ncc: NETCONF:\n<notification>CM-notification\nNetConf/YANG
ncc -> mdsalConfigdeviceManager: notificationODL-MDSAL
mdsalConfigdeviceManager -> specificDMvesProvider: (JAVA) notification
specificDMODL-MDSAL
deviceManager -> msgProviderlog: translationstore event
msgProvidervesProvider -> dmaapvesProvider: VES cmNotify
loop pull for messages for topic\n'CM_NOTIFY'
msgConsumerconvertion/model-translation \n(xml->ves)
vesProvider -> dmaapvesConsumer: REST: checksend forVES messageMessage
vesConsumer msgConsumer <-> dmaap: responseREST: withPublish cmNotify
end loop
event \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 {
BorderColor databaseBorderColor #444444
skinparam databaseBackgroundColor BackgroundColor #ffffdd#fefefe
skinparam databaseFontColor FontColor #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
|