1 .. This work is licensed under a Creative Commons Attribution 4.0 International License.
2 .. http://creativecommons.org/licenses/by/4.0
3 .. Copyright (c) 2017-2018 VMware, Inc.
5 =======================================
6 MultiCloud Resources Capacity Check API
7 =======================================
9 To better expose VIM capabilities and available resources capacity to external
10 consumer, some extensions need to be done by MultiCloud.
16 Current MultiCloud didn't expose any standard API/methods to check/publish the
17 resources capacity for each VIM, which makes external project can not realize
18 the capacity information of VIM. When a VIM with shortage resources was chosen
19 to deploy a bunch of VNFs, it will fail eventually. Exposing these information
20 will could let external project to make a better decision on choosing which VIM
30 Cloud latitude and longitude information is needed by OOF to determine the
31 distance between vGMuxInfra and vG. The latitude and longitude information
32 are part of A&AI complex schema[A&AI Complex Schema]_, which related to
35 There is no change needed to MultiCloud, but cloud administrator need to
36 input these information when register a new VIM. Currently ESR Portal don't
37 expose these input forms to cloud administrator, need ESR team to add related
38 workflow to create complex data in A&AI and create a relationship between
39 location information and cloud-region record.
41 ... [A&AI Complex Schema] https://gerrit.onap.org/r/gitweb?p=aai/aai-common.git;a=blob;f=aai-schema/src/main/resources/oxm/aai_oxm_v12.xml;h=e146c06ac675a1127ee11205c0ff2544e4d9a81d;hb=HEAD#l772
44 Available Resource Check
45 ------------------------
47 A new API will be used by OOF to check the available cloud resources, which
48 will help OOF to make a better placement decision. OOF will give a resrouces
49 requirement of a specific deployment and a list of VIMs which need to be
50 check whether have enough resources for this deployment. The ouput of
51 Multicloud will be a list of VIMs which have enough resources.
53 There will be two part of APIs for this requirement, an check_vim_capacity API
54 will be added to MultiCloud borker to return a list of VIMs, another API
55 <vim_id>/capacity_check will be added to each MultiCloud plugins, and return
56 true or false based on whether the VIM have enought resources. When MultiCloud
57 broker receive a POST request on check_vim_capacity, it will request to each
58 <vim_id>/capacity_check API, and return a list of VIMs with a true in response
62 Input of check_vim_capacity will be
67 "vCPU": int, // number of cores
68 "Memory": float, // size of memory, GB
70 "VIMs": array // VIMs OOF wish to check with
73 Output of check_vim_capacity will be
78 "VIMs": array // VIMs satisfy with this resource requirement
81 Input of <vim_id>/capacity_check will be
92 Output of <vim_id>/capacity_check will be
104 #. Work with ESR team for location inport form.
105 #. Add check_vim_capacity API to MultiCloud Broker.
106 #. Add check_vim_capacity API to each MultiCloud Plugins.
111 #. Unit Tests with tox
112 #. CSIT Tests, the input/ouput of broker and each plugin see API design above.