SO Multicloud Adapter in Casablanca
In Casablanca, a multicloud adapter was added to the SO Openstack adapter component. This adapter was developed based on SO's VnfPluginAdapter and uses the Version 2 of SO's VNF Adapter REST API. This is configured for use by ensuring the BPMN component configmap has the vnf rest endpoint set to v2.
For example, once SO has been deployed, updating the bpmn config map will change the REST API version used:
On the Multicloud side, the Infrastructure workload LCM API of the v1 Rest specification is what is supported by this new SO multicloud adapter.
Specifically, this section: https://onap.readthedocs.io/en/casablanca/submodules/multicloud/framework.git/docs/MultiCloud-APIv1-Specification.html#infrastructure-workload-lcm
The SO Multicloud adapter supports the POST, GET and DELETE described in that section.
In Casablanca, the new multicloud adapter was derived from SO adapter code that was oriented to Openstack/Heat and it was only tested with Heat based examples (e.g. vFW), so some refinements are expected.
For Dublin and beyond
In Dublin time frame, we are looking at improving the multicloud adapter to be able to support multiple cloud types in a generic way - SO-1353Getting issue details... STATUS .
Support for Kubernetes based cloud regions is a specific target of an additional cloud region type. See: https://wiki.onap.org/display/DW/K8S+based+Cloud+Region+Support
Following is a list of topics which fall under either new features or enhancements that will be needed (comment, discussion, questions are encourage):
Use of SO cloud site DB - SO-1447Getting issue details... STATUS
- In the current usage, the multicloud adapter still uses a separate record in SO's cloud site DB for each cloud region (also uses just cloud-region not the cloud_owner + cloud_region yet)
- It seems that there really would only need to be a single entry or other configuration to identify the multicloud endpoint.
Multicloud plugin typeThe endpoint to talk to multicloud currently needs to specify the plugin type as part of the URLe.g. http://msb-iag.onap:80/api/multicloud-titaniumcloud/v1/CloudOwner/CloudRegion/infra_workloadIt seems like there could just be a single endpoint e.g. http://msb-iag.onap:80/api/multicloud/v1/CloudOwner/CloudRegion/infra_workloadAnd multicloud could determine and use the correct plugin based on the type of cloud residing at CloudOwner/CloudRegionVolume groups, Networks, etc. - SO-1445Getting issue details... STATUS
- Current testing / usage of the multicloud plugin has only touched single heat template based VNFs (e.g. vFW)
- Support for volume groups, networks, and anything else (e.g. nested heat templates?) should be evaluated
- What changes / enhancements are required to the Multicloud API ?
- Are these concepts applicable generically to multiple types of clouds ?
Other LCM items
- Does the Multicloud API need enhancement for other LCM actions that SO participates in? e.g. Scale out, …. ?
Authentication between SO and Multicloud - SO-1450Getting issue details... STATUS
- Current communication between SO and Multicloud is not authenticated
Update of AAI post creation of VF modules - SO-1444Getting issue details... STATUS
- Heatbridge -what is it? (there's a to a python script in the SO code, robot scripts have some kind of heatbridge funciton too)
- Current multicloud adapter testing has not utilized heatbridge
- What needs to be done generically for many different generic cloud type - heatbridge sounds very openstack specific
Usage / Updates to the Multicloud API - SO-1446Getting issue details... STATUS
- SO passes 'oof_directives' - info it receives from OOF - along to Multicloud
- The API also has an 'sdnc_directives' parameter - how this is filled out and format should be defined - SO-1442Getting issue details... STATUS
- There has been discussion of a 'user_directives' parameter - how this is provided and format should be defined - and added to the API - SO-1443Getting issue details... STATUS
- 'template_type' and 'template_data' - are these required? Currently, for heat, we pass a stack object, which mainly has the parameter list and the heat template and other files.
- Seems like multicloud could get the template files directly via SDC distribution
- And other parameters can be passed in generically via the directives parameters mentioned just above.
Distribution of cloud artifacts - SO-1441Getting issue details... STATUS
Other misc enhancements