.. 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