Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 19 Current »

Proposal for enhancements to better integrate the K8S workloads with ONAP - and CDS

Observation in Macro flow with Helm chart:

  1. 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...
    1. 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.
    2. 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.
    3. After instantiation need to configure the pods, so need to fill the gap between Multi-cloud/k8s to CDS.


CDS_service-instance_payload.json
{
  "requestDetails": {
    "subscriberInfo": {
      "globalSubscriberId": "Demonstration"
    },
    "requestInfo": {
      "suppressRollback": false,
      "productFamilyId": "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb",
      "requestorId": "adt",
      "instanceName": "{{cds-instance-name}}",
      "source": "VID"
    },
    "cloudConfiguration": {
      "lcpCloudRegionId": "fr2",
      "tenantId": "6270eaa820934710960682c506115453",
      "cloudOwner":"CloudOwner"
    },
    "requestParameters": {
      "subscriptionServiceType": "vFW",
      "userParams": [
        {
          "Homing_Solution": "none"
        },
        {
          "service": {
            "instanceParams": [
            ],
            "instanceName": "{{cds-instance-name}}",
            "resources": {
              "vnfs": [
                {
                  "modelInfo": {
                "modelName": "{{vnf-modelinfo-modelname}}",
                "modelVersionId": "{{vnf-modelinfo-modeluuid}}",
                "modelInvariantUuid": "{{vnf-modelinfo-modelinvariantuuid}}",
                "modelVersion": "1.0",
                "modelCustomizationId": "{{vnf-modelinfo-modelcustomizationuuid}}",
                "modelInstanceName": "{{vnf-modelinfo-modelinstancename}}"
                  },
                  "cloudConfiguration": {
                    "lcpCloudRegionId": "fr2",
                    "tenantId": "6270eaa820934710960682c506115453"
                  },
                  "platform": {
                    "platformName": "test"
                  },
                  "lineOfBusiness": {
                    "lineOfBusinessName": "LOB-Demonstration"
                  },
                  "productFamilyId": "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb",
                  "instanceName": "{{vnf-modelinfo-modelinstancename}}",
                  "instanceParams": [
                    {      
                      "onap_private_net_id": "olc-private",
                      "onap_private_subnet_id": "olc-private",
                      "pub_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCs84Cy8+qi/jvucay0BwFtOq3ian0ulTXFGxkZcZCR0N48j88pbHJaEqb9e25MAsrfH+7Etb9Kd5nbBThEL/i0AyHXnDsc80Oq0sqlLcfLo3SGSurkrNoRofHboJ5Hn+N9SlWN5FCQGbTx1w3rjqR4LasAI6XxH9xpXSFyyge6ysVXH0cYaZ8sg98nFZa1fPJR9L8COjZvF+EYudub2RC5HVyV/sx7bliNFo9JwQh6du1abG4G7ZDjTIcYwYp21iq52UzWU28RVcAyY6AQZJu2lHLdsr8fPvyeWZpC5EqGsxI1G609m9G/dURRKwYfez/f2ATzpn5QjEX7LrLWBM8r Generated-by-Nova",
                      "image_name": "Ubuntu 16.04",
                      "flavor_name":"n2.cw.standard-1",
                      "sec_group":"olc-open",
                      "install_script_version":"1.4.0-SNAPSHOT",
                      "demo_artifacts_version":"1.4.0-SNAPSHOT",
                      "cloud_env":"openstack",
                      "public_net_id": "olc-public",
                      "aic-cloud-region": "fr2"
                    }
                  ],
                  "vfModules": [
                    {
                      "modelInfo": {
                        "modelName": "{{vnf-vfmodule-0-modelinfo-modelname}}",
                        "modelVersionId": "{{vnf-vfmodule-0-modelinfo-modeluuid}}",
                        "modelInvariantUuid": "{{vnf-vfmodule-0-modelinfo-modelinvariantuuid}}",
                        "modelVersion": "1",
                        "modelCustomizationId": "{{vnf-vfmodule-0-modelinfo-modelcustomizationuuid}}"
                       },
                      "instanceName": "{{vnf-vfmodule-0-modelinfo-modelname}}",
                      "instanceParams": [
                                                 {
                          "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}}",
                        "modelVersion": "1",
                        "modelCustomizationId": "{{vnf-vfmodule-1-modelinfo-modelcustomizationuuid}}"
                       },
                      "instanceName": "{{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}}",
                        "modelVersion": "1",
                        "modelCustomizationId": "{{vnf-vfmodule-2-modelinfo-modelcustomizationuuid}}"
                       },
                      "instanceName": "{{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}}",
                        "modelVersion": "1",
                        "modelCustomizationId": "{{vnf-vfmodule-3-modelinfo-modelcustomizationuuid}}"
                      },
                      "instanceName": "{{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"
            }
          }
        }
      ],
      "aLaCarte": false
    },
    "project": {
      "projectName": "Project-Demonstration"
    },
    "owningEntity": {
      "owningEntityId": "67f2e84c-734d-4e90-a1e4-d2ffa2e75849",
      "owningEntityName": "OE-Demonstration"
    },
    "modelInfo": {
      "modelVersion": "1.0",
        "modelVersionId": "{{service-uuid}}",
        "modelInvariantId": "{{service-invariantUUID}}",
        "modelName": "{{service-name}}",
     "modelType": "service"
    }
  }
}


Model_info_from_sdc.json
{  
   "serviceVnfs": [

    {
      "modelInfo": {
        "modelName": "vfw_k8s_072919",
        "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:

  1.  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.
  2. we adding the User_ Directives data also inside SDNC_ Directives, is there any purpose in it?


JIRA:  SO-2293 - Getting issue details... STATUS


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...


     


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...



Macro flow with Helm (v2 version):


Need to modify the CBA package according to the Helm charts.


  • No labels