Versions Compared

Key

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

Sequence Diagram

Image RemovedImage Added

Expand
titleClick 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

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

: Deploy rAPP

: xAPP Startup </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

DMS #darkorange


xAPP Standard Software Package has been onboarded and a configuration for xAPP deployment is installed via Application LCM Use Case Step 4.
end


Application and its sidecar were just created/started by the DMS.
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

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


End



@enduml