VID - SO - CDS integration (macro)

This page covers an integration issue visible in the ONAP/El Alto release.
A service model is used - and this service model defines four parameters, as service model inputs (based on resource parameters):

The issue is, that VID generates a different SO API call; than what the SO API (using CDS) expects.
Below table lists the requests: left side → VID-generated SO API call (GR API); right side → SO expected SO/CDS API call.

VID-Generated SO API call (GR API) - Wrong.

SO expected SO/CDS API call - Correct (almost)

VID-Generated SO API call (GR API) - Wrong.

SO expected SO/CDS API call - Correct (almost)



"requestDetails": { "modelInfo": { "modelInvariantId": "c9adad0f-8dfe-4a9f-9ad6-6d306c6bd237", "modelType": "service", "modelName": "lukService2", "modelVersion": "2.0", "modelVersionId": "4033a6e5-bbec-4d40-88c2-5f0c0e656109", "modelUuid":"4033a6e5-bbec-4d40-88c2-5f0c0e656109", "modelInvariantUuid": "c9adad0f-8dfe-4a9f-9ad6-6d306c6bd237" }, "requestInfo": { "productFamilyId": "9a038b3c-aa49-484b-9a5b-dd28a41223ee", "source": "VID", "suppressRollback": false, "requestorId": "demo" }, "subscriberInfo": { "globalSubscriberId": "Demonstration" }, "cloudConfiguration": { "tenantId": "b05f5c5a932f4f93acd034873df4fbc6", "cloudOwner": "CloudOwner", "lcpCloudRegionId": "RegionOne" }, "requestParameters": { "subscriptionServiceType": "vCPE", "userParams": [ { "name": "aic_zone", "value": "nova1" }, { "name": "scaleout10_key_name", "value": "onap-key_2" }, { "name": "scaleout10_skip_post_instantiation_configuration", "value": "false" }, { "name": "scaleout10_nf_function", "value": "LOADBALANCER_LUK" } ], "aLaCarte": false, "usePreload": false }, "project": { "projectName": "Project-Demonstration" }, "owningEntity": { "owningEntityId": "fff91cde-a596-4780-9b96-41e906307e53", "owningEntityName": "OE-Demonstration" } }





"requestDetails": { "modelInfo": { "modelInvariantId": "c9adad0f-8dfe-4a9f-9ad6-6d306c6bd237", "modelType": "service", "modelName": "lukService2", "modelVersion": "1.0", "modelVersionId": "5af91c26-8418-4d3f-944c-965842deda94", "modelUuid": "5af91c26-8418-4d3f-944c-965842deda94", "modelInvariantUuid": "c9adad0f-8dfe-4a9f-9ad6-6d306c6bd237" }, "requestInfo": { "productFamilyId": "9a038b3c-aa49-484b-9a5b-dd28a41223ee", "source": "VID", "suppressRollback": false, "requestorId": "demo" }, "subscriberInfo": { "globalSubscriberId": "Demonstration" }, "cloudConfiguration": { "tenantId": "b05f5c5a932f4f93acd034873df4fbc6", "cloudOwner": "CloudOwner", "lcpCloudRegionId": "RegionOne" }, "requestParameters": { "subscriptionServiceType": "vCPE", "userParams": [ { "service": { "modelInfo": { "modelType": "service", "modelName": "lukService2", "modelVersionId": "5af91c26-8418-4d3f-944c-965842deda94", "modelUuid": "5af91c26-8418-4d3f-944c-965842deda94" }, "resources": { "vnfs": [ { "productFamilyId": "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb", "instanceName": "lukVnf", "modelInfo": { "modelType": "vnf", "modelName": "scaleout-1", "modelVersionId": "7f40c192-f63c-463e-ba94-286933b895f8", "modelCustomizationName": "scaleout-1 0", "modelCustomizationId": "0c1ac643-377e-475b-be50-6be65f91a7ad" }, "cloudConfiguration": { "tenantId": "b05f5c5a932f4f93acd034873df4fbc6", "cloudOwner": "CloudOwner", "lcpCloudRegionId": "RegionOne" }, "instanceParams": [ { "sdnc_artifact_name": "nokia_controller_blueprint", "sdnc_model_version": "1.0.0", "sdnc_model_name": "test" } ], "platform": { "platformName": "platformName" }, "vfModules": [ { "modelInfo": { "modelCustomizationName": "myCusModName", "modelType": "vfModule", "modelName": "myModName", "modelVersionId": "4c75f813-fa92-45a5-89d1-790ff3f1ae79", "modelCustomizationId": "a25e8e8d-54b8-4esc-810c-97dcf1f5cb7f" } } ] } ] } } }, { "name": "aic_zone", "value": "nova1" }, { "Homing_Solution": "none" } ], "aLaCarte": false, "usePreload": false }, "project": { "projectName": "Project-Demonstration" }, "owningEntity": { "owningEntityId": "fff91cde-a596-4780-9b96-41e906307e53", "owningEntityName": "OE-Demonstration" } } }'



Questions:

  • What needs to be done on VID to make sure, we fill-up the userParams section, with a decomposed service model structure?

  • What shall be the model of providing service model parameters (TOSCA template input parameters) - within the SO API call from VID?
    Shall they be placed under the instanceParams of each affected VNF? This would mean, VID needs to do the mapping of service input params to VNF instanceParams?

  • How shall such params be transfered to instanceParams? As an additional JSON structure in an array? Along the CDS params in instanceParams?