...
PlantUML Macro |
---|
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' 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
O-RAN-SC
How to implement non-permanent NetConf sessions using ODL
end title
box "OpenDaylight" #gold
participant "ODL NetConf Client" as ncc
participant "Customer NetConf Adapter" as adapter
end box
box “Network” #lightpink
participant "NetConf Server" as ncs
end box
== Target subject of the discussion ==
ncs <--> adapter: non-permanent NetConf Session
adapter <-> ncc: permanent NetConf Session
note right
The adapter keeps the SSH TLS session to ODL,
identifiies ODL-NetConf-KeepAlives and anwers them.
Consequence:
- From ODL point of view the MountPoint is the Adapter.
- Details about port ranges and Handover to another "master"
of the NetConf session in an ODL cluster to be discussed.
- Is the Adapter instanciated per MountPoint or does the
Adapter terminate more than one NetConf session?
- How are the TLS certificates, private keys handled between
NetConf-Server, Adapter, NetConf Client?
end note
== Details starting from NO CONNECTION ==
ncc <-> adapter: Establish SSH/TLS
activate adapter #lightpink
adapter <-> ncs: <b><font color=blue>Establish SSH/TLS
activate adapter #f66
autonumber 10 10 "<b>[000]"
ncc -> adapter: Hello Message
adapter -> ncs: Hello Message
adapter <- ncs: Capabilites
ncc <- adapter: Capabilites
adapter -> ncs: <b><font color=blue>Close session - Terminate NetConf/TLS/SSH
deactivate adapter
loop every 120s #6ff
ncc -> adapter: NetConf keep-alive request
ncc <- adapter: NetConf keep-alive response
end loop
ncc -> adapter: <rpc> request
activate adapter #f66
adapter <-> ncs: <b><font color=blue>Establish SSH/TLS
adapter -> ncs: Hello Message
adapter <- ncs: Capabilites
adapter -> adapter: Analyse capability changes
ncc <- adapter: inform in case of capability changes
adapter -> ncs: <rpc> request
adapter <- ncs: <rpc> response
ncc <- adapter: <rpc> response
adapter -> ncs: <b><font color=blue>Close session - Terminate NetConf/TLS/SSH
deactivate adapter
loop every 120s
ncc -> adapter: NetConf keep-alive request
ncc <- adapter: NetConf keep-alive response
end loop
ncc -> adapter: Close session - Terminate NetConf/TLS/SSH
deactivate adapter
' 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!
2019-07-16 | o-ran-sc.org
end footer
skinparam backgroundColor #fefefe
'skinparam handwritten true
skinparam roundcorner 15
skinparam componentStyle uml2
skinparam databaseBorderColor #444444
skinparam databaseBackgroundColor #fefefe
skinparam databaseFontColor #444444
skinparam component {
BorderColor #666666
BackgroundColor #fefefe
}
skinparam interface {
BorderColor #666666
BackgroundColor #fefefe
FontColor #fefefe
}
skinparam node {
FontColor #ffffff
}
skinparam sequence {
MessageAlign left
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 |
...