Versions Compared

Key

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

The SMO O1 controller based on ONAP CCSDK/OpenDaylight exposes northbound a ResConf API for Software Management derived from O-RAN Fronthaul M-Plane.

This page shows the steps for a µServer northbound of the O1-controller implementing Software Management functions on SMO.

Please see the RestConf API generated from YANG by ODL: 
https://sdn-r-dev.open5g-test.com/apidoc/apis/mounts/2/o-ran-software-management(2019-06-05)

O-RAN Members please see Chapter 5 "Software Management" - https://www.o-ran.org/s/O-RAN-Fronthaul-Specifications-v20-2019-07.zip


Please see attached bash example to retrieve the Software-Inventory.




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 RU Fronthaul Software Management 
end title

actor "User" as user 

box "SMO" #gold
  participant "Software Manager\n(µService)" as swm
  participant "Message Bus\n(ONAP DMaaP)" as mb
  participant "O1-Controller\n(ONAP-CCDSK/SDNC)" as sdnr
end box

box “Network” #lightpink
  participant "O-RAN RU\n(managed-function)" as mf
end box

autonumber 1 1 "<b>[00]"

== Initialization ==
user -> mf: manual VES subscription (automated VES subscription under discussion between O-RAN and 3GPP)
swm -> mb: Subscribe and poll for VES
sdnr <-> mf: Establish NetConf Session

== Start ==
user -> swm: provide new software packages for managed-function
user -> swm: trigger software update

swm -> sdnr: "GET-software-inventory of device"
sdnr -> mf: "<get-config><software-inventory>"
sdnr <- mf: "list of <software-inventory>"
swm <- sdnr: "list of <software-inventory>"
swm --> user: Inform about software inventory
swm -> swm: "Analyse situation"

== File transfer ==
swm -> sdnr: trigger software-download
sdnr -> mf: trigger software-download
sdnr <- mf: trigger software-download STATUS
swm <- sdnr: trigger software-download STATUS
swm -> user: Inform about software download status
mf -> swm: <b>FTPeS</b> start download
swm -> mf: <b>FTPeS</b> File tranfer (software package)
mf --> mb: download-event "COMPLETED"
mb --> swm: download-event "COMPLETED"
swm --> user: Inform about software download status

== Installation ==
swm -> sdnr: trigger software-install
sdnr -> mf: trigger software-install
sdnr <- mf: trigger software-install STATUS
swm <- sdnr: trigger software-install STATUS
swm --> user: Inform about software install status
mf --> mb: install-event "COMPLETED"
mb --> swm: install-event "COMPLETED"
swm --> user: Inform about software install status

== Activation ==
swm -> sdnr: trigger software-activate
sdnr -> mf: trigger software-activate
sdnr <- mf: trigger software-activate STATUS
swm <- sdnr: trigger software-activate STATUS
swm --> user: Inform about software activate status
mf --> mb: activate-event "COMPLETED"
mb --> swm: activate-event "COMPLETED"
swm --> user: Inform about software activate status

== Verification ==
swm -> sdnr: "GET-software-inventory of device"
sdnr -> mf: "<get-config><software-inventory>"
sdnr <- mf: "list of <software-inventory>"
swm <- sdnr: "list of <software-inventory>"
swm --> user: Inform about software inventory


' 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-03-07 | onap.org | o-ran-sc.org
end footer

skinparam backgroundColor #fefefe

skinparam backgroundColor #fefefe
'skinparam handwritten true
skinparam roundcorner 15

skinparam databaseBorderColor #444444
skinparam databaseBackgroundColor #ffffee
skinparam databaseFontColor #444444

skinparam sequence {
  MessageAlign left
  ArrowColor #2277dd
  ArrowFontColor #444444
  ArrowThickness 3
  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