...
2. High-Level Architecture and Use Cases
Please refer to the presentation for detailed architecture considerations for CM Notification support. The below picture depicts the workflow for this POC effort.
...
4b: Update RuntimeDB/ConfigDB using REST API
3. VES Message Format
This POC does not use VES messages, but would leverage the configuration change payload that should be included in the VES message notificationFields. This POC assumes that appropriate DMAAP message will be published by relevant ONAP components (VES Collector/DCAE) that will include the configuration change payload. It is also expected that payload aligns with the YANG model defined for respective notifications.
For this POC, following VES message is assumed, and also includes configuration change payload (neighbor list change) in the notificationFields below.
{ "event": { "commonEventHeader": { "version": "4.0.1", "vesEventListenerVersion": "7.0.1", "domain": "notification", "eventName": "Notif_RansimAgent-Wipro_RanPCIProblem", "eventId": "Notif000001", "sequence": 1, "priority": "High |
---|
...
", "reportingEntityId": "de305d54-75b4-431b-adb2-eb6b9e546014", "reportingEntityName": "ncserver1", "sourceId": "cc305d54-75b4-431b-adb2-eb6b9e541234", "sourceName": "Chn0001", "startEpochMicrosec": 1451772223000000, "lastEpochMicrosec": 1451772403000000, "timeZoneOffset": "UTC-05:30", "nfNamingCode": "RansimAgent", "nfVendorName": "Wipro" }, "notificationFields": { "notificationFieldsVersion": "2.0", "changeType": "Neighbour list changed", "changeIdentifier": "ncserver1", "additionalFields": { "networkId": "NTWK005", "configurationChange": "{ \"fap-service-number-of-entries-changed\":1, \"fap-service\":[ { \"alias\":\"Chn0001\", \"cid\":\"Chn0001\", \"lte-cell-number-of-entries\":1, \"lte-ran-neighbor-list-in-use-lte-cell-changed\":[ { \"plmnid\":\"ran-1\", \"cid\":\"Chn0002\", \"phy-cell-id\":4, \"pnf-name\":\"ncserver1\", \"blacklisted\":false } ] } ] }" } } } } |
---|
4. North-bound RPC YANG Model
The YANG model to support CM Notification for neighbor list change can be found at: https://gerrit.onap.org/r/gitweb?p=ccsdk/features.git;a=blob;f=sdnr/northbound/CMNotify/model/src/main/yang/CM-NOTIFY-API.yang;h=834dc71ec77d8aea450e389e77016e6f9a97fdd2;hb=refs/heads/master
The YANG tree is below, and it is expected that any configuration change payload in the DMAAP message aligns with this YANG model for efficient end to end system engineering.
module: CM-NOTIFY-API rpcs: |
---|
5. DMAAP Message Format
DMAAP Message from VES Collector/DCAE or pertinent Micro Service to SDNR Indicating configuration change and the need to update RuntimeDB
Topic: CM-NOTIFICATION { |
---|
Please note that YANG model for RPC is aligned with the payload included in the DMAAP message.
6. RuntimeDB/ConfigDB API Interaction
The current ConfigDB implementation code can be found in the github: https://github.com/onap-oof-pci-poc/sdnc/tree/master/ConfigDB/Dublin
Swagger JSON API documentation can be found at: https://github.com/onap-oof-pci-poc/sdnc/blob/master/ConfigDB/Dublin/SDNC_ConfigDB_API_v3.0.0.json
The current ConfigDB implementation is deployed in the WIndriver labs in the VM (10.12.6.45), and can be accessed via URL http://10.12.6.45:8080/api/sdnc-config-db/v3
The ConfigDB API relevant for this POC is for adding neighbor to a cell. API will be invoked by a DG using REST API adapter plugin.
API URL: PUT /api/sdnc-config-db/v3/createNbr/{cellId}
API Payload:
{
"ho": true,
"targetCellId": "string"
}
The CURL for this API is below
curl --location --request PUT 'http://10.12.5.120:8080/api/sdnc-config-db/v3/createNbr/Chn0000' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Cache-Control: no-cache' \
--header 'Content-Type: text/plain' \
--data-raw '{
"ho": true,
"targetCellId": "Chn0001"
}'
7. Deployment Considerations
...