Integration with CDS
This page describes the plan to integration use of Multicloud/K8S with the CDS. This work is a major part of the plan to integrate CNFs with CDS workflows with the possibility of further LCM action to be performed on the. The reference implementation will be showcased on the vFW use case
INT-1184: vFW K8s created by CDS with ability to execute LCM actions on itClosed
Integration plan for CDS - parameter resolution
CDS provides a framework for resolving instance parameters.
Current state of deploying K8S workloads
Helm charts are onboarded to SDC as an artifact attached to a 'dummy' Heat template.
See: Deploying vFw and EdgeXFoundry Services on Kubernets Cluster with ONAP for details.
The parameters used by the workload are not exposed to SDC, SO, etc. via the above process. This is required in order to utilize CDS.
Add required parameters to the Heat template
Add the parameters that will be required by the K8S workload to the Heat template.
Create the CBA to resolve the parameters
Design the Controller Blueprint Archive to resolve the required parameters. Associate with the Service/VNF as per usage of CDS.
Deployment of workload
During deployment of the VNF, CDS will resolve parameters and results will be placed into SDNC.
SO will retrieve the parameters from SDNC (as it does) and these will be included in the 'sdnc_directives' parameter which is passed to Multicloud via infra_workload API.
Note: Other parameters passed are 'oof_directives' (information provided by OOF which can specify HPA specific details - such as 'flavors') and 'user_directives' (which are the User Parameters provided by the caller).
Multicloud K8S Plugin Operation
The multicloud-k8s plugin instantiates K8S workloads by invoking a specific profile and a workload definition. The definition is created in the plugin when the Service is distributed by SDC. Currently, the profile is created manually by the user. A key component of the profile is an overrides file for values.
A method for this profile to be created automatically and populated with information provided by the sdnc_directives from the SO call (e.g. from the operation of CDS) needs to be created.
Previous Notes:
MultiCloud and CDS Integration:
Leverage the SO, SDNC, and CDS Building
o Multicloud to support the onboarding of the values.yaml via SDC
o Override values.yaml file will be a template
• CDS shall resolved resource in name value pair and SDNC shall persist in MD_SAL
• SO shall retrieve the SDNC context and pass it to MultiCloud
• SO/MultiCloud shall mesh the override .yaml template with sdnc context and trigger HELM.
• Extended the CDS Integration to LCM Action and Helm Creation/Deletion. [Frankfurt] – Design Discussion is still needed. [Eric, Lukasz, etc..]
• Action Item:
o Eric/Lukasz to help with the integration strategy for Frankfurt release.