@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
|