References

CPS-1434 - Getting issue details... STATUS

CPS-1407 - Getting issue details... STATUS

INT-2177 - Getting issue details... STATUS

CPS Data Notifications

CM VES Message

https://www.rfc-editor.org/rfc/rfc8641

O1 CM Update Notification VES Message

DMi Data AVC Sample Message

SON Use Case Weekly Meeting Notes

Assumptions


#IssueNotesDecisions
1

VES Event is received via Strimzi/DMaap Kafka on DMI.


Yes. This is agreed.
2Changes in CM data will result in CPS-Core sending a CPS Data AVC irrespective the origin of the change.
  1. See #4 in the Bigger Picture below.
  2. This could later be model controlled to be more granular.


Agreed.

Issues & Decisions


#

Issue

Notes

Decisions

1

CM VES Message format schema.

Who will own it ?

In order to process the message DMI plugin / NCMP should be aware of the schema of the incoming message it is going to be consume.VES format primary reference is here: [INT-2180] Define CM VES message aligned with 3GPP/O-RAN O1 - ONAP JIRA
2Topic from where we will receive the CM VES Message.Existing channel or channel owned by NCMP/DMI

Vishal Varvate  to provide the topic details.

Priyank Maheshwari ,please use below topic

unauthenticated.SEC_3GPP_PROVISIONING_OUTPUT

3

Mapping of the relevant information from the CM VES Message

  • CmHandle
  • Xpath
  • Operation that happened

Only fields that seem to suggest to have these info. are.

  1. moiChanges.operation
  2. moiChanges.value
  3. moiChanges.path ?? 

Related work in ONAP suggests this possible alternative schema:

https://wiki.o-ran-sc.org/display/SIM/Network+Slicing+Use+Case#NetworkSlicingUseCase-ExampleVESPMstndDefined

So wanted to confirm if measurements.measurement-type-instance-reference is xpath?

Mapping detailed below: VESEvent%E2%86%92DMIDataAVCMapping

CM VES related details present in CM handling guide and INT-2177 - Getting issue details... STATUS

VES Event Sample
{
  "event": {
    "commonEventHeader": {
       "domain": "stndDefined",
            "eventId": "stnddefined000001",
            "eventName": "stnddefined_Metrics",
            "lastEpochMicrosec": 1670938742757000.0,
            "nfNamingCode": "NFC",
            "nfVendorName": "Capgemini Engineering",
            "priority": "Normal",
            "reportingEntityId": "nearrtric-22_cucpserver2",
            "reportingEntityName": "honeycomb",
            "sequence": 0,
            "sourceId": "nearrtric-22_cucpserver2",
            "sourceName": "Capgemini Engineering",
            "startEpochMicrosec": 1670938742757000.0,
            "stndDefinedNamespace": "3GPP-Provisioning",
            "timeZoneOffset": "UTC+05:30",
            "version": "4.0.1",
            "vesEventListenerVersion": "7.2"
    },
    "stndDefinedFields": {
      "schemaReference": "https://forge.3gpp.org/rep/sa5/MnS/blob/Rel16/OpenAPI/provMnS.yaml#/components/schemas/NotifyMoiChanges",
      "data": {
        "href": "172.16.100.130",
        "notificationId": 1,
        "notificationType": "notifyMOIChanges",
        "eventTime": "2021-08-23T11:52:10.6Z",
        "systemDN": "xyz",
        "moiChanges": [
          {
            "notificationId": 123,
            "correlatedNotifications": [],
            "additionalText": "AdditionalTextDetails",
            "sourceIndicator": "MANAGEMENT_OPERATION",
            path="/restconf/data/ran-network:ran-network/NearRTRIC=22/GNBCUCPFunction=cucpserver2/NRCellCU=15549/NRCellRelation=14427/isHOAllowed",
            "operation": "REPLACE",
            "value": {
              "isHOAllowed": "true"
            }
          }
        ]
      },
      "stndDefinedFieldsVersion": "1.0"
    }
  }
}
4DMI Data AVC Message
DMI Data AVC Sample
{
   "eventId":"nearrtric-22_cucpserver2",
   "eventCorrelationId":"nearrtric-22_cucpserver2",
   "eventTime":"2023-02-28T16:42:25-04:00",
   "eventSource":"ncmp-datastore:operational",
   "eventType":"org.onap.ncmp.cm-network-avc-event",
   "eventSchema":"org.onap.ncmp:cm-network-avc-event.rfc8641",
   "eventSchemaVersion":"1.0",
   "event":{
      "push-change-update":{
         "datastore-changes":{
            "ietf-yang-patch:yang-patch":{
               "patch-id":"34534ffd98",
               "edit":[
                  {
                     "edit-id":"ded43434-1",
                     "operation":"replace",
                     "target":"ran-network:ran-network/NearRTRIC[@id='22']/GNBCUCPFunction[@id='cucpserver2']/NRCellCU[@id='15549']/NRCellRelation[@id='14427']",
                     "value":{
                        "attributes":[
                           {
                              "isHoAllowed":true
                           }
                        ]
                     }
                  }
               ]
            }
         }
      }
   }
}

5Topic from NCMP-DMI-Plugin to NCMPThe producer is already configured.Topic name : dmi-cm-events

The Big(ger) Picture

CPS Notifications Overview

For more details and descriptions see CPS Data Notifications Overview

VES Event Flow

  • DMI Plugin to receive CM VES Message  from the upstream( VES Collector ?? ) via a REST call or DMI will listen to a topic. ( or also can generate a VES message for testing)
  • DMI Plugin will have to convert the CM VES Message to DMI Data AVC event and publish the same to an internal topic.
  • NCMP will have logic to handle the DMI AVC event received to update the cache. ( See #6 in  CPS Data Notifications Overview ) 


CM_VES_PROCESSING

VES Event → DMI Data AVC Mapping


VES EventDMI Data AVCNotes
#PartFieldSourceSample ValuePartFieldSourceSample Value
1HeadereventId
123435HeadereventIdDMI Plugin123435Has to be globally unique
2HeadereventTimedevice2021-11-16T16:42:25-04:00HeadereventTimeVES Event2021-11-16T16:42:25-04:00TO BE DISCUSSED see open issue #
3HeadersourceIddevicenearrtric-22_cucpserver2HeadereventSourceVES Eventdevice-123Upto DMI plugin to send. where it came from etc.
4HeadersourceId
nearrtric-22_cucpserver2HeadereventCorrelationIdVES Event & Conversionnearrtric-22_cucpserver2DMI PLugin need to map TBC
5Payloadpath

ran-network:ran-network/NearRTRIC=22/GNBCUCPFunction=cucpserver2/
NRCellCU=15549/NRCellRelation=14427


ran-network:ran-network/NearRTRIC=11/GNBCUCPFunction=cucpserver2/
NRCellCU=15549/NRCellRelation=14427

PayloadtargetVES Event & Conversion

ManagedElement@[id='1']\Function[@id='SomeFunction']


ran-network:ran-network/NearRTRIC[@id="22"]/GNBCUCPFunction[@id="cucpserver2"]/
NRCellCU[@id="15549"]/NRCellRelation[@id="14427"]

DMI PLugin needs to convert FDN to XPath
6



Payloadpatch-idDMI Plugin329cb2e3-b41a-4347-9884-f15457f426a1Unique ID generated by DMI-Plugin
7Payloadoperationdevice'replace'PayloadoperationVES Event & Conversion'replace'DMI PLugin needs to map


The DMI Data AVC Payload is defined by https://www.rfc-editor.org/rfc/rfc8641

Value Copied VES EventTransformed VES Event ValueValue Generated by DMI-Plugin

Analysis

  • Dataspace : NFP-Operational
  • Yang Resource : ran-network to be used. ( trimmed down version just like cps-ran-schema-model )
  • We need to have a defined channel/topic where the VES messages are present , and NCMP should be able to listen , interpret/process and call the relevant CPS-Core APIs in order to publish the changes in the CPS DB.


Meetings



  • No labels

21 Comments

  1. Q3 refers to a link for PM (kpi such as throughput) VES messages. CM VES messages are different. See also this O-RAN SC work on CM Handling (Nov 2021). The following page
    CM handling guide - Developer Wiki - Confluence (onap.org) 
    describes a CM VES message and procedure for handling it, especially mapping the schema url to a local url. This refers to a 3GGP Rel16 scheme which needs to be updated to https://forge.3gpp.org/rep/sa5/MnS/-/blob/Rel-18/OpenAPI/TS28532_ProvMnS.yaml

  2. Changed "REPLACE" to "replace"

  3. I think the issue of what cmHandle to use has not yet been resolved. This is part of the Day0 initialization of CPS DB which is being done manually for London release. The VES msg needs to be parsed to derive the pre-chosen cmHandle which is needed in the AVC message. 

  4. One reasonable option is for the cmhandle to map to the NF. In our sample CM VES https://jira.onap.org/secure/attachment/18728/18728_cm_ves_20230228.json the sourceId in the header identifies the GNB CU NF. The cmhandle should be derived from this.

      "sourceId": "nearrtric-22_cucpserver2", 

    href has an ip address of the device.

  5. Hi Priyank Maheshwari ,can you please add a sample of AVC Event.

    1. Hi Vishal , here is the sample we prepared.


      DMI Data AVC Message
      {
         "eventId":"nearrtric-22_cucpserver2",
         "eventCorrelationId":"nearrtric-22_cucpserver2",
         "eventTime":"2023-02-28T16:42:25-04:00",
         "eventSource":"ncmp-datastore:operational",
         "eventType":"org.onap.ncmp.cm-network-avc-event",
         "eventSchema":"org.onap.ncmp:cm-network-avc-event.rfc8641",
         "eventSchemaVersion":"1.0",
         "event":{
            "push-change-update":{
               "datastore-changes":{
                  "ietf-yang-patch:yang-patch":{
                     "patch-id":"34534ffd98",
                     "edit":[
                        {
                           "edit-id":"ded43434-1",
                           "operation":"replace",
                           "target":"ran-network:ran-network/NearRTRIC[@id='22']/GNBCUCPFunction[@id='cucpserver2']/NRCellCU[@id='15549']/NRCellRelation[@id='14427']",
                           "value":{
                              "attributes":[
                                 {
                                    "isHoAllowed":true
                                 }
                              ]
                           }
                        }
                     ]
                  }
               }
            }
         }
      }
      
      


      FYI

      Toine Siebelink kieran mccarthy Tony Finnerty 

  6. Hi All , 

    As per todays discussion , we agreed to use sourceId from CM VES Message to be mapped with eventCorrelationId ( which would be used as CmHandle in NCMP ) .

    Also sourceId  (which represents the network function ) is globally unique in the network.


    We are not using href now in our mapping.

  7. Hi All , 

    We have this ran-network.yang which acts as a superset model.

    In cps we have cps-ran-schema-model which is a subset of the above.

    I think it has fields/attributes been used for E2E Network Slicing use case.

    For the 5G SON Use case we would need to extend the model to add NRCellRelation and have attribute isHOAllowed in it.

    We have created a story to analyze the same. CPS-1559 - Getting issue details... STATUS

    N.K. Shankaranarayanan Vishal Varvate  Do you think if we need to add any more attribute ??


    FYI Toine Siebelink kieran mccarthy Tony Finnerty

    1. Hi All , 

      Just an update around this after an internal discussion we had with team.

      N.K. Shankaranarayanan  Vishal Varvate    You guys should be able to provide your updated schema and would be able to load the schema using cps-core api's and once the model is loaded then we can also load the data adhering to that model.


      Toine Siebelink Tony Finnerty kieran mccarthy 

  8. Hi Vishal Varvate 

    We released 3.2.6 version of cps-and-ncmp.

    You can now refer to this version in the dmi-plugin. It has the changes in the schema which we discussed earlier.

    Let me know if you find any difficulties on the same.

    1. FYI.

      We have already updated the 3.2.6 version in ncmp-dmi-plugin code.

  9. Hi All , 

      I provided a basic demo of CPS-Core APIs which can be used in the NCMP code to proceed with our use cases.

    Below steps we followed : 

    1. Created a dataspace son5g-dataspace
    2. Schema-set son-5g-usecase-model
    3. Anchor son-5g-anchor
    4. Created a node using the sample data we had.
    5. Did a GET operation and also queried the same
    6. Also demoed the PATCH operation which would be helpful in the actual use case.


    FYI N.K. Shankaranarayanan Vishal Varvate Murali Sai Rama Krishna Veligeti Tony Finnerty kieran mccarthy Toine Siebelink Anirban Bhattacharjee 

  10. Hi All , 

      We had a very short meeting this time.

    Basically me and murali parthasarathy k  touchbased and murali/vishal agrees with the comments I have and they would be able to raise the patch soon.


    FYI Anirban Bhattacharjee Toine Siebelink N.K. Shankaranarayanan murali parthasarathy k Vishal Varvate 

  11. Hi All , 

    A little update on the DMI Data AVC event schema.

    Currently we don't have Kafka Header information in our schema , so we will need to add the same and populate the same as well.

    We are working on a spike for the same and let you know the details as soon as we have it.

    I am just giving you guys a heads up. Vishal Varvate  murali parthasarathy k 


    FYI Toine Siebelink kieran mccarthy Anirban Bhattacharjee N.K. Shankaranarayanan Tony Finnerty 


    1. This is a separate change which is been tracked here to separate the Kafka Headers and the event body.

      Details are here : CPS Events Structure

  12. Hi All , 

    CPS-1668 - Getting issue details... STATUS is created to enhance the DMI Data AVC message.

    Currently the actual payload is of type Object , we need to define the schema which is compliant with RFC8641 so that it is directly usable.

    1. This is done. We need to create the release to be used in the ncmp-dmi-plugin code.

  13. There is a new requirement to use the standardized events for any communication and we have finalized to use the Cloudevents for the same.

    CPS-1717 - Getting issue details... STATUS

    Epic created for tracking purpose.

    FYI N.K. Shankaranarayanan Vishal Varvate murali parthasarathy k 

    1. Hi Priyank Maheshwari ,


      We have created below Jira task to update the DMI codebase to support cloudevents.

      CPS-1747 - Getting issue details... STATUS

  14. Hi Vishal Varvate 

    Thanks for the heads up.

    Also you can refer https://gerrit.onap.org/r/c/cps/ncmp-dmi-plugin/+/135008 this patch which has all the code to use the cloud events. ( Currently I am using the 3.3.3-SNAPSHOT version of it as I am awaiting a point release creation ) but the changes are reviewed and you can also build on top of this.

    The details would be helpful for you to read the event from VES collector and transforming it to a DMI Data AVC event and sending to cps-ncmp side.