blob: a5e525290be3ec9ccc89f8648dd6c13374eb9db7 [file] [log] [blame]
..
This work is licensed under a Creative Commons Attribution 4.0
International License.
=====================================================
MultiCloud HPA information discovery and registration
=====================================================
To support Beijing Release Use Case: "Hardware Platform Enablement In ONAP"
(https://wiki.onap.org/display/DW/Hardware+Platform+Enablement+In+ONAP),
MultiCloud services play a very key role to discover all available Hardware
Platform capabilities and capacities (referred as HPA: Hardware Platform
Awareness) from underylying VIMs/Clouds and represent them into AAI, so that
ONAP OOF service could match the requirement of HPA from VNF vendors as well
as ONAP policy to the HPA information of underylying VIMs/Clouds to decide
which VIM/Cloud is the best candidate to place VNFs.
Overall process
================
The trigger to invoke such discovery and representation process will usually
be ESR (External System Registration service). Whenever the ONAP user is
onboarding a VIM instance or a cloud, he/she will fill in VIM/Cloud access
information including but not limited to : authentication url, user/password,
tenant name, cloud owner and region id, and cloud extra information pertaining
to this VIM/Cloud.
Given these access information for a VIM instance, ESR will request MultiCloud
to perform VIM/Cloud registration process.
.. [The sequence diagram to illustrate the interactions] https://sequencediagram.org/index.html?initialData=C4S2BsFMAIGFwPYFcAmBaASpA5iBA7aASXzGgBEQBnAYwQDdIAnATwCg2AHAQydBpA98waAFUqzLr36Duw6AFEAyhil8QAoSICC2omplboAWSThQ8ZOgBCTBAGtJPdZrkjT5kJdRoACuCRcfAMNWXksAFsEYEgANSJjaDZxZjQAPmUMAC4xCSZobhQUKjhEHyYcPGDM9N0iHO0i0qs0CtwCaGAEToALGBB8RmEEVjZMgB40NDroHKUkGhpIKioAegAzbhAAiuS8ybRMuYWllY2tncgxlXSPCzKbO0cmHIA5aJB1lgKisCroBDraD4SAAd2gNAerUqBDYdy8UNsDlSaXh3keyJe0CUkCgNGAJWAfWgnACQWgACNuBIUADCAAdfDxYxoYAsTgwQG9bgiSEtNpVOFme4tJHPW7ChEtfyBAY5AAqTBA2GwzGBYIhUIFHUKKD+sLRUJlQXSkWicQSOQA4pAROtwNx6CM1rFjEoQAAvZarEhUYByJaddnLIWedF+MkDA5mmLMnJYKicAgSaCgsA9ArgcBBjklKhIThJviQFChkU+Y0DU2QKKxy3QG0iFC2i4lLmM+2O52rV3ur1rX3+-CneXBkqMqC8eQDEkVeh4JB5mKcMtSiuR-DRmvmuPQBNJ-ApgAUaaJ0Gb-u2VAAlKvw5X8BKw0aN28RhFuOBPTBO06mC63W-AdDyHJZR1zaBGTkWkFF8bRoAGdZ3x5f4Bi6RQ4LQX9nUg-BqWgSAAA8OXxEtKW+AB5V5tF8O8X1lR80jqBomlg7QsIdP8Smg3DqSoBABB5Mi2KwyAeSQCpxzw-BaTAbjgGAJUKSQGISiQGS1UZIkYD5coYWCIA
The VIM/Cloud registration process during which MultiCloud discovers and
represents HPA information will be implemented in each MultiCloud Plugin
service respectively which knows best of the corresponding underylying
VIM/Cloud.
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.
Representation of HPA information
=================================
With regarding to how to represent HPA information into AAI, it is up to how
AAI schema are defined and we willcontribute and feedback.
Stectch goal
============
There is another consideration to discover new HPA information periodically,
this can be a stretch goal for Beijng Release.
.. [Periodically HPA information discovery] https://sequencediagram.org/index.html?initialData=C4S2BsFMAIAVIE4gPYBMQGNroM4eQG6ICe0yAZtNAKKwCCAtOeAIYHII4BQXADiwlAYQ-AHbBoAWQCu4UAGFwyaagYAhBMgDWiPgKEiW4qbIVKVDWOGkBzEKL2DMh43ToBJRwbESASpABbZGBIADV3SR4uUWCYQkQTORBFZVUNbUQALmgAMQ5oSBYMAAtocMloYGJeSGjYsiIERLNUy2s7UWy8psKSsojoBEg7ZAcZJJSLK1t7BgA+cZap9vts+CQ0TBp6bBA8eIRSGNByTBZQUa5F5PNVaY7oef8gkPLsgHFICWY2DhwAelCFQAyiAAF6QAHuUQ4YBGDAwKo1bjHGBIGzFCQUZo3Vr3VbQADyNRhcIwWn6khw0GkOBgP3YTRCCACABpoAAdUR0MHSIY0unUgDkQOgoIhOCFlUQAU53IA6sCBZDoEL7LD4YjqpApczZVzgMhBpBeEM6cYCAIULToPgArxpCFoDZNNJeDgAHRXUy45YzUQAHgYDGesTe0H8OF4ozp0AA7mBSgy-tAcG7o4JIKh2Vy48UvvmmvljpVCzABDBIDFbKUuWblAgEdS2CwQKwAEZQaD2Uto4YoUTQcj5YDFPZD1iM70TW5tf1PQJhiIfL7YL6t8DU0YFIpJyccQEg8GQf7QjWiBGVbXTpZ3FaB4Oh14DbKR6MwmAJ0druFtlH1dFMTIShrkmO9-WyAARdc-27C9rFQGACHkWAAFUcHZAJAlTY8c1EXAKRwY9oCMVAClEYpNTIrleFYYBhxZIdCmAPkVTTXgMxCMj21IUdzgnX4EBvX1wI6eZQNnfFOmgAA5DgAhYcBj3+YAECMHA6JgLlkwQQ8xWUs84QvLUajlewGIUi5B0NIkZLoWA11OUQszlWhGB06kLPOYSwLnMS5jcdwVwkSAAA89lAUQbG2dz904MhrPzY0RjGH1fKkoMGEC19IXfWMv1KRTwBipg4ubfDexAJpEN-TcfMk+9xLShr-WgYK1zkFhoHbL440gKs5TCiL7GitzSsE8rqNEZy43AUhcHwRoXLtB0QgYF1lHdL0JLxRqAo8TI6A4uaOrhAURugQLLtgdw5VIkjNyNFhjtIDBnqKMBSA1Fit0HXpa1EMadO6lg6TI7dvptcz5POAdoCgARxC9LggA