SDN-R Feature for adding cm-handle

Overview

CPS stores the yang model of the mounted devices in CPS-Core database. It is handled by CPS-DMI Plugin which fetches the yang models of the devices registered at AAI and stores in CPS.

As the VNF/PNF registry in AAI is not supported for Slicing use case, the mounted nodes will be directly published to the CPS-DMI Plugin by SDN-C.

A new karaf feature is needed to communicate the node-id to CPS-DMI plugin. This will be achieved by registering a cm-handle with DMI-Plugin.

RPC Details

RPC Name: addCMHandle

Functionality:

  1. This RPC makes use of the onDataTreeChanged event from DataTreeChangeListener to detect, if any node is added to network-topology https://localhost:8086/restconf/config/network-topology:network-topology

  2. If the ModificationType is 'WRITE', a new notification is published to dmaap to add the cmhandle.

  3. If the ModificationType is 'DELETE', the notification to remove the cmhandle will be published. - TBC with CPS Team

       cmhandle format:

      

       Reference: CPS-352 : Create yang-model for DMI-registry data

       where,

       cm-handle-id is node id

       dmi-service-name is Kubernetes service name of the DMI Plugin

 

RPC Yang: CMHandle-API.yang

yang tree:

 

 

 

Interfaces:

  1. Mount Request to SDN-R

<node xmlns="urn:TBD:params:xml:ns:yang:network-topology"> <node-id>new-netconf-device id</node-id> <host xmlns="urn:opendaylight:netconf-node-topology">127.0.0.1</host> <port xmlns="urn:opendaylight:netconf-node-topology">17830</port> <username xmlns="urn:opendaylight:netconf-node-topology">admin</username> <password xmlns="urn:opendaylight:netconf-node-topology">admin</password> <tcp-only xmlns="urn:opendaylight:netconf-node-topology">false</tcp-only> </node>

     2. New Feature at SDN-R to publish the cm-handle

      feature: addCMHandle

      Dmaap Topic: CM_HANDLE (TBC)

    3. Receive the DMaap notification

      curl -k --header "Content-Type: application/json" --request GET https://<ip>:30226/events/CM_HANDLE

    4 & 5. Fetch the module sets and yang model from SDN-R using RESTConf API (CPS-DMI Plugin takes care of it)

       Yang model: https://<ip>:<port>/restconf/operations/network-topology:network-topology/topology/topology-netconf/node/{node-id}/yang-ext:mount/ietf-netconf-monitoring:get-schema

    6.  Initial-config data: This is not currently supported (as on 01-10-2021). Use the CPS Data APIs to store the initial config data to CPS.

       DMI Plugin should be able to fetch the initial RAN Configuration data as well (not shown in the sequence diagram).

      https://<ip>:<port>/restconf/config/network-topology:network-topology/topology/topology-netconf/node/{node-id}/yang-ext:mount/ran-network:ran-network

Discussion with CPS Team on 28-09-2021: