@startuml Autonumber Skinparam sequenceArrowThickness 2 skinparam ParticipantPadding 5 skinparam BoxPadding 10
Box "SMO/Non-RT RIC Framework" #gold participant NFO as "NF Orchestration" <<INT OTF>> Boundary MC as "Model Catalog" <<SMO MVC State Manager>> Boundary VI as "Virtual Inventory" <<SMO MVC State Manager>> Boundary IC as "Instance Config" <<SMO MVC State Manager>> end box
Box "O-Cloud Platform" #lightseagreen participant IMS as "Cloud Manager" participant DMS as "Deployment Manager" End box
Box "O-RAN" #NavajoWhite Participant AppMgr as "xAPPMgr" <<RICPLT>> End box
Box "Near-RT RIC\napplication execution environment " #PapayaWhip participant App as "Application" <<RICAPP>> participant Sidecar as "rAPP Sidecar" <<RICAPP>> end box
== Building Block Identity & Legend ==
note over NFO, Sidecar #royalblue **<color: yellow>Building Block : xAPP Startup </color>** end note
== Assumptions and Prerequisites ==
note over NFO, DMS #darkorange Application and its sidecar were just created/started by the DMS. end note
== Begin Building Block ==
Note Right of NFO Message numbers are discontinous In order to match same message numbers In rAPP startup End note
Sidecar <-> App : connect Sidecar -> AppMgr : PUT ../xAPPs/<myAPPID> Note right of AppMgr Registration returns record contain: xAPPID, xAPPRegistrationTime, xAPPRestarts, configurationID end note
alt if xAPPRestarts > 0 and ConfigurationID is not null then Sidecar -> AppMgr : GET ../configs/<configurationdID> Autonumber 5 Sidecar -> App : Config(configuration) Else if ConfigurationID is Null and xAPPRestarts > MaxStartAttempts then Sidecar -> DMS : Fatal Error, don't restart Else Sidecar -> App : Config(configMap.configuration) Alt If successful then Sidecar -> AppMgr : POST ../configSchemas {configMap.configurationSchema} AppMgr -> AppMgr : Note left: xAPPMgr needs to incorporate xAPP YANG leafs into RIC Config Sidecar -> AppMgr : POST ../configurations {configMap.configuration} AppMgr -> AppMgr : Note Left : Create MOI and populate ConfigDB Opt Stretch goal for CM Notify AppMgr -> NFO : <<O1>> MOI Create Notification End Else Sidecar -> App : Restart App -> DMS : Internal Error, restart Sidecar -> DMS : Internal Error, restart End if End if
@enduml |