- Created by David Kinsey [AT&T], last modified on Jul 02, 2020
You are viewing an old version of this page. View the current version.
Compare with Current View Page History
« Previous Version 2 Next »
Sequence Diagram
Click here to view PlantUML Source
@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 IMF 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 : Deploy rAPP </color>**
<color: yellow>Orchestration Use Cases and Requirements for O-RAN Virtualized RAN</color>
<color: yellow>O-RAN-WG6.Orchestration-v03.00; section</color><color: Red> 3.3.3</color>
end note
== Assumptions and Prerequisites ==
note over NFO, Sidecar #darkorange
xAPP Standard Software Package has been onboarded and a configuration for xAPP deployment is installed via Application LCM Use Case Step 4.
end note
== Begin Building Block ==
Group Use Case Data Collection
NFO -> IC : GET ../configurations/<instanceConfigID>
Note Right of NFO
The instance config contains:
instanceConfigID
frameworkID
applicationID
deploymentID
deploymentParameters
applicationConfigSchema
end note
NFO -> VI : GET ../frameworks/<frameworkID>
Note Right of NFO
The Framework Inventory record contains:
frameworkID
appType
deploymentID
deploymentTenant
hostingOcloudID
hostingOcloudDMSID
hostedOCloudLocation
end note
NFO -> VI : GET ../OClouds/<hostingOcloudID>
Note Right of NFO
The O-Cloud Inventory record contains:
ocloudID
IMFEndPoint
DMSList
ResourcePools with Location attributes
end note
NFO -> VI : GET\t../OClouds/<hostingOcloudID>/\n\tResourcePools?location=<hostedOCloudLocation>
Note Right of NFO
The O-Cloud Inventory record contains:
ocloudID
ResourcePoolID
location
end note
NFO -> VI : GET\t../OClouds/<hostingOcloudID>/\n\tDMS/<hostingOcloudDMSID>
Note Right of NFO
The O-Cloud DMS Inventory record contains:
OcloudID
OcloudDMSID
DMSEndPoint
ResourcePools with Location attributes
end note
End
Group Install Images in O-Cloud
NFO -> MC : GET\t../applications/<applicationID>/\n\tdeployments/<deploymentID>/\n\timages
Loop for each image in images
NFO -> MC : GET\t../applications/<applicationID>/\n]tdeployments/<deploymentID>/\n\timages/<imageID>
NFO -> IMF : <<O2-M>> PUT https://<IMDEndPoint>/api/v1/images {resourcePoolID, imageURL}
Note over IMF
The Resource pool where the image is expected to be deployed should be specified,
this could be a list of locations. The O-Cloud being distributed may have its own
strategy for image repository distribution.
End note
IMF -> IMF :
Note left : Check if ImageInstanceExists
Alt if ImageInstance Exists then
IMF --> NFO : Return 200 OK
Else
IMF -> IMF :
Note Left : Get Image from URL Store Image in repository
IMF --> NFO : Return 202 Created
End if
end
End
Group Application deployment to O-Cloud
NFO -> DMS : <<O2-D>> POST https://<DMSEndPoint>/api/v1/deployments {\n\tlocation, \n\tdeploymentDescriptor, \n\tinstanceConfig.deploymentParameters}
Note over DMS
Normally the O-Cloud would iterate through all deployments in the descriptor
In this example we remove the iteration for the two known workloads that will
be in the descriptor
End note
DMS -> App ** : create
DMS -> Sidecar ** : create
DMS --> NFO : <<O2-D>> notify Workload created
NFO -> VI : PUT ../deployments
Note right of NFO
The Deployment Inventory record contains:
deploymentID,
deploymentTenant,
configInstanceID,
hostingOcloudID,
hostingOcloudDMSID,
hostedOCloudLocation
end note
End
Group Application Startup and Registration
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>
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
End
@enduml
- No labels