Table of Contents |
---|
...
Jira Legacy server System Jira columnIds issuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId 4733707d-2057-3a0f-ae5e-4fd8aff50176 key CPS-1964
Proposed JIRAs
Priority | Component | Description | JIRA | Confluence |
---|---|---|---|---|
1 | NCMP | Create implementation proposal for NCMP to provide support for Data jobs qualifier during registration | CPS-2096 - Create implementation proposal for NCMP to provide support for Data jobs qualifier during registration. CLOSED | |
2 | NCMP | NCMP to provide support for data producer identifier during registration | CPS-2105 - NCMP to provide support for data producer identifier during registration CLOSED | |
3 | NCMP | Support of Datajobs qualifier during registration | CPS-2084 - Support of Datajobs qualifier during registration CLOSED | |
4 | NCMP | Modify the get cmHandle api to return dataProducerIdentifier, moduleSetTag, and alternateId | CPS-2113 - Modify the get cmHandle api to return dataProducerIdentifier, moduleSetTag, and alternateId CLOSED | |
5 | NCMP | Modify lcm events to include dataProducerIdentifier and moduleSetTag | CPS-2114 - Modify lcm events to include dataProducerIdentifier and moduleSetTag CLOSED | |
6 | NCMP | Create implementation proposal for NCMP to provide Java interface that can support Data jobs request | CPS-2097 - Create implementation proposal for NCMP to provide Java interface that can support Data jobs request CLOSED | |
7 | NCMP | Define a java based datastructure for DataJob | CPS-2155 - Define a java based datastructure for DataJob CLOSED | |
8 | NCMP | Handle Datajob request in java interface | CPS-2142 - Spliting a data-job into sub-jobs forward those to dmi IN PROGRESS | |
9 | NCMP | Handle async datajob response in java interface | CPS-2143 - Handle Async Datajob Response OPEN | |
10 | DMI | Define DMI REST interface for Datajobs | CPS-2141 - Define DMI REST interface for Datajobs IN PROGRESS | |
11 | DMI | Define a java based datastructure dmi request for dmi endpoint | CPS-2163 - Use dmi REST endpoint to forward datajob read and write request IN PROGRESS | |
12 | DMI | Response schema for DMI dataJob response | CPS-2154 - Response schema for DMI dataJob response CLOSED | |
13 | NCMP | Forward dataJob response from DMI to client topic in header as destination | CPS-2098 - Forward dataJob response from DMI to Client Topic OPEN | |
14 | DMI | Stub should be modified to use generated code from OpenAPI | CPS-2145 - Move DMI Stub from NCMP to DMI-Plugin OPEN | |
15 | E2E demo for internal team and stakeholder | CPS-2144 - End to End Demo OPEN |
Issues & Decisions
Issue | Notes | Decision | |
---|---|---|---|
1 | CPS to deliver java-interface only | This affects our Wow in many aspects.
|
Csaba Kocsis proposed that CPS Team will deliver Java impl. first and then E// will take our code and wrap and a REST interface around it. Toine Siebelink CPS team will work out during Grooming how to demo withour REST interface, most like using Groovy (semi) Integartion Tests. Daniel Hanrahan his about to complete a test framework for test NCMP services. |
2 | Validation in REST or Java Service | Balance between early validation and common code | Continue with current process. Review case by case Toine Siebelink Csaba Kocsis |
3 | Why is NCMP forwarding the response, DMI could do this ? | Involve extra performance cost from CPS | Implementation needed because of TBAC |
4 | Are Java doc expected to be published | Yes. Agreed to deliver as a separate artefact (Shall be versioned ... where should it go ?) | Versioning of the interface shall be the same as the service delivered by CPS. New v should not affect the interface, version numbers could change and shall be documented |
5 | Delivery artefacts | Required Artefacts
| Csaba Kocsis to revert |
6 | Characteristics | Need to discuss priority of this. Delivering a functioning MVP for EPIC is important. Discussion and agreement with Peter T needed | Csaba Kocsis to revert |
7 | Results - Why can't DMI send result after completion of job with be told to do so | Simply less work if DMI can decide itself, no additional interface in other components needed to trigger this.... | tbc with Kieran Mccarthy A / Rafael Rocha |
8 | Exact form of Alternate ID(s) FDNs | uri-FDN and LDNs should contain "/" and not "," as delimiters at the start of the naming attribute FDN example :
URI FDN example :
Should be compliant with 3GPP, should start with '/ ' https://github.com/jdegre/5GC_APIs/blob/Rel-18/TS28532_ProvMnS.yaml | Kieran Mccarthy A Users are advised to use URI-FDNs for alternate IDs to minimize performance impacts of conversions etc. Rafael Rocha ALL cps |
9 | MVP (Minimum Viable Product) for DCM |
|
|
10 | DataJob Read v Write prioritization | Write should be prioritized over read | |
11 | Use of '/ ' causes some issues | kieran mccarthy Csaba Kocsis to review this impact on querying of FDN | |
12 | Prioritize CPS-2009 Update remaining existing/legacy NCMP APIs to support alternate Id (FDN) - Developer Wiki - Confluence (onap.org) - over Read. | New Epic requested for DataJob Read sperate this from 1964. Expected even earlier than q3 Agreed to move higher on R14 - #17 | |
13 | NCMP still need to convert Legacy Event to Cloud Event before we can Update the Legacy APIs to support AlternateId | Re-prioritise [CPS-1704] Separation of Headers from Event Payload for Legacy Events - ONAP JIRA over CPS-2009 Update remaining existing/legacy NCMP APIs to support alternate Id (FDN). Kolawole Adebisi-Adeolokun to get agreement with stakeholders | Currently ETH are only consuming the LCM event and we agreed shall remain Legacy event for MVP delivery. |
...
Functional Requirement | Error Scenario | Expected Behavior | Sign-off | |
---|---|---|---|---|
1 | #2 | Non Responding DMI during new DataJob Request | NCM shall send asynchronous message containing:
Client is responsible for retry. Wait for implantation proposal | Csaba Kocsis , CPS |
2 | #2 | Unmatched Alternate IDs | Toine Siebelink : Not discussed yet but I would suggest similar behavior as legacy bulk interface (async response with failed FDNS) - If an unmatched alternated (1 or more), send a response back to client saying no jobs or 0 subjob If request contains none-exited alternateid ? - Goes to client | Csaba Kocsis, all cps |
3 | #3 | Non Responding DMI during new status update | Error handling just by HTTP timeout (java interface will throw an exception) | Csaba Kocsis all cps |
4 | #4 | Not existing Topics | NCMP is NOT responsible for checking or handling messages to non existing (client) topics Also 'internal' topics are assumed to be set up correctly | Csaba Kocsis all cps |
5 | Misc. | Other Robustness
|
| Agreed to revisit robustness once basic happy and standard error scenarios (DMI not responding) have been implemented |
High Level Solution
Gliffy | |
---|---|
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
The 8 Steps
- DCM REST endpoint forwards request to NCMP for processing
- When processed subjobs are sent to relevent DMI
- DMI responds with acknowledgement of datajob received to NCMP
- NCMP informs DCM
- Job status sent to internal topic
- Topic published on Kafka channel
- Clients subscribed get status
- rApps receive status
Considerations
Java interface to process a data job request
Splitting the main job into multiple DMI sub-jobs
Synchronous response with sub jobid
Async mechanism to return list of jobs
DMI or ENM responses ( Not CPS responsibility )
Listen to the responses on internal topics
Forward responses to the relevant topics
Error Handling
Specify the REST interface spec between NCMP and DMI plugin
Suggested User Story Breakdown
...