Versions Compared

Key

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

...

Flow Step

Short description

Message Details

Notes

1

Bulk Get Request


Code Block
title/v1/batch/data/ds/{datastore-name}
collapsetrue
body:
["cm-1",...,"cm-n"]

Example CURL cmd :

curl --location --request GET 'http://localhost:8080/ncmp/v1/batch/data/ds/ncmp-datastore:operational?resourceIdentifier=parent%2Fchild%2526options%3D(a%3D1%2Cb%3D2)&topic=my-topic-name&options=(fields%3Dschemas%2Fschema)' \
--header 'Authorization: Basic Y3BzdXNlcjpjcHNyMGNrcyE=' \
--header 'Content-Type: application/json' \
--data '[ "40137a9771f84459affa795fa1d633ab", "f5a92ec7a7db4d6fbb0e0ce2803a86cc" ]'

Define new get operation "getResourceDataForCmHandles" into ncmp.yml

2Ack Client Request


Code Block
titleResponse 200
collapsetrue
{"requestId":"123"}



3DMI Bulk Request


Code Block
title/v1/ch/batch/data/ds/{datastore-name}&topic=topicParamInQuery
collapsetrue
body: {"Cmhandles":["cm-1",...,"cm-n"],"requestId":123}


The DMI PLugin should be told (included in request) the client topic so that NCMP does not have to 'remember' to relation between request id and client topic!



4Ack Client Request


Code Block
titleResponse 202
collapsetrue



5Kafka Messages from DMI to NCMP


Code Block
titleTopic: ncmp-async-m2m
collapsetrue
Message Details TBD



6Kafka Message(s) from NCMP to Client 
Table


Code Block
titleTopic: <client topic>
collapsetrue
Message Details TBD



7Alternative for 4/5 → Non responding DMI. NCMP will have to create error message detailing cm-handles
See decision # 8 and 9
8

Response message structure ? (Flow no. 5)

Non responding DMI-plugin 


Code Block
titleNon responding DMI-plugin 
collapsetrue
{
  "timestamp":"2023-03-01T23:00:00.345-0400", 
  "status": 503, 
"requestId":123,
  "messageerror": "DMI Service Unavailable, {service-name}",
  "Cmhandles":["cm-1",...,"cm-n"]
  }



9

Response message structure ? (Flow no. 5)

Non existing cm handles


Code Block
titleNon existing cm handles
collapsetrue
{
	"timestamp":"2023-03-01T23:00:00.345-0400",
"status":404,
"    "requestId":123,
	"error":"cmCm-Handle handle not found",
	"message":{"Cmhandles":["cm-1",...,"cm-n"]}
}



10Non Ready cm handles


Code Block
titleNon existing cm handles
collapsetrue
{
	"timestamp":"2023-03-01T23:00:00.345-0400",
    "requestId":123,
	"error":"Cm-Handle not in READY state.",
	"Cmhandles":["cm-1",...,"cm-n"]
}



11URL  pattern for DMI-Plugin bulk endpoints

Existing DMI endpoints are : 

/v1/ch/{cmHandle}/data/ds/{datastore-name}


datastore-name:

  1. ncmp-datastore:passthrough-operational
  2. ncmp-datastore:passthrough-running

 ...&topic=topicParamInQuery


CPS Proposed :

/v1/ch/batch/data/ds/{datastore-name}

 ...&topic=topicParamInQuery

cm handle ids and requestid into body


...