Versions Compared

Key

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

...

Expand
titleClick here to expand... (Copied from RSAC https://wiki.o-ran-sc.org/pages/viewpage.action?pageId=14221846)


PlantUML Macro
@startuml

Title A1 O-RAN Healthcheck (Bronze)

Autonumber
Skinparam sequenceArrowThickness 2
skinparam ParticipantPadding 5
skinparam BoxPadding 10

!pragma teoz true

Box Test Function #lightblue
  Participant OTF as "Test Driver" <<INT>>
End box

Box SMO #gold
    Participant NONRTRIC as "A1 Policy\nManagement Service" <<NONRTRIC>>
    Participant SMO_A1 as "SDNC A1 Adapter" <<NONRTRIC>>
End box

Box "O-RAN Near-RTRIC" #lightpink
    Participant A1TERM as "A1 MED" <<RIC-PLT>>
    Participant xAPP as "HelloWorld xAPP" <<RIC-APP>>
End box

RNote over OTF,xAPP #lightsalmon
Provide E2E Healthcheck Test (Policy Changes via A1)
End Note

=== A1 Heartbeat ==

RNote over A1TERM, xAPP 
  Near-RT-RIC A1 Mediator Health is addressed by RIC Self-Check Flows
End Note
RNote over NONRTRIC, SMO_A1 
  NONRTRIC Health is addressed by NONRTRIC's internal Self-Check Flows
End Note


=== A1 Policy Management Service Operation ==

RNote over NONRTRIC, SMO_A1  #lightsalmon
  Non-RT-RIC Policy Management Service provides mediation for all A1 messages. 
  For optional consistency function tests OTF may directly perform operations to SDNC A1 Adapter or to near-RT-RIC A1 mediator. 
  Such direct connections would have unpredicatable or undesired effects in a non-test scenario. 
End Note

Group #transparent async continuous loop 
autonumber stop
Loop #transparent continuous
...
NONRTRIC -> SMO_A1 + : Get Policy Types
SMO_A1 -> A1TERM + : <<A1>> GET Policy Types List
A1TERM --> SMO_A1 - : <<A1>> Policy Type List
SMO_A1 --> NONRTRIC - : Policy Type List
NONRTRIC -> SMO_A1 + : Get Policies (*)  
SMO_A1 -> A1TERM + : <<A1>> GetPolicy (*)
A1TERM --> SMO_A1 - : <<A1>> Policy List 
SMO_A1 --> NONRTRIC  - :  Policies
Group #transparent if needed
note over NONRTRIC, A1TERM  #lightgrey : Update Policy Status Store, consistency check, etc. \n Re-sysnchonize policies if necessary, etc.
A1TERM -[#Grey]-\\ NONRTRIC #grey : Note: NONRTRIC status notifications may not be used in this release
NONRTRIC <--> SMO_A1  
&SMO_A1 <--> A1TERM  
end Group
...
end Loop 
autonumber resume
end Group 
...

|||

=== A1 On-demand Policy Creation and Deletion ==

RNote over OTF,xAPP #lightsalmon : Start Test
[--> OTF : Start test

OTF -> NONRTRIC + : Get Policies
note right #lightgrey : Synchronized Policy Store
NONRTRIC --> OTF - : Policy List

Group #beige Optional Consistency Function Test
OTF -> A1TERM + : <<A1>> Get Policies
Note over OTF, A1TERM 
  Direct connection to near-RT-RIC will not be supported in a non-test scenario
End Note
A1TERM -->  OTF - : <<A1>> Policy List
OTF -> OTF : Compare Results
end Group
Group #beige Optional Consistency Function Test
OTF -> SMO_A1 + : Get Policies
SMO_A1 -> A1TERM + : <<A1>> GET Policy List
Note over OTF, A1TERM 
  Direct connection to A1 controller may result in undesired behavior in Policy Management Service and near-RT-RIC in a non-test scenario
End Note
A1TERM -->  SMO_A1 - : <<A1>> Policy List
SMO_A1 --> OTF - : Policy List
OTF -> OTF : Compare Results
end Group

RNote over OTF,xAPP #lightsalmon : Create Instance of "HelloWorld" Policy Type

OTF -> NONRTRIC + : Create HelloWorld Policy Instance
NONRTRIC -> SMO_A1 + : CreatePolicy (HelloWorld)
SMO_A1 -> A1TERM + : <<A1>> CreatePolicy (HelloWorld)
A1TERM --> SMO_A1 - : <<A1>> Request Accepted
SMO_A1 --> NONRTRIC - : Request Accepted
autonumber stop
NONRTRIC --> NONRTRIC
note right #lightgrey : Update Policy Store, etc.   
autonumber resume
NONRTRIC --> OTF - : Request Accepted

... 
Group #transparent async
Note over A1TERM, xAPP :  Support A1 Policy Test Message Mediation
A1TERM -\\ xAPP : HelloWorld Policy Creation
Note over A1TERM, xAPP  : Support A1 Policy Test Message Processing:\n"HelloWorld" xAPP process "HelloWorld" Policy Creation
xAPP -\\ A1TERM : Policy Status Change
autonumber stop
& A1TERM -[#Grey]-\\ NONRTRIC #grey : Note: NONRTRIC status notifications may not be used in this release
autonumber resume
end Group
...

OTF -> NONRTRIC + : Get HelloWorld Policy Instance Status
NONRTRIC -> SMO_A1 + : GetStatus (HelloWorld Policy Instance)
SMO_A1 -> A1TERM + : <<A1>> GetStatus (HelloWorld Policy Instance)
A1TERM --> SMO_A1 - : <<A1>> HelloWorld Policy Instance Status
SMO_A1 --> NONRTRIC - : HelloWorld Policy Instance Status
autonumber stop
NONRTRIC --> NONRTRIC
note right #lightgrey : Update Policy Status Store, etc.   
autonumber resume
NONRTRIC --> OTF - : HelloWorld Policy Instance Status

Group #beige Optional Consistency Function Test
OTF -> A1TERM + : <<A1>> GetStatus (HelloWorld Policy Instance)
Note over OTF, A1TERM 
  Direct connection to near-RT-RIC will not be supported in a non-test scenario
End Note
A1TERM --> OTF - : <<A1>> HelloWorld Policy Instance Status
OTF -> OTF : Compare Results
note right #lightgrey : Note status may have changed since previous call  
End Group 

Group #beige Optional Consistency Function Test
OTF -> SMO_A1 + : Get HelloWorld Policy Instance Status
SMO_A1 -> A1TERM + : <<A1>> GetStatus (HelloWorld Policy Instance)
Note over OTF, A1TERM 
  Direct connection to A1 controller may result in undesired behavior in Policy Management Service and near-RT-RIC in a non-test scenario
End Note
A1TERM --> SMO_A1 - : <<A1>> HelloWorld Policy Instance Status
SMO_A1 --> OTF - :  HelloWorld Policy Instance Status
OTF -> OTF : Compare Results
note right #lightgrey : Note status may have changed since previous calls  
End Group 


OTF -> NONRTRIC + : Get Policies
NONRTRIC --> OTF - : Policy List
Note right #lightgrey : Send Policy List showing HelloWorld Policy Instance 
OTF -> OTF : Check for HelloWorld Policy Instance

Group #beige Optional Consistency Function Test
OTF -> A1TERM + : <<A1>> Get Policies
Note over OTF, A1TERM 
  Direct connection to near-RT-RIC will not be supported in a non-test scenario
End Note
A1TERM -->  OTF - : <<A1>> Policy List
OTF -> OTF : Compare Results
end Group
Group #beige Optional Consistency Function Test
OTF -> SMO_A1 + : Get Policies
SMO_A1 -> A1TERM + : <<A1>> GET Policy List
Note over OTF, A1TERM 
  Direct connection to A1 controller may result in undesired behavior in Policy Management Service and near-RT-RIC in a non-test scenario
End Note
A1TERM -->  SMO_A1 - : <<A1>> Policy List
SMO_A1 --> OTF - : Policy List
OTF -> OTF : Compare Results
end Group


|||

RNote over OTF,xAPP #lightsalmon: Delete Instance of "HelloWorld" Policy Type

OTF -> NONRTRIC + : Delete HelloWorld Policy Instance
NONRTRIC -> SMO_A1 + : DeletePolicy (HelloWorld Policy Instance)
autonumber stop
NONRTRIC --> NONRTRIC
note right #lightgrey : Update Policy Store, etc.   
autonumber resume
&SMO_A1 -> A1TERM + : <<A1>> DeletePolicy (HelloWorld Policy Instance)
A1TERM --> SMO_A1 - : <<A1>> Policy Deletion Request Accepted
SMO_A1 --> NONRTRIC - : Policy Deletion Request Accepted
NONRTRIC --> OTF - : Policy Deletion Request Accepted

... 
Group #transparent async
Note over A1TERM, xAPP :  Support A1 Policy Test Message Mediation
A1TERM -\\ xAPP : HelloWorld Policy Deletion
Note over A1TERM, xAPP : Support A1 Policy Test Message Processing:\n"HelloWorld" xAPP process "HelloWorld" Policy Deletion
xAPP -\\ A1TERM : Policy Status Change
autonumber stop
& A1TERM -[#Grey]-\\ NONRTRIC #grey : Note: NONRTRIC status notifications may not be used in this release
autonumber resume
end Group
...

OTF -> NONRTRIC + : Get HelloWorld Policy Instance Status
NONRTRIC --> OTF - : Not Found
note right #lightgrey : Requests are not forwarded for deleted policies   

Group #beige Optional Consistency Function Test
OTF -> A1TERM + : <<A1>> GetStatus (HelloWorld Policy Instance)
Note over OTF, A1TERM 
  Direct connection to near-RT-RIC will not be supported in a non-test scenario
End Note
A1TERM --> OTF - : <<A1>> Not Found
OTF -> OTF : Compare Results
note right #lightgrey : Note "Delete Pending" status is possible 
End Group 

Group #beige Optional Consistency Function Test
OTF -> SMO_A1 + : Get HelloWorld Policy Instance Status
SMO_A1 -> A1TERM + : <<A1>> GetStatus (HelloWorld Policy Instance)
Note over OTF, A1TERM 
  Direct connection to A1 controller may result in undesired behavior in Policy Management Service and near-RT-RIC in a non-test scenario
End Note
A1TERM --> SMO_A1 - : <<A1>> Not Found
SMO_A1 --> OTF - :  Not Found
OTF -> OTF : Compare Results
note right #lightgrey : Note "Delete Pending" status is possible 
End Group 

OTF -> NONRTRIC + : Get Policies
NONRTRIC --> OTF - : Policy List
Note right #lightgrey : Send Policy List without HelloWorld Policy Instance 
OTF -> OTF : Check that HelloWorld Policy Instance is deleted

Group #beige Optional Consistency Function Test
OTF -> A1TERM + : <<A1>> Get Policies
Note over OTF, A1TERM 
  Direct connection to near-RT-RIC will not be supported in a non-test scenario
End Note
A1TERM -->  OTF - : <<A1>> Policy List
OTF -> OTF : Compare Results
end Group
Group #beige Optional Consistency Function Test
OTF -> SMO_A1 + : Get Policies
SMO_A1 -> A1TERM + : <<A1>> GET Policy List
Note over OTF, A1TERM 
  Direct connection to A1 controller may result in undesired behavior in Policy Management Service and near-RT-RIC in a non-test scenario
End Note
A1TERM -->  SMO_A1 - : <<A1>> Policy List
SMO_A1 --> OTF - : Policy List
OTF -> OTF : Compare Results
end Group

|||

Activate OTF
[<-- OTF : Report
Deactivate OTF 

@enduml

...




Delivery Status



OTFOAMNONRTRICRICPRICAPPO-DUNotes
Start Test2. Get Policy (OTF -> NONRTRIC.A1PMS)






3. Policy List (NONRTRIC.A1PMS -> OTF)






Create instance of "HelloWorld" Policy Type12. Create HelloWorld Policy Instance (OTF -> NONRTRIC.A1PMS)






13. Create Policy (HelloWorld) (NONRTRIC.A1PMS -> NONRTRIC.A1A)






14. <<A1>> Create Policy (HelloWorld) (NONRTRIC.A1A -> RICP.A1)






15. <<A1>> Requet Accepted (RICP.A1 -> NONRTRIC.A1A)






16. Request Accepted (NONRTRIC.A1A -> NONRTRIC.A1PMS)






17. Request Accepted (NONRTRIC.A1PMS -> OTF)






18. Policy Creation (HelloWorld)  (RICP.A1 -> RICAPP.HW)






19. Policy status change (RICAPP.HW -> RICP.A1)






20. Get HelloWorld Polict Instance Statu (OTF -> NONRTRIC.A1PMS)






21. Get Status (HelloWorld Polic Instance) (NONRTRIC.A1PMS -> NONRTRIC.A1A)






22. <<A1>> Get Status (HelloWorld Policy Instance) (NONRTRIC.A1A -> RICP.A1)






23. <<A1>> HelloWorld Policy Instance Status (RICP.A1 -> NONRTRIC.A1A)






24. HelloWorld Policy Instance Status (NONRTRIC.A1A -> NONRTRIC.A1PMS)






25. HelloWorld Policy Instance Status (NONRTRIC.A1PMS -> OTF)






34. Get Policy (OTF -> NONRTRIC.A1PMS)






35. Policy List (NONRTRIC.A1PMS -> OTF)






36 Check for HelloWorld Policy Instance (OTF)






Delete instance of "HelloWorld" Policy Type45. Delete HelloWorld Policy Instance (OTF -> NONRTRIC.A1PMS)






46. Delete Policy (HelloWorld) (NONRTRIC.A1PMS -> NONRTRIC.A1A)






47. <<A1>> Delete Policy (HelloWorld) (NONRTRIC.A1A -> RICP.A1)






48. <<A1>> Requet Accepted (RICP.A1 -> NONRTRIC.A1A)






49. Request Accepted (NONRTRIC.A1A -> NONRTRIC.A1PMS)






50. Request Accepted (NONRTRIC.A1PMS -> OTF)






51. Policy Deletion (HelloWorld)  (RICP.A1 -> RICAPP.HW)






52. Policy status change (RICAPP.HW -> RICP.A1)






53. Get HelloWorld Policy Instance Status (OTF -> NONRTRIC.A1PMS)






54. not found (NONRTRIC.A1PMS -> OTF)






63. Get Policy (OTF -> NONRTRIC.A1PMS)






64. Policy List (NONRTRIC.A1PMS -> OTF)






65 Check for HelloWorld Policy Instance (OTF)






...