Please refer to the design spec for details

https://gerrit.onap.org/r/#/c/29419/2/docs/specs/MultiCloud-HPA-Discovery-design.rst



Proposed alternative solutions to discover HPA information
==========================================================

While it is up to each MultiCloud Plugin service to determine how to discover
HPA information, there are several alternative solutions to accomplish such
discovery process.

Solution 1: Hard-coded discovery
--------------------------------

The MultiCloud services are designed in the way that there will be specific
plugin service to adapting ONAP into specific type or flavor of VIM/Cloud,
so the specific MultiCloud plugin service is tightly coupled with the
corresponding VIM/Cloud type or flavor. If some kinds of HPA information are
statically pertaining to a VIM/Cloud type or flavor and invariant between
different instance, it will be possible to hard coding this HPA information
into the corresponding MultiCloud Plugin Service. One example is that Titanium
Cloud comes along with builtin HPA feature of vswitch with DPDK support, so
this HPA information will be hard-coded into MultiCloud plugin service for
Wind River Titanium Cloud.


Solution 2: Manually discovery
------------------------------

There are some kinds of HPA information which vary between instances of the
same VIM/Cloud type, but will be invariant during the whole life-cycle of
that instance. These information can be manually injected into ONAP during
the VIM/Cloud instance onboarding process. There is a field named
"cloud extra info" from the ESR VIM registration portal, ONAP users could
input the extra information into ONAP which will be stored into AAI
(refer to property of "cloud-extra-info" of /cloud-infrastructure/cloud-regions
/cloud-region/{cloud-owner}/{cloud-region-id}). So when MultiCloud Plugin
Service are invoked to discover HPA information, the cloud extra information
will be decoded to check if there are HPA information can be extracted and
represented into AAI.


Solution 3: Automatically discovery
-----------------------------------

There are some other kinds of HPA information which changes dynamically
during the life-cycle of a VIM/Cloud instance, so we have to discover them
leveraging some automation approach. While different VIM/Cloud type of flavor
exposes different approach to support the automatical discovery with respect
to HPA resources, the approach is quite straight-forward for OpenStack.
For those HPA information will be consumed by specifying the extra specs of a
flavor, VIM/Cloud administrators could provision these flavor's extra specs
with HPA information before onboarding the VIM/Cloud instance into ONAP.
After VIM/Cloud onboarding to ONAP, MultiCloud Plugin Service for OpenStack
will extract these HPA information from the extra specs of the flavors and
represent them into AAI.