Recap of Dublin SO Multicloud Plugin --> Multicloud Interactions

This page summarizes the end to end interactions used between SO and Multicloud (and other components) to instantiate K8S and HPA Policy driven use cases.

Service distribution --> SO

Cloud artifact is included with a minimal Heat zip package:

Naming convention: <arbitrary>_cloudtech_k8s_charts.tgz

Type: CLOUD_TECHNOLOGY_SPECIFIC_ARTIFACTS

SO receives notification on Service distribution of the artifacts:

<arbitrary>_cloudtech_k8s_charts.tgz

<arbitrary>_cloudtech_k8s_charts.env (apparently generated by SDC)

SO distribution notes an error for the above two items - but not blocking error

SO-2027: Distribution error for type SO for CLOUD_TECHNOLOGY_SPECIFIC_ARTIFACTSClosed

Configuration of SO to use the VNF Plugin Adapter (instead of Openstack VNF Adapter)

Edit the configmap of the BPMN pod to use the v2 vnf api endpoint:

kubectl -n onap edit configmap dev-so-so-bpmn-infra-app-configmap

- vnf:

          endpoint: http://so-openstack-adapter.onap:8087/services/VnfAdapter

          rest:

            endpoint: http://so-openstack-adapter.onap:8087/services/rest/v1/vnf

+ vnf:

          endpoint: http://so-openstack-adapter.onap:8087/services/VnfAdapter

          rest:

            endpoint: http://so-openstack-adapter.onap:8087/services/rest/v2/vnfs 



Delete the pod and let it respawn with new config

Alternatively, modify the bpmn value overrides file before deploying SO.

SO-1448: Support v1 and v2 vnf adapter apiClosed  (fix this issue to allow coexistance of Openstack adapter and plugin adapter - could be as simple as using v2 API all the time?)



Configuration / Registration of Clouds in AAI and Multicloud

Register the kube config file with the CloudOwner and CloudRegion directly to the Multicloud K8S plugin - see [1]

  1.  

    1. Register cloud with ESR, Add complex and register with Multicloud

    2. For K8S clouds, an extra step is required:

    3. For HPA cases using OOF homing, the BPMN flow handles ensuring that the CloudRegion is present in the catalogdb 'cloud_sites' table.

    4. For non-OOF homing cases, the CloudRegion must be inserted into 'cloud_sites'.  Key columns used by the SO Multicloud VNF Plugin adapter are the 'cloud_region' (sic?) and the 'orchestrator' column - which must be set to 'multicloud'.  This is used by the VNF Plugin Adapter to select the Multicloud plugin for instantiation of the vfModule.  The multicloud adapter does not require the identity record in catalogdb, so the DEFAULT identity record is fine for using in the cloud_sites record.

SDNC Preload

Performed as usual. 

Service Instantiation - e.g. VID or REST - using VNF-API

SO Service Instance create API

For HPA use case, specify OOF Homing in UserParams

BPMN calls OOF to obtain homing solution - which is sent to the VNF adapter as CloudOwner and CloudRegion parameters.  The OOF directives are placed into the 'oof_directives' parameter which is passed to Multicloud and is used to override the flavor of the vnfc for the destination cloud region based on the OOF solution.

SO VNF create API

SO vfModule create API

SO Multicloud plugin adapter invokes the Multicloud infra_workload API to instantiate the vfModule

GET with query paramter by workload name (e.g. stack name)

POST to create workload

GET with query by workload-id used to poll for create complete

POST with workload-id to trigger Multicloud to perform AAI update (e.g. heatbridge)

GET with query by workload-id to poll for update complete

JIRA: separate step for AAI update

JIRA: clean up infra_workload API

For K8S use case, profile instance information is passed in via the userParams,  With VID, these can be supplied with the Supplementary JSON file on the VID screen

TODO:  verify that SDNC is not required for K8S 'dummy' heat templates.  It may be necessary to add a bit more into the 'dummy' heat template to satisfy the SDNC query.  (currently SDNC preload was performed in this case to avoid an error that appeared to be coming from SDNC)

For SO Multicloud plugin adapter, the 'template_type' needs to be supplied.  Currently this has been done by adding it as a UserParam also.  template_type == 'heat' is the currently supported template type.

After create is complete: SO updates AAI with vfModule information (perhaps this should be done by Multicloud? JIRA



Other testing verification items:

  • Testing with GR-API

  • Use of CDS



Summary of next work items:

E Release Timeframe

https://jira.onap.org/browse/SO-2027 - Distribution error for type SO for CLOUD_TECHNOLOGY_SPECIFIC_ARTIFACTS

https://jira.onap.org/browse/SO-1448 - Support v1 and v2 vnf adapter API (investigate if v2 API can be used to replace use of v1)

https://jira.onap.org/browse/SO-1450 - support for secure communications between SO and Multicloud

https://jira.onap.org/browse/SO-2084 - Determine heat template needed to avoid preload for k8s workload

https://jira.onap.org/browse/SO-2028 - Provide a better method for entering SO cloud_site entry (investigate if do-able in E or if more changes required, then in F)K8S tenant support

MULTICLOUD-680: K8S plugin should register a tenant on cloud registrationOpen  K8S Multicloud plugin should register a (at least a default) tenant in AAI update cloud registration (current workaround has been to use the mutlicloud windriver plugin to register an openstack tenant)



F Release Timeframe (investigation, design, planning should start during E timeframe)

https://jira.onap.org/browse/SO-2086 - SO Multicloud plugin to Multicloud improvements

  • vFW closed loop functionality verification - for SO multicloud plugin, vFW K8S

  • VL support enhancements

https://jira.onap.org/browse/SO-2087 - AAI update for VNF improvements (e.g. Heatbridge)

Multitenancy in K8S  ? - refer to: ONAP Cloud Native Multi tenancy proposal



Reference links for more details:

[1] https://lf-onap.atlassian.net/wiki/display/DW/Deploying+vFw+and+EdgeXFoundry+Services+on+Kubernets+Cluster+with+ONAP

[2] https://github.com/onap/integration/tree/master/test/hpa_automation/heat

[3] https://wiki.lfnetworking.org/download/attachments/15630468/ONAP_Dublin_SO_Multicloud.pdf

Readthedocs links:

https://onap.readthedocs.io/en/latest/submodules/integration.git/docs/docs_vfw_edgex_k8s.html#docs-vfw-edgex-multicloud-k8s

https://onap.readthedocs.io/en/latest/submodules/integration.git/docs/docs_vfwHPA.html#docs-vfw-hpa