...
PlantUML Macro |
---|
@startuml ' Diagram title SDN-R tiny setup Connectivity end title box "Network" #eeeeee participant "<b>PNF00</b>\nnetconf-server" as pnf00 participant "<b>PNF01</b>\nnetconf-server" as pnf01 participant "<b>PNF99</b>\nnetconf-server" as pnf99 end box box "ONAP SDN-R" #ffffff participant "<b>ODL</b>\nnetconf-client" as odl01 end box box "ONAP A&AI" participant "<b>AAI</b>\nhttps-server" as aai01 end box box "ONAP DCAE" participant "<b>VES Collector</b>\nhttps-server" as ves01 end box group NetConf\nautomated configuration managementconfigurationmanagement pnf00 <-> odl01 : SSH/NetConf/YANG port:830 \n<b>currently active pnf01 <--> odl01 : SSH/NetConf/YANGport: 830 \npossible pnf99 <--> odl01: SSH/NetConf/YANG port:830 \npossible end group group sdnr-interfacing-with-dcae odl01 <-> ves01: https:8443 end group group sdnr-interfacing-with-aai odl01 <-> aai01: https:8443 end group ' End Diagram ' Format header <b><font color=#8888ff>License</font></b> <b><font color=#8888ff>Apache 2.0</font></b> endheader 'caption "\n UML Formatting" right footer SDN-R Tiny Thanks to pYang and plantUml! 2019-04-06 | onap.org end footer skinparam backgroundColor #fefefe skinparam backgroundColor #fefefe 'skinparam handwritten true skinparam roundcorner 15 skinparam databaseBorderColor #666666 skinparam databaseBackgroundColor #fefefe skinparam databaseFontColor #666666 skinparam sequence { MessageAlign left ArrowColor #666666 ArrowFontColor #666666 ActorBorderColor #666666 LifeLineBorderColor #666666 LifeLineBackgroundColor #eeeeee BoxBorderColor #666666 GroupBorderColor #666666 GroupBackgroundColor #eeeeee ParticipantBorderColor #666666 ParticipantBackgroundColor #ffffdd 'ParticipantFontName Impact 'ParticipantFontSize 17 ParticipantFontColor #666666 ActorBackgroundColor #ffffdd 'ActorFontColor DeepSkyBlue 'ActorFontSize 17 'ActorFontName Aapex } @enduml |
OpenDaylight cluster (medium setup)
...
PlantUML Macro |
---|
@startuml
' Diagram
title
SDN-R medium setup
Connectivity
end title
box "Network" #eeeeee
participant "<b>PNF00000</b>\nnetconf-server\nhttps-server" as pnf00000
participant "<b>PNF00001</b>\nnetconf-server\nhttps-server" as pnf00001
participant "<b>PNF99999</b>\nnetconf-server\nhttps-server" as pnf99999
end box
box "ONAP SDN-R" #ffffff
participant "<b>ODL01</b>\nnetconf-client" as odl01
participant "<b>ODL02</b>\nnetconf-client" as odl02
participant "<b>ODL03</b>\nnetconf-client" as odl03
participant "<b>Admin01</b>\nhttps-client" as admin01
participant "db01" as db01
participant "db02" as db02
end box
box "ONAP A&AI"
participant "<b>AAI-01</b>\nhttps-server" as aai01
participant "AAI-02" as aai02
end box
box "ONAP DCAE"
participant "<b>VES-01 Collector</b>\nhttps-server" as ves01
participant "DMaaP" as dmaap01
participant "DCAE Servers" as dcae01
end box
group NetConf\nautomated configurationmanagement
pnf00000 <-> odl01 : SSH/NetConf/YANG port:830 \n<b>currently active
pnf00001 <--> odl01 : SSH/NetConf/YANGport: 830 \npossible
pnf99999 <--> odl01: SSH/NetConf/YANG port:830 \npossible
pnf00000 <--> odl02: SSH/NetConf/YANG port:830 \npossible
pnf00001 <--> odl02: SSH/NetConf/YANG port:830 \npossible
pnf99999 <-> odl02 : SSH/NetConf/YANG port:830 \n<b>currently active
pnf00000 <--> odl03: SSH/NetConf/YANG port:830 \npossible
pnf00001 <-> odl03: SSH/NetConf/YANG port:830 \n<b>currently active
pnf99999 <--> odl03: SSH/NetConf/YANG port:830 \npossible
end group
group sdnr-interfacing-with-dcae
odl01 <-> ves01: https:8443
odl02 <-> ves01: https:8443
odl03 <-> ves01: https:8443
end group
group sdnr-interfacing-with-aai
odl01 <-> aai01: https:8443
odl02 <-> aai01: https:8443
odl03 <-> aai01: https:8443
end group
group cluster synchronization
odl01 <-> odl02: odl-synch-port 2550
odl01 <-> odl02: es-synch-port 9300
odl02 <-> odl03: odl-synch-port 2550
odl02 <-> odl03: es-synch-port 9300
odl03 <-> odl01: odl-synch-port 2550
odl03 <-> odl01: es-synch-port 9300
db01 <-> db02: synch-port 3306
aai01 <-> aai02: synch-port 9300
end group
group https gui-cut-through\nmanualconfigurtionmanagement
admin01 <-> odl01: https:8443
pnf00000 <-> odl01: https:443
pnf00001 <-> odl01: https:443
pnf99999 <-> odl01: https:443
admin01 <-> odl02: https:8443
pnf00000 <-> odl02: https:443
pnf00001 <-> odl02: https:443
pnf99999 <-> odl02: https:443
admin01 <-> odl03: https:8443
pnf00000 <-> odl03: https:443
pnf00001 <-> odl03: https:443
pnf99999 <-> odl03: https:443
end group
' End Diagram
' Format
header
<b><font color=#8888ff>License</font></b>
<b><font color=#8888ff>Apache 2.0</font></b>
endheader
'caption "\n UML Formatting"
right footer
SDN-R Meduim
Thanks to pYang and plantUml!
2019-04-06 | onap.org
end footer
skinparam backgroundColor #fefefe
skinparam backgroundColor #fefefe
'skinparam handwritten true
skinparam roundcorner 15
skinparam databaseBorderColor #666666
skinparam databaseBackgroundColor #fefefe
skinparam databaseFontColor #666666
skinparam sequence {
MessageAlign left
ArrowColor #666666
ArrowFontColor #666666
ActorBorderColor #666666
LifeLineBorderColor #666666
LifeLineBackgroundColor #eeeeee
BoxBorderColor #666666
GroupBorderColor #666666
GroupBackgroundColor #eeeeee
ParticipantBorderColor #666666
ParticipantBackgroundColor #ffffdd
'ParticipantFontName Impact
'ParticipantFontSize 17
ParticipantFontColor #666666
ActorBackgroundColor #ffffdd
'ActorFontColor DeepSkyBlue
'ActorFontSize 17
'ActorFontName Aapex
}
@enduml
|
...
Based on use-cases and high availability requirements a geo-redundant setup with 2x 3 node local OpenDaylight cluster is shown in the figure below.
The example propose a separate log server for each local instance of SDN-R.
PlantUML Macro |
---|
@startuml ' Diagram title SDN-R full setup Connectivity end title box "Network" #eeeeee participant "<b>PNF00000</b>\nnetconf-server\nhttps-server" as pnf00000 participant "<b>PNF00001</b>\nnetconf-server\nhttps-server" as pnf00001 participant "<b>PNF99999</b>\nnetconf-server\nhttps-server" as pnf99999 end box box "ONAP SDN-R Geo01" #ffffff participant "<b>ODL11</b>\nnetconf-client" as odl11 participant "<b>ODL12</b>\nnetconf-client" as odl12 participant "<b>ODL13</b>\nnetconf-client" as odl13 participant "<b>Admin11</b>\nhttps-client" as admin11 participant "<b>Admin12</b>\nhttps-client" as admin12 participant "db11" as db11 participant "db12" as db12 participant "log11" as log11 end box box "ONAP A&AI Geo01" participant "<b>AAI-11</b>\nhttps-server" as aai11 participant "AAI-12" as aai12 end box box "ONAP DCAE Geo01" participant "<b>VES-11 Collector</b>\nhttps-server" as ves11 participant "DMaaP" as dmaap11 participant "DCAE Servers" as dcae11 end box box "ONAP SDN-R Geo02" #ffffff participant "<b>ODL21</b>\nnetconf-client" as odl21 participant "<b>ODL22</b>\nnetconf-client" as odl22 participant "<b>ODL23</b>\nnetconf-client" as odl23 participant "<b>Admin21</b>\nhttps-client" as admin21 participant "<b>Admin22</b>\nhttps-client" as admin22 participant "db21" as db21 participant "db22" as db22 participant "log21" as log21 end box box "ONAP A&AI Geo02" participant "<b>AAI-21</b>\nhttps-server" as aai21 participant "AAI-22" as aai22 end box box "ONAP DCAE Geo02" participant "<b>VES-21 Collector</b>\nhttps-server" as ves21 participant "DMaaP" as dmaap21 participant "DCAE Servers" as dcae21 end box group NetConf\nautomated configurationmanagement pnf00000 <-> odl11 : SSH/NetConf/YANG port:830 \n<b>currently active pnf00001 <--> odl11 : SSH/NetConf/YANGport: 830 \npossible pnf99999 <--> odl11: SSH/NetConf/YANG port:830 \npossible pnf00000 <--> odl12: SSH/NetConf/YANG port:830 \npossible pnf00001 <--> odl12: SSH/NetConf/YANG port:830 \npossible pnf99999 <-> odl12 : SSH/NetConf/YANG port:830 \n<b>currently active pnf00000 <--> odl13: SSH/NetConf/YANG port:830 \npossible pnf00001 <-> odl13: SSH/NetConf/YANG port:830 \n<b>currently active pnf99999 <--> odl13: SSH/NetConf/YANG port:830 \npossible pnf00000 <--> odl21 : SSH/NetConf/YANGport:830 \npossible pnf00001 <--> odl21 : SSH/NetConf/YANGport:830 \npossible pnf99999 <--> odl21: SSH/NetConf/YANGport:830 \npossible pnf00000 <--> odl22: SSH/NetConf/YANGport:830 \npossible pnf00001 <--> odl22: SSH/NetConf/YANGport:830 \npossible pnf99999 <--> odl22 : SSH/NetConf/YANGport:830 \npossible pnf00000 <--> odl23: SSH/NetConf/YANGport:830 \npossible pnf00001 <--> odl23: SSH/NetConf/YANGport:830 \npossible pnf99999 <--> odl23: SSH/NetConf/YANGport:830 \npossible end group group sdnr-interfacing-with-dcae odl11 <-> ves11: https:8443 odl12 <-> ves11: https:8443 odl13 <-> ves11: https:8443 odl21 <-> ves21: https:8443 odl22 <-> ves21: https:8443 odl23 <-> ves21: https:8443 end group group sdnr-interfacing-with-aai odl11 <-> aai11: https:8443 odl12 <-> aai11: https:8443 odl13 <-> aai11: https:8443 odl21 <-> aai21: https:8443 odl22 <-> aai21: https:8443 odl23 <-> aai21: https:8443 end group group cluster synchronization odl11 <-> odl12: odl-synch-port 2550 odl11 <-> odl12: es-synch-port 9300 odl11 <-> odl13: odl-synch-port 2550 odl11 <-> odl13: es-synch-port 9300 odl11 <-> odl21: odl-synch-port 2550 odl11 <-> odl21: es-synch-port 9300 odl11 <-> odl22: odl-synch-port 2550 odl11 <-> odl22: es-synch-port 9300 odl11 <-> odl23: odl-synch-port 2550 odl11 <-> odl23: es-synch-port 9300 odl12 <-> odl13: odl-synch-port 2550 odl12 <-> odl13: es-synch-port 9300 odl12 <-> odl21: odl-synch-port 2550 odl12 <-> odl21: es-synch-port 9300 odl12 <-> odl22: odl-synch-port 2550 odl12 <-> odl22: es-synch-port 9300 odl12 <-> odl23: odl-synch-port 2550 odl12 <-> odl23: es-synch-port 9300 odl13 <-> odl21: odl-synch-port 2550 odl13 <-> odl21: es-synch-port 9300 odl13 <-> odl22: odl-synch-port 2550 odl13 <-> odl22: es-synch-port 9300 odl13 <-> odl23: odl-synch-port 2550 odl13 <-> odl23: es-synch-port 9300 odl21 <-> odl22: odl-synch-port 2550 odl21 <-> odl22: es-synch-port 9300 odl21 <-> odl23: odl-synch-port 2550 odl21 <-> odl23: es-synch-port 9300 odl22 <-> odl23: odl-synch-port 2550 odl22 <-> odl23: es-synch-port 9300 db11 <-> db12: synch-port 3306 db11 <-> db21: synch-port 3306 db11 <-> db22: synch-port 3306 db12 <-> db21: synch-port 3306 db12 <-> db22: synch-port 3306 db21 <-> db22: synch-port 3306 aai11 <-> aai12: synch-port 9300 aai11 <-> aai21: synch-port 9300 aai11 <-> aai22: synch-port 9300 aai12 <-> aai21: synch-port 9300 aai12 <-> aai22: synch-port 9300 aai21 <-> aai22: synch-port 9300 end group group https gui-cut-through\nmanualconfigurtionmanagement admin11 <-> odl11: https:8443 admin12 <-> odl11: https:8443 pnf00000 <-> odl11: https:443 pnf00001 <-> odl11: https:443 pnf99999 <-> odl11: https:443 admin11 <-> odl12: https:8443 admin12 <-> odl12: https:8443 pnf00000 <-> odl12: https:443 pnf00001 <-> odl12: https:443 pnf99999 <-> odl12: https:443 admin11 <-> odl13: https:8443 admin12 <-> odl13: https:8443 pnf00000 <-> odl13: https:443 pnf00001 <-> odl13: https:443 pnf99999 <-> odl13: https:443 end group ' End Diagram ' Format header <b><font color=#8888ff>License</font></b> <b><font color=#8888ff>Apache 2.0</font></b> endheader 'caption "\n UML Formatting" right footer SDN-R Meduim Thanks to pYang and plantUml! 2019-04-06 | onap.org end footer skinparam backgroundColor #fefefe skinparam backgroundColor #fefefe 'skinparam handwritten true skinparam roundcorner 15 skinparam databaseBorderColor #666666 skinparam databaseBackgroundColor #fefefe skinparam databaseFontColor #666666 skinparam sequence { MessageAlign left ArrowColor #666666 ArrowFontColor #666666 ActorBorderColor #666666 LifeLineBorderColor #666666 LifeLineBackgroundColor #eeeeee BoxBorderColor #666666 GroupBorderColor #666666 GroupBackgroundColor #eeeeee ParticipantBorderColor #666666 ParticipantBackgroundColor #ffffdd 'ParticipantFontName Impact 'ParticipantFontSize 17 ParticipantFontColor #666666 ActorBackgroundColor #ffffdd 'ActorFontColor DeepSkyBlue 'ActorFontSize 17 'ActorFontName Aapex } @enduml |