Versions Compared

Key

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

...

Yang data resource actions and RPC operations are run directly on the 'device' meaning ncmp-datastores:passthrough-running is used for these request


#UsecaseNCMP DatastorePath?fields?topicQueryTime frame
1Readpassthrough-runningRESTConf Path onlyImplemented by SDNC/NodeImplemented by DMI PluginNot supportedIstanbul
2Readncmp-datastores:operational CPSPath onlyTBDTBDLimited xpath functionalityIstanbul
3Createpassthrough-runningRESTConf Path onlyN/AN/AN/AIstanbul
4Createncmp-datastores:runningCPSPath onlyN/AN/AN/AIstanbul
5Deletepassthrough-runningRESTConf Path onlyN/AN/ANot supportedIstanbul
6Deletencmp-datastores:runningCPSPath onlyN/AN/ANot supportedIstanbul
7Updatepassthrough-runningRESTConf Path onlyN/AN/AN/AIstanbul
8Updatencmp-datastores:runningCPSPath onlyN/AN/AN/AIstanbul
9Patchespassthrough-runningRESTConf Path onlyN/AN/AN/AIstanbul
10Patchesncmp-datastores:runningCPSPath onlyN/AN/AN/A> Istanbul
11Bulk 




> Istanbul
12





> Istanbul
13Action




Istanbul?
14





Istanbul?

REST API


{ncmp-root}/ncmp/v1/cm-handle//ds /ncmp-datastores:passthrough-running/{data-resource-identifier}

Note 'topic' and 'fields' are only supported in passthrough mode at this time (ONAP Release I). If not pass through then an exception is thrown from NCMP at this time.

Scenario : Read the bookstore for cmhandle "123" as passthrough
Method : GET
URI : {ncmp-root}/ncmp/v1/cm-handle/123/ds/ncmp-datastores:passthrough-running//bookstore
Header :
Accept: application/json

Event Response:


Req/usecase

REST

Method

 URI / Payload

Header Parameters

Request/Response ExampleStatus
1

Ericsson ref.NCMP-CM-001-2

Read a data resource directly from source (passthrough) for a cmHandle - async

GETAccept:
application/json
Expand

[
    {
        "xpath""/bookstore",
        "leaves": {
            "bookstore-name""Chapters"
        },
        "childDataNodes": [
            {
                "xpath""/bookstore/categories[@code='01']",
                "leaves": {
                    "code""01",
                    "name""SciFi"
                },
                "childDataNodes": [
                    {
                        "xpath""/bookstore/categories[@code='01']/books[@title='Far Horizons']",
                        "leaves": {
                            "lang""en",
                            "price": {
                                "value"1099.0
                            },
                            "title""Far Horizons",
                            "authors": [
                                "david Brin",
                                "Ursula K. Le Guin",
                                "Rober Silverberg",
                                "Orson Scott Card",
                                "Greg Bear",
                                "Joe Haldeman",
                                "Dan Simmons"
                            ],
                            "pub_year": {
                                "value"1999.0
                            }
                        },
                        "childDataNodes": []
                    },
                    {
                        "xpath""/bookstore/categories[@code='01']/books[@title='Feersum Endjinn']",
                        "leaves": {
                            "lang""en",
                            "price": {
                                "value"895.0
                            },
                            "title""Feersum Endjinn",
                            "authors": [
                                "Iain M. Banks"
                            ],
                            "pub_year": {
                                "value"1994.0
                            }
                        },
                        "childDataNodes": []
                    }
                ]
            },
            {
                "xpath""/bookstore/categories[@code='02']",
                "leaves": {
                    "code""02",
                    "name""kids"
                },
                "childDataNodes": [
                    {
                        "xpath""/bookstore/categories[@code='02']/books[@title='The Golden Compass']",
                        "leaves": {
                            "lang""en",
                            "price": {
                                "value"699.0
                            },
                            "title""The Golden Compass",
                            "authors": [
                                "Philip Pullman"
                            ],
                            "pub_year": {
                                "value"1995.0
                            }
                        },
                        "childDataNodes": []
                    }
                ]
            }
        ]
    }
]

Under Review2Ericsson ref. NCMP-CM-001-2
Read a data resource directly from source (passthrough) for a
cmHandle. Only return specific field(s). Synchronous callGET{ncmp-root}/ncmp/v1/cm-handle//ds /ncmp-datastores:passthrough-running/{dataresource-identifier}?fields={fields}Accept:
application/json

Scenario : Read the bookstore.(categories,
title, authors, pub_year, price, lang) for cmhandle
"335ff" as passthrough
Method : GET
URI : {ncmp-root}/ncmp/v1/cm-handle/335ff/ds/ncmp-datastores:
passthrough-running//books?fields=title;
authors;pub_year;price;lang
Header :
Accept: application/json

Response

Expand

[
    {
        "xpath""/bookstore/categories[@code='02']/books[@title='The Golden Compass']",
        "leaves": {
            "lang""en",
            "price": {
                "value"699.0
            },
            "title""The Golden Compass",
            "authors": [
                "Philip Pullman"
            ],
            "pub_year": {
                "value"1995.0
            }
        },
        "childDataNodes": []
    }
]

[
    {
        "xpath""/bookstore/categories[@code='01']/books[@title='Feersum Endjinn']",
        "leaves": {
            "lang""en",
            "price": {
                "value"895.0
            },
            "title""Feersum Endjinn",
            "authors": [
                "Iain M. Banks"
            ],
            "pub_year": {
                "value"1994.0
            }
        },
        "childDataNodes": []
    }
]

[
    {
        "xpath""/bookstore/categories[@code='01']/books[@title='Far Horizons']",
        "leaves": {
            "lang""en",
            "price": {
                "value"1099.0
            },
            "title""Far Horizons",
            "authors": [
                "david Brin",
                "Ursula K. Le Guin",
                "Rober Silverberg",
                "Orson Scott Card",
                "Greg Bear",
                "Joe Haldeman",
                "Dan Simmons"
            ],
            "pub_year": {
                "value"1999.0
            }
        },
        "childDataNodes": []
    }
]

Under Review3ALTERNATIVE OUTPUT TO ABOVE
SCENARIO
NCMP-CM-001-2
Read a data resource directly from
source (passthrough) for a
cmHandle. Only return specific field(s).
Synchronous callGETWIPAccept:
application/jsonWIPUnder Review4NCMP-CM-001-2
Read a data resource with some leaf value condition directly from the source (passthrough) for a cmHandle. Only return specific field(s).
Synchronous callGET{ncmp-root}/ncmp/v1/cm-handle//ds /ncmp-datastores:passthrough-running/{data-resource-identifier}?fields={fields} &topic={topicId}Accept:
application/json

Scenario : Read 

Read the price for cmhandle ="335ff" as passthrough

Method : GET
URI : {ncmp-root}/ncmp/v1/cm-handle/335ff/ds/ncmp-datastores:passthrough running//books[@title='Far Horizons']?fields=price
Header :
Accept: application/json

[
    {
        "xpath""/bookstore/categories[@code='01']/books[@title='Far Horizons']",
        "leaves": {
            "price" 1099.0

    }

]

Under Review





2





3





4





5





6





7





8





9





10





11





125

NCMP-CM-001-1

Get model (module set) for CMHandle

GET

{ncmp-root}/ncmp/v1/model/<handleId>

Accept:
application/json

Scenario : Get the model data for CMHandle with id "335ff"
Method : GET
URI : {ncmp-root}/ncmp/v1/model/335ff
Header : Accept: application/yang-data+json

Response :

Expand
{
"test:bookstore":{
"bookstore-name": "Chapters",
"categories": [
{
"code": "01",
"name": "SciFi",
"books": [
{
"authors": [
"Iain M. Banks"
],
"lang": "en",
"price": "895",
"pub_year": "1994",
"title": "Feersum Endjinn"
},
{
"authors": [
"Ursula K. Le Guin",
"Joe Haldeman",
"Orson Scott Card",
"david Brin",
"Rober Silverberg",
"Dan Simmons",
"Greg Bear"
],
"lang": "en",
"price": "1099",
"pub_year": "1999",
"title": "Far Horizons"
}
]
},
{
"name": "kids",
"code": "02",
"books": [
{
"authors": [
"Philip Pullman"
],
"lang": "en",
"price": "699",
"pub_year": "1995",
"title": "The Golden Compass"
}
]
}
]
}
}
Under Review6NCMP-CM-001-4
Create a data resource for a
cmhandlePOST

{ncmp-root}/ncmp/v1/cm-handle/<cmhandle>/ds/ncmp-datastores:passthrough-running/{parent-data-resource-identifier}
{
<new-yang-data-resource>
}

Accept:
application/ yang- data+json

Scenario : Create a data resource of the bookstore model for the given cmhandle.

Method : POST

RI : {ncmp-root}/ncmp/v1/cm-handle/34l5k32/bookstore

Header : Accept: application/yang-data+json

Body:

Expand
{
"test:bookstore":{
"bookstore-name": "Chapters",
"categories": [
{
"code": "01",
"name": "SciFi",
}
]
}
}
Under Review7NCMP-CM-001-5
Delete a data resource for a
cmHandleDELETE

{ncmp-root}/ncmp/v1//ds/ncmp-datastores:passthrough-running/{data-resource-identifier}

OR with datastores defaults

{ncmp-root}/ncmp/v1/cmhandle// {parent-data-resource-identifier}

Accept:
application/ yang- data+json

Scenario : Delete categories=SciFi
Method : DELETE
URI : {ncmp-root}/ncmp/v1/cmhandle/<cm-handle>//categories[@name="SciFi"]

do we follow xpath syntax?

{adapter-root}??? 

Under Review8NCMP-CM-001-3
Update a data resource for a
cmHandlePATCH

{ncmp-root}/ncmp/v1/data//ds/ncmp-datastores:passthrough-running/{data-resource-identifier}

{
       <yang-data-sub-resource>
}

OR with datastores defaults

{ncmp-root}/ncmp/v1/cmhandle// {parent-data-resource-identifier} 

{
<yang-data-sub-resource>
}

Accept:
application/ yang- data+json

Scenario : Add a book to categories SciFi if it doesn't already exist
Method : PATCH
URI : {ncmp-root}/ncmp/v1/cm-handle/d32455f/bookstore/categories:name=SciFi

Header :
      Content-Type: application/yang-data+json

Body :

Expand
{
"categories"
: [
{
"code": "01",
"name": "SciFi",
"books": [
{
"authors": [
"Iain M. Banks"
],
"lang": "en",
"price": "895",
"pub_year": "1994",
"title": "Feersum Endjinn"
}
]
}
]
}
Under Review9

NCMP-CM-001-8

Multiple edits under a target data
resource for a single cmHandle

PATCH

{ncmp-root}/ncmp/v1/cm-handle//ds /ncmp-datastores:passthrough-running/{data-resource-identifier}

{

yang-patch payload

}

OR using datastores defaults

{ncmp-root}/ncmp/v1/cm-handle//{data-resource-identifier}

{

yang-patch payload

}

Content-Type:
application/yang-patch+json

Scenario: Make multiple updates under the bookstore/categories data resource

Method : PATCH

URI : {ncmp-root}/ncmp/v1/cm-handle/32rf234/bookstore/categories

Header :
Content-Type: application/yang-patch+json

Body:

Expand
{
"ietf-restconf:yang-patch" : {
"patch-id" : "change-categories-names",
"edit" : [
{
"edit-id" : 1,
"operation" : "create",
"target" : "/bookstore/categories:code="01",
"value" : {
"/bookstore/categories:code" : {
"name" : "Biography"
}
}
},
{
"edit-id" : 2,
"operation" : "create",
"target" :"/bookstore/categories:code="02"",
"value" : {
"/bookstore/categories:code" : {
"name" : "Detective"
}
}
}
]
}

Response :
HTTP/1.1 200 OK
Date: Thu, 26 Jan 2017 20:56:30 GMT
Server: example-server
Last-Modified: Thu, 26 Jan 2017 20:56:30 GMT
Content-Type: application/yang-patch+json
{
   "ietf-yang-patch:yang-patch-status" : {
    "patch-id" : "change-categories-names",
    "ok" : [null]
   }
}

Under Review101112131415161718192021






Output Specification 

?fields={fields}&topic= {topicId}

...

?fields={fields}&topic= {topicId}

Required Task

#

Description

Notes

Decision

1

Yml update with return types with examples of the payload



2Update CPS openAPI.yml with return types

Jira
serverONAP JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyCPS-401