From: Bin Yang Date: Mon, 29 Jan 2018 02:59:01 +0000 (+0800) Subject: Spec for MultiCloud HPA Discovery and Represent X-Git-Tag: v1.1.2~82^2 X-Git-Url: https://gerrit.onap.org/r/gitweb?p=multicloud%2Fframework.git;a=commitdiff_plain;h=f1ca906d02fa6b902f3d8f441a372c493bd57352 Spec for MultiCloud HPA Discovery and Represent Change-Id: I8a98dd8d76f5dd1767de7cf8000481bb182e6464 Issue-ID: MULTICLOUD-157 Signed-off-by: Bin Yang --- diff --git a/docs/specs/MultiCloud-HPA-Discovery-design.rst b/docs/specs/MultiCloud-HPA-Discovery-design.rst new file mode 100644 index 0000000..3a841de --- /dev/null +++ b/docs/specs/MultiCloud-HPA-Discovery-design.rst @@ -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 + +