R6 Use Case Objectives
5G NRM CM with RESTful/HTTPS protocol.
1. Add a new restful-executor in CDS blueprints processor
- Should be generic enough to support to configure any type and any number of NRM objects by restful createMOI operation in 3GPP
2. Provide CRUD operations on NRM objects via CDS
- Self-service API should support config-get, config-modify and config-delete actions
3. Add new NRM related data types, corresponding PNF packages and BPMN enhancements as well
- Use several NR NRM IOCs for demonstrations in PNF on-boarding package (Descope of UC)
- BPMN support for NRM configuration (Stretch goal, Defered to R7)
4. Support SO service/instance management API for NRM configuration
- Modify or Add additional SO NB APIs (Implemented)
- Define corresponding NRM IOCs in SO and BBs (Stretch goal, Defered to R7)
BUSINESS DRIVERS
This section describes Business Drivers for this Use Case.
This section describes Business Drivers needs.
Executive Summary - Network Resource Management (NRM) configuration management allows the service providers to control and monitor the actual configuration on the Network Resources. They may be used within the first PNF or VNF instantiation or routine operations after PNF or VNF is running.
Business Impact - Network resources are the fundamental resources to the mobility networks. Only the network resource are ready then the service like eMBB service can be instantiated. Better service quality can be achieved by suitable NRM configuration management.
Business Markets - Considering the Network Resources are basic for mobility network, New 5G deployments as well as legacy 4G systems should be considered as target markets. Both radio and core and other sub-network domains could also benefits from it.
Funding/Financial Impacts - Orchestrating and Controlling the network resources could reduce the OPEX.
Organization Mgmt, Sales Strategies - (It is suggested that you use the following wording): There is no additional organizational management or sales strategies for this use case outside of a service providers "normal" ONAP deployment and its attendant organizational resources from a service provider. (This would typically describe the "WHO", but because use cases are all deployed with ONAP itself, these two areas come with the actual ONAP deployment and uses the organizational management and sales strategies of a particular service provider's ONAP deployment)
Current Status of 5G NRM Configuration
This is a new UC will start in R6.
Presentation in LFN DDF is here.
High-level Design:
Development Status
DEVELOPMENT IMPACTS SUMMARY
PROJECT | PTL | User Story / Epic | Requirement |
A&AI | | (Future Functionality) | R7 To store NRM Objects with in PNF in ONAP as need. Out of Scope in R6. |
AAF | |
|
|
APPC | |
|
|
CLAMP | |
|
|
CC-SDK | |
|
|
DCAE | |
|
|
DMaaP | |
|
|
External API | |
|
|
MODELING | | Epic #1: 5G NRM Configuration with restful protocol Data types and node types for 3GPP NR NRM | Add NRM information in PNF package for onboarding |
Multi-VIM / Cloud | |
|
|
OOF | |
|
|
POLICY | |
|
|
PORTAL | |
|
|
SDN-C | |
|
|
SDC | |
|
|
SO | | Epic #1: 5G NRM Configuration with restful protocol Support NRM CM during PNF instantiation and separate workflows | 1. New BBs coding for PnP instantiation 2. Enhance related workflowSpecifications API 3. Add new NB API for instance management for pnf 4.add workflow for modify/delete/query NRM config |
VID | | (Future Functionality) | No impact R6 Planned future (R7+): Optional: Trigger NRM CM procedure via UI |
VNFRQTS | |
|
|
VNF-SDK | |
|
|
CDS | | Epic #1: 5G NRM Configuration with restful protocol Provide a http-based restful component (including executor anf function) | - Restful component for NRM CM, executor and function
- controller blueprint and cba file
- get, modify, create, delete action support for NRM mgmt
|
List of PTLs:Approved Projects
Impacts
SO Impacts:
- 1. Enhance related workflowSpecifications API:
GET /onap/so/infra/workflowSpecifications/{version:[vV][1]/workflows?pnfModelVersionId={UUID}
- 2. New NB API to trigger the custom workflow:
POST /onap/so/infra/instanceManagement/{version:[vV][1]}/serviceInstances/{serviceInstanceId}/pnfs/{pnfInstanceId}/workflows/{workflowUuid}
- 3. Enhance configuration related BB to support NRM Configuration (*NOT* additional API):
ConfigAssignBB
ConfigDeployBB
- 4. New native specific workflows(*NOT* additional API)::
modifyPnfNrmconf.bpmn --call config-modify via SS API
deletePnfNrmconf.bpmn --call config-delete via SS API
queryPnfNrmconf.bpmn --call config-get via SS API
CCSDK/CDS Impacts:
- 1. Add a restful executor in CDS blueprint processor
including the executor and the component function
Integration Impacts:
- Support generic provisioning management service simulator for integration test
EPIC / REQ
The 5G NRM configuration for R6 Frankfurt:
REQ-49
-
Getting issue details...
STATUS
INT-1245
-
Getting issue details...
STATUS
INT-1387
-
Getting issue details...
STATUS
CCSDK-1909
-
Getting issue details...
STATUS
CCSDK-1965
-
Getting issue details...
STATUS
INT-1514
-
Getting issue details...
STATUS
Test Status
No | Test cases | Test Status |
---|
1 | 5G NRM CM config-deploy Test | COMPLETE |
2 | 5G NRM CM config-get Test | COMPLETE |
3 | 5G NRM CM config-modify Test | COMPLETE |
4 | 5G NRM CM config-delete Test | COMPLETE |
Detailed Description of Integration Testcases and Results
Test case ID | 1 |
---|
Test case name | 5G NRM CM config-deploy Test |
Test case description | Trigger the config-deploy workflow to create multiple MOIs (Management Object Instance) |
Release | Frankfurt |
Pre-conditions | - run the Provision MnS provider
- upload the corresponding blueprint
|
Testing Steps | NRM_create.json |
---|
{ "commonHeader": { "originatorId": "CurlTest", "requestId": "1234-5678", "subRequestId": "5678-9012" }, "actionIdentifiers": { "blueprintName": "NRMblueprint", "blueprintVersion": "1.0.0", "actionName": "config-deploy", "mode": "sync" }, "payload": { "config-deploy-request": { "config-deploy-properties":{ "service-instance-id":"PNF_service_1", "pnf-id":"PNF1", "pnf-name":"PNF1", "service-model-uuid":"90e00209-779b-4732-b0f1-7d7dfa88745c", "pnf-customization-uuid":"e65d3f05-9558-4e58-aeb0-3a1eae1db742", "managed-object-instances":[{ "className":"GNBCUCPFunction", "data":{ "gNBId":"1", "gNBIdLength":"5", "gNBCUName":"gnb-01", "pLMNId":{ "mcc":"001", "mnc":"01" } } }, { "className":"GNBCUUPFunction", "data":{ "gNBId":"1", "gNBIdLength":"5", "pLMNId":{ "mcc":"001", "mnc":"01" } } }, { "className":"GNBDUFunction", "data":{ "gNBDUId":"1", "gNBDUName":"gnb-01", "gNBId":"1", "gNBIdLength":"5", "pLMNId":{ "mcc":"001", "mnc":"01" } } } ] } } } } |
Response of CDS |
---|
{ "actionIdentifiers": { "actionName": "config-deploy", "blueprintName": "NRMblueprint", "blueprintVersion": "1.0.0", "mode": "sync" }, "commonHeader": { "flags": null, "originatorId": "CurlTest", "requestId": "1234-5678", "subRequestId": "5678-9012", "timestamp": "2020-03-13T06:11:33.218Z" }, "payload": { "config-deploy-response": { "result": { "/GNBCUCPFunction/f64bc1a8-28c1-4da2-81e8-b5963b4b4e70": { "body": { "data": { "attributes": { "gNBCUName": "gnb-01", "gNBId": "1", "gNBIdLength": "5", "pLMNId": { "mcc": "001", "mnc": "01" } }, "class": "GNBCUCPFunction", "href": "/GNBCUCPFunction/f64bc1a8-28c1-4da2-81e8-b5963b4b4e70", "id": "f64bc1a8-28c1-4da2-81e8-b5963b4b4e70" } }, "status": 201 }, "/GNBCUUPFunction/2a78c55a-2762-4d15-9204-037ca6fecf87": { "body": { "data": { "attributes": { "gNBId": "1", "gNBIdLength": "5", "pLMNId": { "mcc": "001", "mnc": "01" } }, "class": "GNBCUUPFunction", "href": "/GNBCUUPFunction/2a78c55a-2762-4d15-9204-037ca6fecf87", "id": "2a78c55a-2762-4d15-9204-037ca6fecf87" } }, "status": 201 }, "/GNBDUFunction/261690cc-f221-45e0-86e6-2b980cb8e808": { "body": { "data": { "attributes": { "gNBDUId": "1", "gNBDUName": "gnb-01", "gNBId": "1", "gNBIdLength": "5", "pLMNId": { "mcc": "001", "mnc": "01" } }, "class": "GNBDUFunction", "href": "/GNBDUFunction/261690cc-f221-45e0-86e6-2b980cb8e808", "id": "261690cc-f221-45e0-86e6-2b980cb8e808" } }, "status": 201 } } } }, "status": { "code": 200, "errorMessage": null, "eventType": "EVENT_COMPONENT_EXECUTRD", "message": "success", "timestamp": "2020-03-13T06:11:33.331Z" }, "stepData": { “name”: “config-deploy-process”, “properties”: { “response-data”: “”, “status”: “success” } } } |
|
Conclusion (Pass /Fail) | PASS |
Test lab |
|
Test case ID | 2 |
---|
Test case name | 5G NRM CM config-get Test |
Test case description | Trigger the config-get workflow to get multiple MOIs attributes (Management Object Instance) |
Release | Frankfurt |
Pre-conditions | - run the Provision MnS provider
- upload the corresponding blueprint
- already create some MOIs
|
Testing Steps | NRM_get.json |
---|
{ "commonHeader": { "originatorId": "CurlTest", "requestId": "1234-5678", "subRequestId": "5678-9012" }, "actionIdentifiers": { "blueprintName": "NRMblueprint", "blueprintVersion": "1.0.0", "actionName": "config-get", "mode": "sync" }, "payload": { "config-get-request": { "config-get-properties":{ "service-instance-id":"PNF_service_1", "pnf-id":"PNF1", "pnf-name":"PNF1", "service-model-uuid":"90e00209-779b-4732-b0f1-7d7dfa88745c", "pnf-customization-uuid":"e65d3f05-9558-4e58-aeb0-3a1eae1db742", "managed-object-instances":[{ "className":"GNBCUCPFunction", "id":"e65d3f05-9558-4e58-aeb0-3a1eae1db742", "scope":"BASE_ONLY", "filter":"GNBCUCPFunction", "fields":["gNBId","gNBIdLength"] } ] } } } } |
Response of CDS |
---|
{ "actionIdentifiers": { "actionName": "config-get", "blueprintName": "NRMblueprint", "blueprintVersion": "1.0.0", "mode": "sync" }, "commonHeader": { "flags": null, "originatorId": "CurlTest", "requestId": "1234-5678", "subRequestId": "5678-9012", "timestamp": "2020-03-13T06:13:43.166Z" }, "payload": { "config-get-response": { "result": { "response": { "/GNBCUCPFunction/e65d3f05-9558-4e58-aeb0-3a1eae1db742": { "body": { "data": [ { "attributes": { "gNBId": "1", "gNBIdLength": "5" }, "class": "GNBCUCPFunction", "href": "/GNBCUCPFunction/e65d3f05-9558-4e58-aeb0-3a1eae1db742", "id": "e65d3f05-9558-4e58-aeb0-3a1eae1db742" } ] }, "status": 200 } } } } }, "status": { "code": 200, "errorMessage": null, "eventType": "EVENT_COMPONENT_EXECUTRD", "message": "success", "timestamp": "2020-03-13T06:11:33.331Z" }, "stepData": { “name”: “config-get-process”, “properties”: { “response-data”: “”, “status”: “success” } } } |
|
Conclusion (Pass /Fail) | PASS |
Test lab |
|
Test case ID | 3 |
---|
Test case name | 5G NRM CM config-modify Test |
Test case description | Trigger the config-modify workflow to modify multiple MOIs attributes (Management Object Instance) |
Release | Frankfurt |
Pre-conditions | - run the Provision MnS provider
- upload the corresponding blueprint
- already create some MOIs
|
Testing Steps | NRM_modify.json |
---|
{ "commonHeader": { "originatorId": "CurlTest", "requestId": "1234-5678", "subRequestId": "5678-9012" }, "actionIdentifiers": { "blueprintName": "NRMblueprint", "blueprintVersion": "1.0.0", "actionName": "config-modify", "mode": "sync" }, "payload": { "config-modify-request": { "config-modify-properties":{ "service-instance-id":"PNF_service_1", "pnf-id":"PNF1", "pnf-name":"PNF1", "service-model-uuid":"90e00209-779b-4732-b0f1-7d7dfa88745c", "pnf-customization-uuid":"e65d3f05-9558-4e58-aeb0-3a1eae1db742", "managed-object-instances":[{ "className":"GNBCUCPFunction", "id":"e65d3f05-9558-4e58-aeb0-3a1eae1db742", "scope":"BASE_ONLY", "filter":"GNBCUCPFunction", "data": { "gNBId":"12345", "gNBIdLength":"5" } } ] } } } } |
Response of CDS |
---|
{ "actionIdentifiers": { "actionName": "config-modify", "blueprintName": "NRMblueprint", "blueprintVersion": "1.0.0", "mode": "sync" }, "commonHeader": { "flags": null, "originatorId": "CurlTest", "requestId": "1234-5678", "subRequestId": "5678-9012", "timestamp": "2020-03-13T06:14:45.274Z" }, "payload": { "config-modify-response": { "result": { "response": { "/GNBCUCPFunction/e65d3f05-9558-4e58-aeb0-3a1eae1db742": { "body": { "data": [ { "attributes": { "gNBCUName": "gnb-01", "gNBId": "12345", "gNBIdLength": "5", "pLMNId": { "mcc": "001", "mnc": "01" } }, "class": "GNBCUCPFunction", "href": "/GNBCUCPFunction/e65d3f05-9558-4e58-aeb0-3a1eae1db742", "id": "e65d3f05-9558-4e58-aeb0-3a1eae1db742" } ] }, "status": 200 } } } } }, "status": { "code": 200, "errorMessage": null, "eventType": "EVENT_COMPONENT_EXECUTRD", "message": "success", "timestamp": "2020-03-13T06:11:33.331Z" }, "stepData": { “name”: “config-modify-process”, “properties”: { “response-data”: “”, “status”: “success” } } } |
|
Conclusion (Pass /Fail) | PASS |
Test lab |
|
Test case ID | 4 |
---|
Test case name | 5G NRM CM config-delete Test |
Test case description | Trigger the config-delete workflow to get multiple MOIs attributes (Management Object Instance) |
Release | Frankfurt |
Pre-conditions | - run the Provision MnS provider
- upload the corresponding blueprint
- already create some MOIs
|
Testing Steps | NRM_delete.json |
---|
{ "commonHeader": { "originatorId": "CurlTest", "requestId": "1234-5678", "subRequestId": "5678-9012" }, "actionIdentifiers": { "blueprintName": "NRMblueprint", "blueprintVersion": "1.0.0", "actionName": "config-delete", "mode": "sync" }, "payload": { "config-delete-request": { "config-delete-properties":{ "service-instance-id":"PNF_service_1", "pnf-id":"PNF1", "pnf-name":"PNF1", "service-model-uuid":"90e00209-779b-4732-b0f1-7d7dfa88745c", "pnf-customization-uuid":"e65d3f05-9558-4e58-aeb0-3a1eae1db742", "managed-object-instances":[{ "className":"GNBCUCPFunction", "id":"e65d3f05-9558-4e58-aeb0-3a1eae1db742", "scope":"BASE_ONLY", "filter":"GNBCUCPFunction" } ] } } } } |
Response of CDS |
---|
{ "actionIdentifiers": { "actionName": "config-delete", "blueprintName": "NRMblueprint", "blueprintVersion": "1.0.0", "mode": "sync" }, "commonHeader": { "flags": null, "originatorId": "CurlTest", "requestId": "1234-5678", "subRequestId": "5678-9012", "timestamp": "2020-03-13T06:15:55.413Z" }, "payload": { "config-delete-response": { "result": { "response": { "/GNBCUCPFunction/e65d3f05-9558-4e58-aeb0-3a1eae1db742": { "body": { "data": [ "/GNBCUCPFunction/e65d3f05-9558-4e58-aeb0-3a1eae1db742" ] }, "status": 200 } } } } }, "status": { "code": 200, "errorMessage": null, "eventType": "EVENT_COMPONENT_EXECUTRD", "message": "success", "timestamp": "2020-03-13T06:11:33.331Z" }, "stepData": { “name”: “config-delete-process”, “properties”: { “response-data”: “”, “status”: “success” } } } |
|
Conclusion (Pass /Fail) | PASS |
Test lab |
|
Reference
Discussion Materials
This section is to review slides for discussion.
Slides at LFN Developer & Testing Forum, Prague, Jan 13 - 16, 2020:
Meeting Schedule for Impacted Project Discussion
The meeting schedule is to present this use case slides to the impacted projects.