Table of Contents |
---|
This page shows three different SDN-R setup examples and the connectivity to other components.
Single (tiny setup)
For development of in case of small volume without any high availableity capability a singel ODL instance is sufficient.
PlantUML Macro |
---|
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' Script to convert yang modules into other formats ' Author: martin.skorupski@highstreet-technologies.com ' ' Copyright 2019 higshtreet 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 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 autonumber "<b>[Con000]" group NetConf\nautomated configuration management pnf00 <-> odl01: tcp/ssh/netconf/830 pnf01 <-> odl01: tcp/ssh/netconf/830 pnf99 <-> odl01: tcp/ssh/netconf/830 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> end header 'caption "\n UML Formatting" right footer SDN-R tiny Thanks to 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 #2277dd 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)
For production deployment are three node OpenDaylight cluster should cover most of the use cases.
PlantUML Macro |
---|
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' Script to convert yang modules into other formats ' Author: martin.skorupski@highstreet-technologies.com ' ' Copyright 2019 higshtreet 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 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 autonumber "<b>[Con000]" group NetConf\nautomated configuration management pnf00000 <-> odl01 : tcp/ssh/netconf/830 \n<b>currently active pnf00001 <--> odl01: tcp/ssh/netconf/830 \npossible pnf99999 <--> odl01: tcp/ssh/netconf/830 \npossible pnf00000 <--> odl02: tcp/ssh/netconf/830 \npossible pnf00001 <--> odl02: tcp/ssh/netconf/830 \npossible pnf99999 <-> odl02 : tcp/ssh/netconf/830 \n<b>currently active pnf00000 <--> odl03: tcp/ssh/netconf/830 \npossible pnf00001 <-> odl03 : tcp/ssh/netconf/830 \n<b>currently active pnf99999 <--> odl03: tcp/ssh/netconf/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 tcp/2550 odl01 <-> odl02: es-synch tcp/9300 odl02 <-> odl03: odl-synch tcp/2550 odl02 <-> odl03: es-synch tcp/9300 odl03 <-> odl01: odl-synch tcp/2550 odl03 <-> odl01: es-synch tcp/9300 db01 <-> db02: synch tcp/3306 aai01 <-> aai02: synch tcp/9300 end group group Notification to http clients by webSocekts note right of odl01 #3399ff <font color=#ffffff><b>Notification towards northbound of ODL are <font color=#ffffff><b>provided via WebSockets. Notification from PNFs <font color=#ffffff><b>are available via port 8443. <font color=#ffffff><b>Notifications from ODL internal databse MDSAL are <font color=#ffffff><b>available via port 8185. end note admin01 <- odl01: ws/8185 (md-sal) admin01 <- odl02: ws/8185 (md-sal) admin01 <- odl03: ws/8185 (md-sal) end group group https gui-cut-through\nmanual configuration management 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 Medium Thanks to 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 #2277dd 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 |
Geo-Redundancy (full setup)
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 |
---|
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' Script to convert yang modulesinto other formats ' Author: martin.skorupski@highstreet-technologies.com ' ' Copyright 2019 higshtreet technologies GmbH ' Licensed under the Apache License, Version 2.0 (the"License"); ' you may not use this file exceptin compliance with the License. ' You may obtain a copy of theLicense at ' ' http://www.apache.org/licenses/LICENSE-2.0 ' ' Unless required by applicablelaw or agreed to in writing,software ' distributed under the License isdistributed on an "AS IS" BASIS, ' WITHOUT WARRANTIES OR CONDITIONSOF ANY KIND, either express orimplied. ' See the License for the specificlanguage governing permissions and ' limitations under the License. ' @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 autonumber "<b>[Con000]" group NetConf\nautomated configuration management pnf00000 <-> odl11 : tcp/ssh/netconf/830 \n<b>currently active pnf00001 <--> odl11: tcp/ssh/netconf/830 \npossible pnf99999 <--> odl11: tcp/ssh/netconf/830 \npossible pnf00000 <--> odl12: tcp/ssh/netconf/830 \npossible pnf00001 <--> odl12: tcp/ssh/netconf/830 \npossible pnf99999 <-> odl12 : tcp/ssh/netconf/830 \n<b>currently active pnf00000 <--> odl13: tcp/ssh/netconf/830 \npossible pnf00001 <-> odl13 : tcp/ssh/netconf/830 \n<b>currently active pnf99999 <--> odl13: tcp/ssh/netconf/830 \npossible pnf00000 <--> odl21: tcp/ssh/netconf/830 \npossible pnf00001 <--> odl21: tcp/ssh/netconf/830 \npossible pnf99999 <--> odl21: tcp/ssh/netconf/830 \npossible pnf00000 <--> odl22: tcp/ssh/netconf/830 \npossible pnf00001 <--> odl22: tcp/ssh/netconf/830 \npossible pnf99999 <--> odl22: tcp/ssh/netconf/830 \npossible pnf00000 <--> odl23: tcp/ssh/netconf/830 \npossible pnf00001 <--> odl23: tcp/ssh/netconf/830 \npossible pnf99999 <--> odl23: tcp/ssh/netconf/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 tcp/2550 odl11 <-> odl12: es-synch tcp/9300 odl11 <-> odl13: odl-synch tcp/2550 odl11 <-> odl13: es-synch tcp/9300 odl11 <-> odl21: odl-synch tcp/2550 odl11 <-> odl21: es-synch tcp/9300 odl11 <-> odl22: odl-synch tcp/2550 odl11 <-> odl22: es-synch tcp/9300 odl11 <-> odl23: odl-synch tcp/2550 odl11 <-> odl23: es-synch tcp/9300 odl12 <-> odl13: odl-synch tcp/2550 odl12 <-> odl13: es-synch tcp/9300 odl12 <-> odl21: odl-synch tcp/2550 odl12 <-> odl21: es-synch tcp/9300 odl12 <-> odl22: odl-synch tcp/2550 odl12 <-> odl22: es-synch tcp/9300 odl12 <-> odl23: odl-synch tcp/2550 odl12 <-> odl23: es-synch tcp/9300 odl13 <-> odl21: odl-synch tcp/2550 odl13 <-> odl21: es-synch tcp/9300 odl13 <-> odl22: odl-synch tcp/2550 odl13 <-> odl22: es-synch tcp/9300 odl13 <-> odl23: odl-synch tcp/2550 odl13 <-> odl23: es-synch tcp/9300 odl21 <-> odl22: odl-synch tcp/2550 odl21 <-> odl22: es-synch tcp/9300 odl21 <-> odl23: odl-synch tcp/2550 odl21 <-> odl23: es-synch tcp/9300 odl22 <-> odl23: odl-synch tcp/2550 odl22 <-> odl23: es-synch tcp/9300 db11 <-> db12: synch-port tcp/3306 db11 <-> db21: synch-port tcp/3306 db11 <-> db22: synch-port tcp/3306 db12 <-> db21: synch-port tcp/3306 db12 <-> db22: synch-port tcp/3306 db21 <-> db22: synch-port tcp/3306 aai11 <-> aai12: synch tcp/9300 aai11 <-> aai21: synch tcp/9300 aai11 <-> aai22: synch tcp/9300 aai12 <-> aai21: synch tcp/9300 aai12 <-> aai22: synch tcp/9300 aai21 <-> aai22: synch tcp/9300 end group group Notification to http clients by webSocekts note right of odl11 #3399ff <font color=#ffffff><b>Notification towards northbound of ODL are <font color=#ffffff><b>provided via WebSockets. Notification from PNFs <font color=#ffffff><b> are available via port 8443. <font color=#ffffff><b>Notifications from ODL internal databse MD-SAL are <font color=#ffffff><b>available via port 8185. end note admin11 <- odl11: ws/8185 (md-sal) admin12 <- odl11: ws/8443 (ux-frame) admin11 <- odl12: ws/8185 (md-sal) admin12 <- odl12: ws/8443 (ux-frame) admin11 <- odl13: ws/8185 (md-sal) admin12 <- odl13: ws/8443 (ux-frame) admin21 <- odl21: ws/8185 (md-sal) admin22 <- odl21: ws/8443 (ux-frame) admin21 <- odl22: ws/8185 (md-sal) admin22 <- odl22: ws/8443 (ux-frame) admin21 <- odl23: ws/8185 (md-sal) admin22 <- odl23: ws/8443 (ux-frame) end group group https gui-cut-through\nmanual configuration management 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 full Thanks to 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 #2277dd 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 |