blob: a5e525290be3ec9ccc89f8648dd6c13374eb9db7 [file] [log] [blame]
Bin Yangf1ca9062018-01-29 10:59:01 +08001..
2 This work is licensed under a Creative Commons Attribution 4.0
3 International License.
4
5=====================================================
6MultiCloud HPA information discovery and registration
7=====================================================
8
9To support Beijing Release Use Case: "Hardware Platform Enablement In ONAP"
10(https://wiki.onap.org/display/DW/Hardware+Platform+Enablement+In+ONAP),
11MultiCloud services play a very key role to discover all available Hardware
12Platform capabilities and capacities (referred as HPA: Hardware Platform
13Awareness) from underylying VIMs/Clouds and represent them into AAI, so that
14ONAP OOF service could match the requirement of HPA from VNF vendors as well
15as ONAP policy to the HPA information of underylying VIMs/Clouds to decide
16which VIM/Cloud is the best candidate to place VNFs.
17
18
19Overall process
20================
21
22The trigger to invoke such discovery and representation process will usually
23be ESR (External System Registration service). Whenever the ONAP user is
24onboarding a VIM instance or a cloud, he/she will fill in VIM/Cloud access
25information including but not limited to : authentication url, user/password,
26tenant name, cloud owner and region id, and cloud extra information pertaining
Ethan Lynnb3e79cc2018-06-05 17:26:55 +080027to this VIM/Cloud.
Bin Yangf1ca9062018-01-29 10:59:01 +080028
29Given these access information for a VIM instance, ESR will request MultiCloud
30to perform VIM/Cloud registration process.
31
32.. [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
33
34
35The VIM/Cloud registration process during which MultiCloud discovers and
36represents HPA information will be implemented in each MultiCloud Plugin
37service respectively which knows best of the corresponding underylying
38VIM/Cloud.
39
40Proposed alternative solutions to discover HPA information
41==========================================================
42
43While it is up to each MultiCloud Plugin service to determine how to discover
44HPA information, there are several alternative solutions to accomplish such
45discovery process.
46
47Solution 1: Hard-coded discovery
48--------------------------------
49
50The MultiCloud services are designed in the way that there will be specific
51plugin service to adapting ONAP into specific type or flavor of VIM/Cloud,
52so the specific MultiCloud plugin service is tightly coupled with the
53corresponding VIM/Cloud type or flavor. If some kinds of HPA information are
54statically pertaining to a VIM/Cloud type or flavor and invariant between
55different instance, it will be possible to hard coding this HPA information
56into the corresponding MultiCloud Plugin Service. One example is that Titanium
57Cloud comes along with builtin HPA feature of vswitch with DPDK support, so
58this HPA information will be hard-coded into MultiCloud plugin service for
59Wind River Titanium Cloud.
60
61
62Solution 2: Manually discovery
63------------------------------
64
65There are some kinds of HPA information which vary between instances of the
66same VIM/Cloud type, but will be invariant during the whole life-cycle of
67that instance. These information can be manually injected into ONAP during
68the VIM/Cloud instance onboarding process. There is a field named
69"cloud extra info" from the ESR VIM registration portal, ONAP users could
70input the extra information into ONAP which will be stored into AAI
71(refer to property of "cloud-extra-info" of /cloud-infrastructure/cloud-regions
72/cloud-region/{cloud-owner}/{cloud-region-id}). So when MultiCloud Plugin
73Service are invoked to discover HPA information, the cloud extra information
74will be decoded to check if there are HPA information can be extracted and
75represented into AAI.
76
77
78Solution 3: Automatically discovery
79-----------------------------------
80
81There are some other kinds of HPA information which changes dynamically
82during the life-cycle of a VIM/Cloud instance, so we have to discover them
83leveraging some automation approach. While different VIM/Cloud type of flavor
84exposes different approach to support the automatical discovery with respect
85to HPA resources, the approach is quite straight-forward for OpenStack.
86For those HPA information will be consumed by specifying the extra specs of a
87flavor, VIM/Cloud administrators could provision these flavor's extra specs
88with HPA information before onboarding the VIM/Cloud instance into ONAP.
89After VIM/Cloud onboarding to ONAP, MultiCloud Plugin Service for OpenStack
90will extract these HPA information from the extra specs of the flavors and
91represent them into AAI.
92
93
94Representation of HPA information
95=================================
96
97With regarding to how to represent HPA information into AAI, it is up to how
98AAI schema are defined and we willcontribute and feedback.
99
100
101Stectch goal
102============
103
104There is another consideration to discover new HPA information periodically,
105this can be a stretch goal for Beijng Release.
106
107.. [Periodically HPA information discovery] https://sequencediagram.org/index.html?initialData=C4S2BsFMAIAVIE4gPYBMQGNroM4eQG6ICe0yAZtNAKKwCCAtOeAIYHII4BQXADiwlAYQ-AHbBoAWQCu4UAGFwyaagYAhBMgDWiPgKEiW4qbIVKVDWOGkBzEKL2DMh43ToBJRwbESASpABbZGBIADV3SR4uUWCYQkQTORBFZVUNbUQALmgAMQ5oSBYMAAtocMloYGJeSGjYsiIERLNUy2s7UWy8psKSsojoBEg7ZAcZJJSLK1t7BgA+cZap9vts+CQ0TBp6bBA8eIRSGNByTBZQUa5F5PNVaY7oef8gkPLsgHFICWY2DhwAelCFQAyiAAF6QAHuUQ4YBGDAwKo1bjHGBIGzFCQUZo3Vr3VbQADyNRhcIwWn6khw0GkOBgP3YTRCCACABpoAAdUR0MHSIY0unUgDkQOgoIhOCFlUQAU53IA6sCBZDoEL7LD4YjqpApczZVzgMhBpBeEM6cYCAIULToPgArxpCFoDZNNJeDgAHRXUy45YzUQAHgYDGesTe0H8OF4ozp0AA7mBSgy-tAcG7o4JIKh2Vy48UvvmmvljpVCzABDBIDFbKUuWblAgEdS2CwQKwAEZQaD2Uto4YoUTQcj5YDFPZD1iM70TW5tf1PQJhiIfL7YL6t8DU0YFIpJyccQEg8GQf7QjWiBGVbXTpZ3FaB4Oh14DbKR6MwmAJ0druFtlH1dFMTIShrkmO9-WyAARdc-27C9rFQGACHkWAAFUcHZAJAlTY8c1EXAKRwY9oCMVAClEYpNTIrleFYYBhxZIdCmAPkVTTXgMxCMj21IUdzgnX4EBvX1wI6eZQNnfFOmgAA5DgAhYcBj3+YAECMHA6JgLlkwQQ8xWUs84QvLUajlewGIUi5B0NIkZLoWA11OUQszlWhGB06kLPOYSwLnMS5jcdwVwkSAAA89lAUQbG2dz904MhrPzY0RjGH1fKkoMGEC19IXfWMv1KRTwBipg4ubfDexAJpEN-TcfMk+9xLShr-WgYK1zkFhoHbL440gKs5TCiL7GitzSsE8rqNEZy43AUhcHwRoXLtB0QgYF1lHdL0JLxRqAo8TI6A4uaOrhAURugQLLtgdw5VIkjNyNFhjtIDBnqKMBSA1Fit0HXpa1EMadO6lg6TI7dvptcz5POAdoCgARxC9LggA
108
109