Spec for MultiCloud HPA Discovery and Represent 19/29419/2
authorBin Yang <bin.yang@windriver.com>
Mon, 29 Jan 2018 02:59:01 +0000 (10:59 +0800)
committerBin Yang <bin.yang@windriver.com>
Mon, 29 Jan 2018 02:59:01 +0000 (10:59 +0800)
Change-Id: I8a98dd8d76f5dd1767de7cf8000481bb182e6464
Issue-ID: MULTICLOUD-157
Signed-off-by: Bin Yang <bin.yang@windriver.com>
docs/specs/MultiCloud-HPA-Discovery-design.rst [new file with mode: 0644]

diff --git a/docs/specs/MultiCloud-HPA-Discovery-design.rst b/docs/specs/MultiCloud-HPA-Discovery-design.rst
new file mode 100644 (file)
index 0000000..3a841de
--- /dev/null
@@ -0,0 +1,109 @@
+..
+ 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
+
+