Proposal for enhancements to better integrate the K8S workloads with ONAP - and CDS
View file name K8S Multicloud CDS Integration.pptx height 150
name | K8S Multicloud CDS Integration.pptx |
---|---|
height | 150 |
Observation in Macro flow with Helm chart:
- As shown in below we need to pass the model information (vnf and vf model info) to SDC payload...for Heat templet SDC will generate the model info, but in case of Helm (charts and dummy templet, shown in below file) SDC will generate the limited info... So the point is how we can pass the vf-module info here...
- if we use one vnf and one vf module info also (helm model info)... how SO will pass the information to multi-cloud for vf instantiation, Macro flow didn't integrated with V2 version (HPA and k8s-plugin service). If we resolve this it will instantiate the pods through Macro-flow.
- current macro flow has SO and CDS integration (like Config assign) and with auto heat-bridge, it will get the VM details. so CDS will do the configuration with Ansible/python script which are available in the CBA package. In case of Helm chart we need to fill the gap between SO and Multi-cloud for instantiation. Till service-instance and generic-vnf creation is fine, at the time of vf-creation we need to transfer the flow to multi-cloud, so that it will start the instantiation.
- After instantiation need to configure the pods, so need to fill the gap between Multi-cloud/k8s to CDS.
...
language | actionscript3 |
---|---|
firstline | 1 |
title | CDS_service-instance_payload.json |
collapse | true |
...
Proposal for enhancements to better integrate the K8S workloads with ONAP - and CDS
View file name CDS - K8s profile creation options.pptx height 250
name | CDS - K8s profile creation options.pptx |
---|---|
height | 250 |
Observation in Macro flow with Helm chart:
- As shown in below we need to pass the model information (vnf and vf model info) to SDC payload...for Heat templet SDC will generate the model info, but in case of Helm (charts and dummy templet, shown in below file) SDC will generate the limited info... So the point is how we can pass the vf-module info here...
- if we use one vnf and one vf module info also (helm model info)... how SO will pass the information to multi-cloud for vf instantiation, Macro flow didn't integrated with V2 version (HPA and k8s-plugin service). If we resolve this it will instantiate the pods through Macro-flow.
- current macro flow has SO and CDS integration (like Config assign) and with auto heat-bridge, it will get the VM details. so CDS will do the configuration with Ansible/python script which are available in the CBA package. In case of Helm chart we need to fill the gap between SO and Multi-cloud for instantiation. Till service-instance and generic-vnf creation is fine, at the time of vf-creation we need to transfer the flow to multi-cloud, so that it will start the instantiation.
- After instantiation need to configure the pods, so need to fill the gap between Multi-cloud/k8s to CDS.
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
{ "requestDetails": { "subscriberInfo": { "subscriptionServiceTypeglobalSubscriberId": "vFWDemonstration", }, "userParamsrequestInfo": [{ "suppressRollback": false, { "productFamilyId": "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb", "Homing_Solution "requestorId": "noneadt", }"instanceName": "{{cds-instance-name}}", "source": "VID" { }, "servicecloudConfiguration": { "lcpCloudRegionId": "fr2", "instanceParamstenantId": ["6270eaa820934710960682c506115453", "cloudOwner":"CloudOwner" ]}, "requestParameters": { "instanceNamesubscriptionServiceType": "{{cds-instance-name}}vFW", "userParams": [ "resources": { { "Homing_Solution": "vnfsnone": [ }, { "service": { "modelInfo "instanceParams": [ { ], "modelName": "{{vnf-modelinfo-modelname}}", "modelVersionIdinstanceName": "{{vnfcds-modelinfoinstance-modeluuidname}}", "modelInvariantUuidresources": "{{vnf-modelinfo-modelinvariantuuid}}", "modelVersionvnfs": "1.0",[ "modelCustomizationId": "{{vnf-modelinfo-modelcustomizationuuid}}", "modelInstanceNamemodelInfo": "{{vnf-modelinfo-modelinstancename}}" }"modelName": "{{vnf-modelinfo-modelname}}", "cloudConfigurationmodelVersionId": "{{vnf-modelinfo-modeluuid}}", "lcpCloudRegionIdmodelInvariantUuid": "fr2{{vnf-modelinfo-modelinvariantuuid}}", "tenantIdmodelVersion": "6270eaa820934710960682c5061154531.0", }"modelCustomizationId": "{{vnf-modelinfo-modelcustomizationuuid}}", "platformmodelInstanceName": "{{vnf-modelinfo-modelinstancename}}" }, "platformName": "test" "cloudConfiguration": { }, "lineOfBusinesslcpCloudRegionId": {"fr2", "lineOfBusinessNametenantId": "LOB-Demonstration6270eaa820934710960682c506115453" }, "productFamilyIdplatform": "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb",{ "instanceNameplatformName": "{{vnf-modelinfo-modelinstancename}}",test" }, "instanceParams": [ "lineOfBusiness": { { "lineOfBusinessName": "LOB-Demonstration" "onap_private_net_id": "olc-private", }, "onap_private_subnet_idproductFamilyId": "olc-privatea9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb", "pub_key"instanceName": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCs84Cy8+qi/jvucay0BwFtOq3ian0ulTXFGxkZcZCR0N48j88pbHJaEqb9e25MAsrfH+7Etb9Kd5nbBThEL/i0AyHXnDsc80Oq0sqlLcfLo3SGSurkrNoRofHboJ5Hn+N9SlWN5FCQGbTx1w3rjqR4LasAI6XxH9xpXSFyyge6ysVXH0cYaZ8sg98nFZa1fPJR9L8COjZvF+EYudub2RC5HVyV/sx7bliNFo9JwQh6du1abG4G7ZDjTIcYwYp21iq52UzWU28RVcAyY6AQZJu2lHLdsr8fPvyeWZpC5EqGsxI1G609m9G/dURRKwYfez/f2ATzpn5QjEX7LrLWBM8r Generated-by-Nova", {{vnf-modelinfo-modelinstancename}}", "image_nameinstanceParams": "Ubuntu 16.04",[ { "flavor_name":"n2.cw.standard-1", "sec_group "onap_private_net_id": "olc-openprivate", "installonap_private_scriptsubnet_versionid": "1.4.0-SNAPSHOTolc-private", "demopub_artifacts_versionkey":"1.4.0-SNAPSHOT "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCs84Cy8+qi/jvucay0BwFtOq3ian0ulTXFGxkZcZCR0N48j88pbHJaEqb9e25MAsrfH+7Etb9Kd5nbBThEL/i0AyHXnDsc80Oq0sqlLcfLo3SGSurkrNoRofHboJ5Hn+N9SlWN5FCQGbTx1w3rjqR4LasAI6XxH9xpXSFyyge6ysVXH0cYaZ8sg98nFZa1fPJR9L8COjZvF+EYudub2RC5HVyV/sx7bliNFo9JwQh6du1abG4G7ZDjTIcYwYp21iq52UzWU28RVcAyY6AQZJu2lHLdsr8fPvyeWZpC5EqGsxI1G609m9G/dURRKwYfez/f2ATzpn5QjEX7LrLWBM8r Generated-by-Nova", "cloudimage_envname": "openstackUbuntu 16.04", "publicflavor_net_idname": "olc-publicn2.cw.standard-1", "aic-cloud-regionsec_group": "fr2olc-open", } "install_script_version":"1.4.0-SNAPSHOT", ], "demo_artifacts_version":"1.4.0-SNAPSHOT", "vfModules": [ "cloud_env":"openstack", {"public_net_id": "olc-public", "modelInfoaic-cloud-region": "fr2" { } "modelName": "{{vnf-vfmodule-0-modelinfo-modelname}}", ], "modelVersionId": "{{vnf-vfmodule-0-modelinfo-modeluuid}}", "vfModules": [ "modelInvariantUuid": "{{vnf-vfmodule-0-modelinfo-modelinvariantuuid}}", { "modelVersionmodelInfo": "1",{ "modelCustomizationIdmodelName": "{{vnf-vfmodule-0-modelinfo-modelcustomizationuuidmodelname}}", "modelVersionId": "{{vnf-vfmodule-0-modelinfo-modeluuid}}", "instanceNamemodelInvariantUuid": "{{vnf-vfmodule-0-modelinfo-modelnamemodelinvariantuuid}}", "instanceParamsmodelVersion": ["1", "modelCustomizationId": "{{vnf-vfmodule-0-modelinfo-modelcustomizationuuid}}" { }, "sec_groupinstanceName": "olc-open{{vnf-vfmodule-0-modelinfo-modelname}}", "public_net_id"instanceParams": "olc-net"[ } ] { } "sec_group": "olc-open", { "public_net_id": "olc-net" "modelInfo": { } "modelName": "{{vnf-vfmodule-1-modelinfo-modelname}}", ] }, "modelVersionId": "{{vnf-vfmodule-1-modelinfo-modeluuid}}", "modelInvariantUuid": "{{vnf-vfmodule-1-modelinfo-modelinvariantuuid}}", "modelVersionmodelInfo": "1",{ "modelCustomizationIdmodelName": "{{vnf-vfmodule-1-modelinfo-modelcustomizationuuidmodelname}}", "modelVersionId": "{{vnf-vfmodule-1-modelinfo-modeluuid}}", "instanceNamemodelInvariantUuid": "{{vnf-vfmodule-1-modelinfo-modelnamemodelinvariantuuid}}", "instanceParamsmodelVersion": ["1", "modelCustomizationId": "{{vnf-vfmodule-1-modelinfo-modelcustomizationuuid}}" "sec_group": "olc-open"}, "public_net_id"instanceName": "olc-net"{{vnf-vfmodule-1-modelinfo-modelname}}", }"instanceParams": [ { ] }"sec_group": "olc-open", { "public_net_id": "olc-net" "modelInfo": { } "modelName": "{{vnf-vfmodule-2-modelinfo-modelname}}", ] "modelVersionId": "{{vnf-vfmodule-2-modelinfo-modeluuid}}", }, "modelInvariantUuid": "{{vnf-vfmodule-2-modelinfo-modelinvariantuuid}}", "modelVersionmodelInfo": "1",{ "modelCustomizationIdmodelName": "{{vnf-vfmodule-2-modelinfo-modelcustomizationuuidmodelname}}", "modelVersionId": "{{vnf-vfmodule-2-modelinfo-modeluuid}}", "instanceNamemodelInvariantUuid": "{{vnf-vfmodule-2-modelinfo-modelnamemodelinvariantuuid}}", "instanceParamsmodelVersion": ["1", "modelCustomizationId": "{{vnf-vfmodule-2-modelinfo-modelcustomizationuuid}}" "sec_group": "olc-open"}, "public_net_id"instanceName": "olc-net"{{vnf-vfmodule-2-modelinfo-modelname}}", }"instanceParams": [ { ] }"sec_group": "olc-open", { "public_net_id": "olc-net" "modelInfo": { } "modelName": "{{vnf-vfmodule-3-modelinfo-modelname}}", ] "modelVersionId": "{{vnf-vfmodule-3-modelinfo-modeluuid}}", }, "modelInvariantUuid": "{{vnf-vfmodule-3-modelinfo-modelinvariantuuid}}", "modelVersionmodelInfo": "1",{ "modelCustomizationIdmodelName": "{{vnf-vfmodule-3-modelinfo-modelcustomizationuuidmodelname}}", "modelVersionId": "{{vnf-vfmodule-3-modelinfo-modeluuid}}", "instanceNamemodelInvariantUuid": "{{vnf-vfmodule-3-modelinfo-modelnamemodelinvariantuuid}}", "instanceParamsmodelVersion": ["1", "modelCustomizationId": "{{vnf-vfmodule-3-modelinfo-modelcustomizationuuid}}" "sec_group": "olc-open"}, "public_net_id"instanceName": "olc-net"{{vnf-vfmodule-3-modelinfo-modelname}}", "instanceParams": [ } ] { } "sec_group": "olc-open", ] "public_net_id": "olc-net" } ] } }, "modelInfo": { ] "modelVersion": "1.0", "modelVersionId": "{{service-uuid}}",} "modelInvariantId": "{{service-invariantUUID}}", "modelName": "{{service-name}}",] "modelType": "service" } } ] } } , ], "aLaCartemodelInfo": false{ }, "project": { "projectNamemodelVersion": "Project-Demonstration"1.0", }, "owningEntitymodelVersionId": "{{service-uuid}}", "owningEntityIdmodelInvariantId": "67f2e84c-734d-4e90-a1e4-d2ffa2e75849{{service-invariantUUID}}", "owningEntityNamemodelName": "OE-Demonstration"{{service-name}}", }, "modelInfo": { "modelVersionmodelType": "1.0",service" "modelVersionId": "{{service-uuid}}", "modelInvariantId": "{{service-invariantUUID}}", } } "modelName": "{{service-name}}" ], "modelTypeaLaCarte": "service"false }, } } | ||||||||
Code Block | ||||||||
| ||||||||
{ "project": { "serviceVnfsprojectName": ["Project-Demonstration" }, { "modelInfoowningEntity": { "modelNameowningEntityId": "vfw_k8s_07291967f2e84c-734d-4e90-a1e4-d2ffa2e75849", "modelUuidowningEntityName": "8fae3ef7-7741-4d65-a630-9f83631f470d",OE-Demonstration" }, "modelInvariantUuidmodelInfo": "f14e9096-b6d6-4a48-861f-6f6355a05439", { "modelVersion": "1.0", "modelCustomizationUuidmodelVersionId": "d7582303-0a01-4863-ae09-15c82000b927{{service-uuid}}", "modelInstanceNamemodelInvariantId": "vfw_k8s_072919 0"{{service-invariantUUID}}", }, "toscaNodeTypemodelName": "org.openecomp.resource.vf.VfwK8s072919{{service-name}}", "nfFunctionmodelType": null, "nfType": null,"service" } "nfRole": null,} } |
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
{ "serviceVnfs": [ { "nfNamingCodemodelInfo": null,{ "multiStageDesignmodelName": "falsevfw_k8s_072919", "resourceInput": null, "vfModules": [{ "modelInfo": { "modelName": "VfwK8s072919..Base_dummy..module-0", "modelUuid": "5f9162d1-e710-4454-bf84-26044026bd38", "modelInvariantUuid": "49f84e8f-20fc-4a0c-97a9-96339d0aab94", "modelVersion": "1", "modelCustomizationUuid": "b7b8a3b7-15a0-49d4-adfc-370941cab973" }, "isBase": true, "vfModuleLabel": "Base_dummy", "initialCount": 1, "hasVolumeGroup": false }] } ] } |
...
GR-API Issue with Helm chart:
- when I am trying to create vf-module (Helm-chart, GR-API and version—v2) through VID, it failed due to vf module name missing in the SDNC-Directives.
- we adding the User_ Directives data also inside SDNC_ Directives, is there any purpose in it?
JIRA: Jira Legacy server System Jira serverId 4733707d-2057-3a0f-ae5e-4fd8aff50176 key SO-2293
Description:
...
modelUuid": "8fae3ef7-7741-4d65-a630-9f83631f470d",
"modelInvariantUuid": "f14e9096-b6d6-4a48-861f-6f6355a05439",
"modelVersion": "1.0",
"modelCustomizationUuid": "d7582303-0a01-4863-ae09-15c82000b927",
"modelInstanceName": "vfw_k8s_072919 0"
},
"toscaNodeType": "org.openecomp.resource.vf.VfwK8s072919",
"nfFunction": null,
"nfType": null,
"nfRole": null,
"nfNamingCode": null,
"multiStageDesign": "false",
"resourceInput": null,
"vfModules": [{
"modelInfo": {
"modelName": "VfwK8s072919..Base_dummy..module-0",
"modelUuid": "5f9162d1-e710-4454-bf84-26044026bd38",
"modelInvariantUuid": "49f84e8f-20fc-4a0c-97a9-96339d0aab94",
"modelVersion": "1",
"modelCustomizationUuid": "b7b8a3b7-15a0-49d4-adfc-370941cab973"
},
"isBase": true,
"vfModuleLabel": "Base_dummy",
"initialCount": 1,
"hasVolumeGroup": false
}]
}
]
}
|
2. IN CDS we are using Net box for IP inventory (every time auto increment in IP value for instantiation), Here we are creating the pods, so how we can handle the IP concept here.
3. In case of Macro flow we need to the supplement json information as User_directives at the time of vf-module creation automatically (now we are passing manually through VID).
In above payload we can add the user_directive data,
"userParams": [ { "Homing_Solution": "none" },
GR-API Issue with Helm chart:
- when I am trying to create vf-module (Helm-chart, GR-API and version—v2) through VID, it failed due to vf module name missing in the SDNC-Directives.
- we adding the User_ Directives data also inside SDNC_ Directives, is there any purpose in it?
JIRA: Jira Legacy server System Jira serverId 4733707d-2057-3a0f-ae5e-4fd8aff50176 key SO-2293
Description:
vf_module_name is missing from sdnc-directives, so Multi-cloud throwing error at the time of vf-module creation through VID. If we add the vf_module_name in the SDNC_Dircetives it will resolve the issue.
Macro flow with Heat (v1):
created the stack successfully... with v1 version of vnf and multicloud as orchestrator...
Attached success logs of BPMN and Openstack...
View file name BPMN-v1-success.log height 250 View file name OPENSTACK-v1-success.log height 250
Macro flow with Heat (v2):
Failed to create the stack... Due to v2 version of vnf and multicloud as orchestrator...
just for reference added the logs of BPMN and Openstack with v2 version and orchestrator as Multicloud...
View file | ||||
---|---|---|---|---|
|
View file | ||||
---|---|---|---|---|
|
Macro flow with Helm (v2 version):
Need to modify the CBA package according to the Helm charts.