Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The purpose of this spike is to be able to identify the APIs we need in order to talk to SDNC for doing CRUD operations on the models that are mounted as nodes on a particular installation.

Assumptions

#AssumptionNote
1rests bundle is pre-deployed
2NCMP/DMI-Plugin is not responsible for mounting nodes

Issues & Decisions

#

Issue Description

NotesDecision
1Bundle to useIt also supports actions.

"rests" bundle supports MIME type "application/yang-data+json" and is chosen as the bundle to use.

Supports parameters like fields and depth (details below)

2Differentiation between config false and config=true data

The NCMP and DMI interface will use the concept of datastores like 'operational' and 'running' to possible request config=true or all data. Currently it is unclear if the RESTConf/ODL parameter of 'content' works as intended to make this distinction.

Currently on the simulator the available "datastores" observed are startup, persist and running.




Code Block
firstline1
titleModel used for illustration purposes
linenumberstrue
collapsetrue
module gnodeb {
    yang-version 1.1;
    namespace "urn:gnodeb:test";

    prefix gnb;

    description
      "Yang model for gnodeb";
    revision "2019-12-03" {
        description
          "initial version";
    }

    container cells {
        list cellinfolist {
            key cell-id;
            leaf cell-id {
                type uint16;
            }
            leaf cell-uuid {
                type uint32;
            }
			leaf cell-description {
                type string;
                description
                  "Possible name or description";
            }
        }
    }
}

...

The "content" query parameter controls how descendant nodes of the requested data nodes will be processed in the reply of a GET request.

Possible values are config, nonconfig and all, with all being the default.

...

Code Block
titleEquivalent rpc request
collapsetrue
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<rpc message-id="m-130441" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">             
<get>                                                                                
<filter xmlns:ns0="urn:ietf:params:xml:ns:netconf:base:1.0" ns0:type="subtree">      
<cells xmlns="urn:gnodeb:test"/>                                                     
</filter>                                                                            
</get>                                                                               
</rpc>                                                                               


http://localhost:8282/rests/data/network-topology:network-topology/topology=topology-netconf/node=PNFDemo/yang-ext:mount/gnodeb:cells?content=config

Code Block
titleEquivalent rpc request
collapsetrue
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<rpc message-id="m-131442" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<get-config>
<source>
<running/>
</source>
<filter xmlns:ns0="urn:ietf:params:xml:ns:netconf:base:1.0" ns0:type="subtree">
<cells xmlns="urn:gnodeb:test"/>
</filter>
</get-config>
</rpc>

...


http://localhost:8282/rests/data/network-topology:network-topology/topology=topology-netconf/node=PNFDemo/yang-ext:mount/gnodeb:cells?content=all

Code Block
titleEquivalent rpc request
collapsetrue
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<rpc message-id="m-444" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<get-config>
<source>
<running/>
</source>
<filter xmlns:ns0="urn:ietf:params:xml:ns:netconf:base:1.0" ns0:type="subtree">
<cells xmlns="urn:gnodeb:test"/>
</filter>
</get-config>
</rpc>



Other available params :

Recording :

...