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