...
It is also of interest to provide this functionality generically for other cloud types. Let's call it something like 'AAI Workload Update' instead of 'heatbridge'.
Proposed Approach - make a 'Heatbridge' microservice
Based on feedback, the proposal is to make a microservice which can handle the AAI update (heatbridge).
Phase 1 - make it work for OpenStack
Whether using the SO OpenStack VNF adapter or the SO Multicloud VNF plugin adapter, the following diagram illustrates the vfModule creation step and the following heatbridge step.
- Invoke SO VNF adapter to create vfModule
- SO OpenStack VNF adapter
- SO Multicloud VNF plugin adapter
- SO VNF adapter creates vfModule
- SO directly interacts with the OpenStack cloud
- Multicloud adapter calls Multicloud which handles creating the vfModule
- If vfModule was successful, new workflow step invokes new Heatbridge microservice
- Query the OpenStack cloud for information
- If 1a, 2a path was followed, the microservice communicates directly to OpenStack to query info
- If Multicloud path is being used, query Openstack via the Multicloud Openstack API
- Update AAI with info
Most of this code is already more or less written - except for creation of a new BPMN workflow step and packaging the heatbridge code as a microservice.
The API between SO and Multicloud is already in place, and the code to query OpenStack and update AAI is already developed. (this gerrit and related gerrit's https://gerrit.onap.org/r/#/c/78155/ )
In the Multicloud path, if a non-OpenStack cloud is invoked by the Heatbridge microservice, then some kind of error or stub reply is made.
Phase 2 - support non-OpenStack clouds
More work is required to support non-Openstack clouds since current heatbridge code is for OpenStack. The following diagram (with the vfModule create step removed for simplicity) illustrates:
- As in step 3 in phase 1 above, invoke the Heatbridge microservice
- If the cloud region is not OpenStack, the difference is in how the microservice talks to Multicloud. Instead of the OpenStack API, either a generic query API needs to be developed that is supported by the Multicloud plugins. (or, maybe the non-OpenStack plugins just respond with data in the same format as OpenStack would respond).
- Either map data coming from the generic query API response from Multicloud to format needed to update AAI (or, no change if all Multicloud plugins respond with data looking like OpenStack responses).
Proposed Approach - via Multicloud VNF Plugin Adapter
When using the Multicloud VNF plugin adapter to instantiate more generically on various cloud types, the recommended approach (see Bin Yang 's comments) is to have Multicloud handle the AAI update as the cloud specific plugins have the best knowledge of how to communicate with the cloud plus any unique cloud specific details that may end up in AAI. This is illustrated by the following diagram.
A new BPMN workflow step (or Building Block) is added to trigger an AAI update following the step where the vfModule was created.The Multicloud VNF plugin adapter makes the call to Multicloud to perform the AAI update.The appropriate Multicloud plugin queries the relevant cloud region for workload details.The Multicloud plugin updates AAI with the workload details.Meanwhile the Multicloud plugin adapter can query Multicloud for status of the AAI update until it is complete.
Note | ||
---|---|---|
| ||
|
Proposed Approach - via OpenStack VNF Adapter
The SO OpenStack VNF adapter will not be replaced by the multicloud adapter in the short term, so code has been submitted for review ( https://gerrit.onap.org/r/#/c/78155/ ) to add AAI update (i.e. Heatbridge) into the SO OpenStack VNF Adapter. To align with the proposal above for AAI update when using the Multicloud VNF plugin adapter, the following diagram illustrates the proposal for the OpenStack VNF Adapter.
As with the Multicloud VNF plugin adapter, a new BPMN workflow step invokes the SO Openstack adapter to trigger the AAI update.The OpenStack VNF adapter queries the OpenStack cloud for the workload details.Update AAI with the workload details.
Note | ||
---|---|---|
| ||
|
PREVIOUS MATERIAL:
Note | ||
---|---|---|
| ||
|
...