Create 'bulk' version for org.onap.cps.ncmp.rest.controller.NetworkCmProxyController#getResourceDataForCmHandle to support multiple cm-handles (~ multiple anchors in in CPS-Core)
References
CPS-1515 - Spike: Support multiple CM-Handles for NCMP Get Operation
Assumptions<optional>
<optional, assumptions are like decision made up front ie. everyone agrees on the answer but they are important to mention>
# | Assumption | Notes |
---|---|---|
1 | "fields" and "scope" are proprietary options or not in the scope of this analysis. | |
2 | same xpath (resourceIdentifierInQuery) for all cm handles or different for each cm handle |
Issues & Decisions
# | Issue | Notes | Decision |
---|---|---|---|
1 | Which operation(s) need support for multiple cm handles? |
if many what is the priority? | |
2 | Which datasources should be supported? | Do we need to support passthrough-only no-cached() data only ? | |
3 | URL pattern for NCMP bulk endpoints | Existing : /v1/ch/{cm-handle}/data/ds/{datastore-name} CPS Proposed : /v1/batch/data/ds/{datastore-name} ( include cm handles into payload / body and leave datastore into url) | |
4 | keep datastore, topic and optional parameters in the URL itself instead into body. | CPS prefers keep interface similar as single cm handle interface (consistency and cost) Existing : ...&topic=topicParamInQuery | |
5 | support in ONAP DMI-plugin | ||
6 | Response always Async ie. topic is compulsory ? | Assume topic is compulsory (defined in OPenApi) → Response therefore wil be 400 if not supplied | |
7 | Should NCMP Amalgamate Async responses from DMI-Plugin before forwarding ? | step 6 in flow diagram | |
8 | Overlap with Deutsche Telekom | Sourabh Sourabh discussed Lee Anjella Macabuhay who confirmed there s no overlap | No Overlap |
<Note. use green for closed issues, yellow for important ones if needed>
Implementation
Bulk Request Message Flow
Message Flow details
Short description | Message Details | Notes |
---|---|---|
Bulk Get Request | Define new get operation "getResourceDataForCmHandles" into ncmp.yml | |
Ack Client Request | ||
DMI Bulk Request | ||
Ack Client Request | ||
Kafka Messages from DMI to NCMP | ||
Kafka Message(s) from NCMP to Client | see open issue #9 |