@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" <> End box Box SMO #gold Participant NONRTRIC as "A1 Policy\nManagement Service" <> Participant SMO_A1 as "SDNC A1 Adapter" <> End box Box "O-RAN Near-RTRIC" #lightpink Participant A1TERM as "A1 MED" <> Participant xAPP as "HelloWorld xAPP" <> 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 + : <> GET Policy Types List A1TERM --> SMO_A1 - : <> Policy Type List SMO_A1 --> NONRTRIC - : Policy Type List NONRTRIC -> SMO_A1 + : Get Policies (*) SMO_A1 -> A1TERM + : <> GetPolicy (*) A1TERM --> SMO_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 + : <> 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 - : <> Policy List OTF -> OTF : Compare Results end Group Group #beige Optional Consistency Function Test OTF -> SMO_A1 + : Get Policies SMO_A1 -> A1TERM + : <> 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 - : <> 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 + : <> CreatePolicy (HelloWorld) A1TERM --> SMO_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 + : <> GetStatus (HelloWorld Policy Instance) A1TERM --> SMO_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 + : <> 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 - : <> 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 + : <> 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 - : <> 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 + : <> 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 - : <> Policy List OTF -> OTF : Compare Results end Group Group #beige Optional Consistency Function Test OTF -> SMO_A1 + : Get Policies SMO_A1 -> A1TERM + : <> 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 - : <> 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 + : <> DeletePolicy (HelloWorld Policy Instance) A1TERM --> SMO_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 + : <> 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 - : <> 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 + : <> 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 - : <> 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 + : <> 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 - : <> Policy List OTF -> OTF : Compare Results end Group Group #beige Optional Consistency Function Test OTF -> SMO_A1 + : Get Policies SMO_A1 -> A1TERM + : <> 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 - : <> Policy List SMO_A1 --> OTF - : Policy List OTF -> OTF : Compare Results end Group ||| Activate OTF [<-- OTF : Report Deactivate OTF @enduml