Versions Compared

Key

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

...

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

...