'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' PlantUML for ONAP NetConf CM Notify
'
' 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 NetConf CM notification
end title
box “Network” #lightpink
participant "Device" as device
participant "TR069 Adapter" as adapter
end box
box "SDN-R: CCSDK - ODL" #gold
participant "NetConf Client" as ncc
database "<b>MDSAL</b>\n(config)" as mdsalConfig
database "<b>MDSAL</b>\n(state)" as mdsalState
end box
box "SDN-R: SDNC - wireless technologies" #gold
participant "<b>generic</b>\nDeviceManager" as genDM
participant "MountpointState\nProvider" as mpState
participant "<b>specific</b>\nDeviceManager" as specificDM
participant "Notification\nProvider" as msgProvider
end box
box "DMaaP"#gold
participant "Message Router\n(data < 1MB)" as dmaap
' https://wiki.onap.org/pages/viewpage.action?pageId=48533274
end box
box "µService"#lightgreen
participant "Notification\nConsumer" as msgConsumer
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 <-> ncc: NETCONF\nestablish session\n<hello>
ncc -> mdsalState: Connected!
mdsalState -> genDM: (JAVA)onStateChange\nincluding yang-capabilities
== NetConf Subscription ==
genDM -> specificDM: Instanciation
activate specificDM
specificDM -> specificDM: IF device supports\n'create-subscription'
ncc <- specificDM: NETCONF\n<create-subscription>
adapter <- ncc: NETCONF\n<create-subscription>
deactivate genDM
== NetConf Connection State ==
genDM -> mpState: (JAVA)mountpointStateupdates\n(connected)
mpState -> dmaap: MountpointState updates
loop pull for messages fortopic\n'MOUNTPOINT_STATE'
msgConsumer -> dmaap: check for message
msgConsumer <- dmaap: responsewithMountpointState
end loop
== Configuration Change Notification ==
device -> adapter: SOAP\nHTTP POST
adapter -> ncc: NETCONF:\n<notification>
ncc -> mdsalConfig: notification
mdsalConfig -> specificDM: (JAVA) notification
specificDM -> msgProvider: translation
msgProvider -> dmaap: VES cmNotify
loop pull for messages for topic\n'CM_NOTIFY'
msgConsumer -> dmaap: check for message
msgConsumer <- dmaap: response with cmNotify
end loop
' 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-05-08 | onap.org | o-ran-sc.org
end footer
skinparam backgroundColor #fefefe
skinparam backgroundColor #fefefe
'skinparam handwritten true
skinparam roundcorner 15
skinparam database {
BorderColor #444444
BackgroundColor #ffffdd
FontColor #444444
}
skinparam sequence {
MessageAlign left
ArrowThickness 2
ArrowColor #2277dd
ArrowFontColor #444444
ActorBorderColor #444444
LifeLineBorderColor #444444
LifeLineBackgroundColor #eeeeee
BoxBorderColor #444444
GroupBorderColor #444444
GroupBackgroundColor #eeeeee
ParticipantBorderColor #444444
ParticipantBackgroundColor #ffffdd
ParticipantFontColor #444444
ActorBackgroundColor #ffffdd
'ActorFontColor DeepSkyBlue
'ActorFontSize 17
'ActorFontName Aapex
}
@enduml |