@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>> Participant AppMgr as "rAPPMgr" <<NRTRIC>> end box
Box "SMO/Non-RT RIC\napplication execution environment " #goldenrod participant App as "Application" <<RICAPP>> participant Sidecar as "rAPP Sidecar" <<RICAPP>> end box
Box "O-Cloud Platform" #lightseagreen participant IMS as "Cloud Manager" participant DMS as "Deployment Manager" End box
== Building Block Identity & Legend ==
note over NFO, DMS #royalblue **<color: yellow>Building Block : rAPP 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 xAPP 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> AppMgr -> IC : GET ../configurations/< configurationdID> Sidecar -> App : Config(configuration) Else of 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} Note left : AppMgr simply returns success, nothing for it to do Autonumber 10 Sidecar -> AppMgr : POST ../configurations {configMap.configuration} Note left : rAppMgr simply returns success, nothing for it to do Else Autonumber 13 Sidecar -> App : Restart App -> DMS : Internal Error, restart Sidecar -> DMS : Internal Error, restart End if End if
@enduml |