References
- CPS-1964Getting issue details... STATUS
Assumptions
# | Assumption | Notes |
---|---|---|
1 | uri-FDN and LDNs should contain "/" and not "," as delimiters at the start of the naming attribute FDN example : Subnetwork=22,MeContext=Kista,ManagedElement=Kista,GNBDUFunction=1,UECC=1 URI FDN example : /Subnetwork=22/MeContext=Kista/ManagedElement=Kista/GNBDUFunction=1/UECC=1 Should be compliant with 3GPP, should start with '/ ' https://github.com/jdegre/5GC_APIs/blob/Rel-18/TS28532_ProvMnS.yaml | |
2 | Datajobid provided by DCM |
Issues & Decisions
Issue | Notes | Decision | |
---|---|---|---|
1 | Scope | Is creation of the data job in scope? I assume not. Assuming this is the revelevant section of the diagram. | Creation of data job done by DCM |
2 | Scope | Are all CRUDAQ datajobs being supported? | Yes |
3 | Technical | What is the signature of the DataJob request? What fields are provided to DCM/NCMP? | CPS team can propose |
4 | Delivery | Delivering Java Interface only | Yes |
5 | Technical | Can single DataJob have multiple requests and requests of different forms i.e. 2*read request and 1*write request? | Yes. Maintain the order. |
6 | Technical | Where do we find the EMS sub-job format? | Defined by E/// TBC. |
7 | Technical | What does the acknowledge sync response from NCMP to DCM require? | Number of sub-jobs and ids of sub-jobs |
8 | Technical | In which artifact and package will NCMP Java APIs be located/implemented? In which package will DMI (Onap) Java APIs be located/implemented? | Discuss in a separate user story |
9 | Technical | Agree names for incoming data jobs | Discuss with stakeholders TBC. |
10 | Technical | Agree names for sub-jobs towards DMI | Discuss with stakeholders TBC. |
11 | Technical | How do we need that data job being async? | Will be agreed during the grooming user story |
12 | Technical | What is the name of the topic of DMI-Internal? | Will be agreed during the grooming user story |
<Note. use green for closed issues, yellow for important ones if needed>
Scope
- 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
To Be Agreed with Stakeholders
- Names DataJob / SubJobs
- Datastructure of the DataJob (field names and java types)
- DMI response cloud event schema
- Internal topic names e.g. dmi-internal
Suggested User Story Breakdown
- Define DMI REST APIs and implement
- Handle request break-down (steps 1 and 2 on the diagram)
- Handle synchronous data-job response (step 4) and synch sub-job responses (steps 3)
- Agree on asynch data-job response with nm-engineering team
- Response schema for DMI response (Parallel to above steps 1, 2 and 3)
- Forward response (Parallel to above steps 1, 2 and 3)
- Delivery of product
- Error handling and more...
Datajob Read Request
Dataflow Diagram
Possible Flow
- Take in list of datajob actions
- Based on datajob object being looked (Levente)
- Probably consisting of jobid, List<subjobrequests>
- Subjobrequests consisting of operation, operationid, path, attributes
- Look up CMHandleId from alternateId
- Trying to find out if this already exists otherwise
- implement org.onap.cps.ncmp.api.impl.inventory.getCmHandleIdfromAlternateId(alternateid)
- Trying to find out if this already exists otherwise
- Look up DMI Service Name and DataProducerIdentifier
- Using CMHandleId
- Not currently implemented
- DMI Service Name and DataProducerIdentifier form a tuple
- Send 1 request per ProducerKey to interface DMI-I-02 in DMI Plugin
- Need to implement new DMI Interface
- Need to split requests for the relevant DMIs/ENMs based on alternateid
- Quick Sort paths first?
Possible Tests(happy flows)
Test No. | Testing |
---|---|
Test 1 | 1 DMI, 1 FDN, 1 Action |
Test 2 | 1 DMI, 1FDN, 2 Actions |
Test 3 | 1 DMI, 2 FDN, 1 Action per FDN |
Test 4 | 2 DMI, 1FDN, 1 Action |
Test 5 | 2 DMI, 2 FDN, 1 Action per FDN |