diff options
author | xinhuili <lxinhui@vmware.com> | 2017-10-08 03:05:00 +0800 |
---|---|---|
committer | xinhuili <lxinhui@vmware.com> | 2017-10-08 03:05:00 +0800 |
commit | d04a2f7056c4579ee72b328dbb3413a3521ec662 (patch) | |
tree | 0d49a1b2eea3ca59e0d3159eee1831713a0b2ca9 | |
parent | ed6f94fc70e18c849b043b5616dbdd7cafa8ba9b (diff) |
Add more docs for Multi VIM/Cloud project
This Patch is to add documents of deploymnet guide and API description into
the project.
Change-Id: I55ff0b8238aa79fd20808b6e9134ab1e77285cbb
issue-id: MULTICLOUD-86
Signed-off-by: Xinhui Li <lxinhui@vmware.com>
-rw-r--r-- | docs/MultiCloud-API-Specification-V1.rst | 2829 | ||||
-rw-r--r-- | docs/MultiCloud-Deployment-Guide.rst (renamed from docs/user/multivimproxy.txt) | 101 | ||||
-rw-r--r-- | docs/index.rst | 7 | ||||
-rw-r--r-- | docs/user/test.json | 10 |
4 files changed, 2895 insertions, 52 deletions
diff --git a/docs/MultiCloud-API-Specification-V1.rst b/docs/MultiCloud-API-Specification-V1.rst new file mode 100644 index 0000000..398d43f --- /dev/null +++ b/docs/MultiCloud-API-Specification-V1.rst @@ -0,0 +1,2829 @@ +================================ +MultiCloud API Specification V1 +================================ + +API Catalog +=========== + +`1. Scope 5 <#_Toc490851650>`__ + +`2. Terms, Definitions and Abbreviations 5 <#_Toc490851651>`__ + +`3. Image Management 5 <#_Toc490851652>`__ + +`3.1 Create Image 5 <#_Toc490851653>`__ + +`3.1.1 Request 5 <#_Toc490851654>`__ + +`3.1.2 Response 6 <#_Toc490851655>`__ + +`3.2 Delete Image 7 <#_Toc490851656>`__ + +`3.2.1 Request 7 <#_Toc490851657>`__ + +`3.2.2 Response 7 <#_Toc490851658>`__ + +`3.3 List Images 7 <#_Toc490851659>`__ + +`3.3.1 Request 7 <#_Toc490851660>`__ + +`3.3.2 Response 8 <#_Toc490851661>`__ + +`3.4 Get Image 9 <#_Toc490851662>`__ + +`3.4.1 Request 9 <#_Toc490851663>`__ + +`3.4.2 Response 9 <#_Toc490851664>`__ + +`4. Network Management 10 <#_Toc490851665>`__ + +`4.1 Create Network 10 <#_Toc490851666>`__ + +`4.1.1 Request 10 <#_Toc490851667>`__ + +`4.1.2 Response 11 <#_Toc490851668>`__ + +`4.2 Delete Network 12 <#_Toc490851669>`__ + +`4.2.1 Request 12 <#_Toc490851670>`__ + +`4.2.2 Response 12 <#_Toc490851671>`__ + +`4.3 List Network 12 <#_Toc490851672>`__ + +`4.3.1 Query 12 <#_Toc490851673>`__ + +`4.3.2 Response 13 <#_Toc490851674>`__ + +`4.4 Get Network 14 <#_Toc490851675>`__ + +`4.4.1 Request 14 <#_Toc490851676>`__ + +`4.4.2 Response 14 <#_Toc490851677>`__ + +`5. Subnetwork Management 16 <#_Toc490851678>`__ + +`5.1 Create Subnets 16 <#_Toc490851679>`__ + +`5.1.1 Request 16 <#_Toc490851680>`__ + +`5.1.2 Response 17 <#_Toc490851681>`__ + +`5.2 Delete Subnets 18 <#_Toc490851682>`__ + +`5.2.1 Request 18 <#_Toc490851683>`__ + +`5.2.2 Response 18 <#_Toc490851684>`__ + +`5.3 List Subnets 18 <#_Toc490851685>`__ + +`5.3.1 Query 18 <#_Toc490851686>`__ + +`5.3.2 Response 19 <#_Toc490851687>`__ + +`5.4 Get Subnets 20 <#_Toc490851688>`__ + +`5.4.1 Request 20 <#_Toc490851689>`__ + +`5.4.2 Response 20 <#_Toc490851690>`__ + +`6. Virtual Port 21 <#_Toc490851691>`__ + +`6.1 Create Virtual Port 21 <#_Toc490851692>`__ + +`6.1.1 Request 21 <#_Toc490851693>`__ + +`6.1.2 Response 22 <#_Toc490851694>`__ + +`6.2 Delete Virtual Port 22 <#_Toc490851695>`__ + +`6.2.1 Request 23 <#_Toc490851696>`__ + +`6.2.2 Response 23 <#_Toc490851697>`__ + +`6.3 List Virtual Port 23 <#_Toc490851698>`__ + +`6.3.1 Query 23 <#_Toc490851699>`__ + +`6.3.2 Response 23 <#_Toc490851700>`__ + +`6.4 Get Virtual Port 24 <#_Toc490851701>`__ + +`6.4.1 Request 24 <#_Toc490851702>`__ + +`6.4.2 Response 24 <#_Toc490851703>`__ + +`7. Server Management 25 <#_Toc490851704>`__ + +`7.1 Create Server 25 <#_Toc490851705>`__ + +`7.1.1 Request 25 <#_Toc490851706>`__ + +`7.1.2 Response 27 <#_Toc490851707>`__ + +`7.2 Delete Server 28 <#_Toc490851708>`__ + +`7.2.1 Request 28 <#_Toc490851709>`__ + +`7.2.2 Response 28 <#_Toc490851710>`__ + +`7.3 List Server 28 <#_Toc490851711>`__ + +`7.3.1 Request 28 <#_Toc490851712>`__ + +`7.3.2 Response 29 <#_Toc490851713>`__ + +`7.4 Get Server 29 <#_Toc490851714>`__ + +`7.4.1 Request 30 <#_Toc490851715>`__ + +`7.4.2 Response 30 <#_Toc490851716>`__ + +`8. Flavor Management 30 <#_Toc490851717>`__ + +`8.1 Create Flavor 31 <#_Toc490851718>`__ + +`8.1.1 Request 31 <#_Toc490851719>`__ + +`8.1.2 Response 31 <#_Toc490851720>`__ + +`8.2 Delete Flavor 32 <#_Toc490851721>`__ + +`8.2.1 Request 32 <#_Toc490851722>`__ + +`8.2.2 Response 32 <#_Toc490851723>`__ + +`8.3 List Flavor 32 <#_Toc490851724>`__ + +`8.3.1 Query 32 <#_Toc490851725>`__ + +`8.3.2 Response 32 <#_Toc490851726>`__ + +`8.4 Get Flavor 33 <#_Toc490851727>`__ + +`8.4.1 Request 33 <#_Toc490851728>`__ + +`8.4.2 Response 33 <#_Toc490851729>`__ + +`9. Volume Management 34 <#_Toc490851730>`__ + +`9.1 Create Volume 34 <#_Toc490851731>`__ + +`9.1.1 Request 34 <#_Toc490851732>`__ + +`9.1.2 Response 34 <#_Toc490851733>`__ + +`9.2 Delete Volume 35 <#_Toc490851734>`__ + +`9.2.1 Request 35 <#_Toc490851735>`__ + +`9.2.2 Response 35 <#_Toc490851736>`__ + +`9.3 List Volumes 35 <#_Toc490851737>`__ + +`9.3.1 Request 35 <#_Toc490851738>`__ + +`9.3.2 Response 36 <#_Toc490851739>`__ + +`9.4 Get Volumes 37 <#_Toc490851740>`__ + +`9.4.1 Request 37 <#_Toc490851741>`__ + +`9.4.2 Response 37 <#_Toc490851742>`__ + +`10. Tenant Management 38 <#_Toc490851743>`__ + +`10.1 List tenants 38 <#_Toc490851744>`__ + +`10.1.1 Query 38 <#_Toc490851745>`__ + +`10.1.2 Response 38 <#_Toc490851746>`__ + +`11. Limits 39 <#_Toc490851747>`__ + +`11.1 List Limits of resouces: CPU&Memory, volume,network,etc +39 <#_Toc490851748>`__ + +`11.1.1 Request 39 <#_Toc490851749>`__ + +`11.1.2 Response 39 <#_Toc490851750>`__ + +`12. Host Management 41 <#_Toc490851751>`__ + +`12.1 List hosts 41 <#_Toc490851752>`__ + +`12.1.1 Request 41 <#_Toc490851753>`__ + +`12.1.2 Response 41 <#_Toc490851754>`__ + +`12.2 Get host 43 <#_Toc490851755>`__ + +`12.2.1 Request 43 <#_Toc490851756>`__ + +`12.2.2 Response 43 <#_Toc490851757>`__ + +`13. VIM Management 45 <#_Toc490851758>`__ + +`13.1 Update VIM Info 45 <#_Toc490851759>`__ + +`13.1.1 Request 45 <#_Toc490851760>`__ + +`13.1.2 Response 45 <#_Toc490851761>`__ + +`13.2 Unregistry VIM 45 <#_Toc490851762>`__ + +`13.2.1 Request 45 <#_Toc490851763>`__ + +`13.2.2 Response 46 <#_Toc490851764>`__ + +* +* + +1. \ **Scope** + +The scope of the present document is to describe the VIM Driver API +specification. + +1. \ **Terms, Definitions and Abbreviations** + +For the purposes of the present document, the following abbreviations +apply: + ++--------------------+-------------------------------------------------------------+ +| **Abbreviation** | | ++====================+=============================================================+ +| NFVO | Network Functions Virtualization Orchestrator | ++--------------------+-------------------------------------------------------------+ +| VNFM | Virtual Network Function Management | ++--------------------+-------------------------------------------------------------+ +| VIM | Virtualized Infrastructure Manager | ++--------------------+-------------------------------------------------------------+ +| MultiVIM | MultVIM driver services for OPEN-O to drive VIM instances | ++--------------------+-------------------------------------------------------------+ + +Table 2-1 abbreviations + +1. \ **Image Management** + + 1. \ **Create Image** + ++---------------------+-------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+===============================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/images | ++---------------------+-------------------------------------------------------------------------------+ +| Operation | POST | ++---------------------+-------------------------------------------------------------------------------+ +| Direction | NSLCM->MULTIVIM | ++---------------------+-------------------------------------------------------------------------------+ +| Description | Create Image and Upload the image file to the VIM | ++---------------------+-------------------------------------------------------------------------------+ + +1. \ **Request** + ++-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------------------------------------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++===================+=================+===================+===========================+==================================================================================================+ +| name | M | 1 | String | Image Name | ++-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------------------------------------------------+ +| imagePath | M | 1 | String | Image Local Path from catalog | ++-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------------------------------------------------+ +| imageType | M | 1 | String | Image Type | +| | | | | | +| | | | | ami, ari, aki, vhd, vhdx, vmdk, raw, qcow2, vdi, iso | ++-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------------------------------------------------+ +| containerFormat | M | 1 | string | ami, ari, aki, bare, ovf, ova, docker | ++-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------------------------------------------------+ +| visibility | O | 1 | string | Visibility for this image. | +| | | | | | +| | | | | public, private, shared, or community | ++-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------------------------------------------------+ +| properties | O | 0..N | List of key-value pairs | Examples:--property vmware\_disktype=streamOptimized --property vmware\_adaptertype="lsiLogic" | ++-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------------------------------------------------+ + +{ + +"imageName": "cirros", + +"imagePath": "/home/cirros.qcow2", + +"imageType": "qcow2" + +“containerFormat”:”bare” + +} + +1. \ **Response** + ++-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++===================+=================+===================+===========================+========================================================+ +| id | M | 1 | String | Image UUID in the VIM | ++-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------+ +| name | M | 1 | String | Image Name | ++-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------+ +| returnCode | M | 1 | Int | 0: Already exist 1: Newly created | ++-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------+ +| imageType | M | 1 | String | Image Type | +| | | | | | +| | | | | ami, ari, aki, vhd, vhdx, vmdk, raw, qcow2, vdi, iso | ++-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------+ +| containerFormat | M | 1 | string | ami, ari, aki, bare, ovf, ova, docker | ++-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------+ +| visibility | O | 1 | string | Visibility for this image. | +| | | | | | +| | | | | public, private, shared, or community | ++-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------+ +| properties | O | 0..N | List of key-value pairs | | ++-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------+ +| vimid | M | 1 | String | vim id | ++-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------+ +| vimName | O | 1 | string | vim name | ++-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------+ +| tenantId | M | 1 | String | Tenant UUID | ++-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------+ + +*202*: accepted + +500: failed + +{ + + “id”:” 3c9eebdbbfd345658269340b9ea6fb73”, + + "name": "cirros", + + "returnCode": 1 + +} + +1. \ **Delete Image** + ++---------------------+-----------------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+=========================================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/images/{imageId} | ++---------------------+-----------------------------------------------------------------------------------------+ +| Operation | Delete | ++---------------------+-----------------------------------------------------------------------------------------+ +| Direction | NSLCM->MULTIVIM | ++---------------------+-----------------------------------------------------------------------------------------+ +| Description | Delete Image | ++---------------------+-----------------------------------------------------------------------------------------+ + +1. \ **Request** + +N/A + +1. \ **Response** + +204: no content + +1. \ **List Images** + ++---------------------+-------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+===============================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/images | ++---------------------+-------------------------------------------------------------------------------+ +| Operation | GET | ++---------------------+-------------------------------------------------------------------------------+ +| Direction | NSLCM->MULTIVIM | ++---------------------+-------------------------------------------------------------------------------+ +| Description | Query Image list | ++---------------------+-------------------------------------------------------------------------------+ + +1. \ **Request** + +msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/images?{……} + ++-----------------+-----------------+-------------------+---------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++=================+=================+===================+===============+==================================================================================================================================================================================================================================================================+ +| limit | O | 1 | integer | Requests a page size of items. Returns a number of items up to a limit value. Use the limit parameter to make an initial limited request and use the ID of the last-seen item from the response as the marker parameter value in a subsequent limited request. | ++-----------------+-----------------+-------------------+---------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| marker | O | 1 | string | The ID of the last-seen item. Use the limit parameter to make an initial limited request and use the ID of the last-seen item from the response as the marker parameter value in a subsequent limited request. | ++-----------------+-----------------+-------------------+---------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| name | O | 1 | String | Filters the response by a name, as a string. A valid value is the name of an image | ++-----------------+-----------------+-------------------+---------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +1. \ **Response** + ++-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ +| \ **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++=================================================+=================+===================+===============+========================================================+ +| images | M | 0..N | List | Image List | ++-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ +| id | M | 1 | String | Image ID | ++-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ +| size | M | 1 | int | Image Size | ++-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ +| name | M | 1 | String | Image Name | ++-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ +| status | M | 1 | String | Image Status | ++-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ +| imageType | M | 1 | String | Image Type | +| | | | | | +| | | | | ami, ari, aki, vhd, vhdx, vmdk, raw, qcow2, vdi, iso | ++-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ +| containerFormat | M | 1 | string | ami, ari, aki, bare, ovf, ova, docker | ++-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ +| visibility | O | 1 | string | Visibility for this image. | +| | | | | | +| | | | | public, private, shared, or community | ++-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ +| vimId | M | 1 | String | vim id | ++-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ +| vimName | O | 1 | string | vim name | ++-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ +| tenantId | M | 1 | String | Tenant UUID | ++-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ +| 200: ok | | | +| | | | +| 500: failed | | | +| | | | +| { | | | +| | | | +| “vimid”:”” | | | +| | | | +| “vimname”:”” | | | +| | | | +| "imageList": [ | | | ++-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ +| { | | | ++-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ +| "status": "active", | | ++-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ +| "id": "5e2757c1-f846-4727-915c-9a872553ed75", | ++-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ +| "size": 862016, | | ++-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ +| "name": "vim-plus-cgsl40g-z.qcow2" | ++-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ +| } | | | ++-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ +| ] | | | +| | | | +| } | | | ++-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ + +1. \ **Get Image** + ++---------------------+-----------------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+=========================================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/images/{imageid} | ++---------------------+-----------------------------------------------------------------------------------------+ +| Operation | GET | ++---------------------+-----------------------------------------------------------------------------------------+ +| Direction | NSLCM->MULTIVIM | ++---------------------+-----------------------------------------------------------------------------------------+ +| Description | Query Image Information | ++---------------------+-----------------------------------------------------------------------------------------+ + +1. \ **Request** + +N/A + +1. \ **Response** + ++-------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++===================+=================+===================+===============+========================================================+ +| id | M | 1 | String | Image ID | ++-------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ +| size | M | 1 | int | Image Size | ++-------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ +| name | M | 1 | String | Image Name | ++-------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ +| status | M | 1 | String | Image Status | ++-------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ +| imageType | M | 1 | String | Image Type | +| | | | | | +| | | | | ami, ari, aki, vhd, vhdx, vmdk, raw, qcow2, vdi, iso | ++-------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ +| containerFormat | M | 1 | string | ami, ari, aki, bare, ovf, ova, docker | ++-------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ +| visibility | O | 1 | string | Visibility for this image. | +| | | | | | +| | | | | public, private, shared, or community | ++-------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ +| vimId | M | 1 | String | vim id | ++-------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ +| vimName | M | 1 | string | vim name | ++-------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ +| tenantId | M | 1 | String | Tenant UUID | ++-------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ + +200: ok + +500: failed + +{ + +“vimid”:”” + +“vimname”:”” + +"status": "active", + +"id": "5e2757c1-f846-4727-915c-9a872553ed75", + +"size": 862016, + +"name": "vim-plus-cgsl40g-z.qcow2" + +a} + +1. \ **Network Management** + + 1. \ **Create Network** + ++---------------------+---------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+=================================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/networks | ++---------------------+---------------------------------------------------------------------------------+ +| Operation | POST | ++---------------------+---------------------------------------------------------------------------------+ +| Direction | VNFLCM,NSLCM->MULTIVIM | ++---------------------+---------------------------------------------------------------------------------+ +| Description | Create network and subnetwork on the VIM | ++---------------------+---------------------------------------------------------------------------------+ + +1. \ **Request** + ++-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++=============================+=================+===================+===============+===========================================================================================================================================================================================================================================================================================+ +| name | M | 1 | String | Logical network name | ++-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| shared | M | 1 | boolean | Whether to share(1:sharing;0:private) | ++-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| vlanTransparent | O | 1 | boolean | Whether to support VLAN pass through(1:true;0:false) | ++-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| networkType | O | 1 | String | Network type | +| | | | | | +| | | | | flat, vlan, vxlan, gre, | +| | | | | | +| | | | | portgroup | ++-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| segmentationId | O | 1 | Int | id of paragraph | ++-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| physicalNetwork | O | 1 | string | The physical network where this network should be implemented. The Networking API v2.0 does not provide a way to list available physical networks. For example, the Open vSwitch plug-in configuration file defines a symbolic name that maps to specific bridges on each compute host. | ++-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| routerExternal | O | 1 | boolean | Indicates whether this network can provide floating IPs via a router. | ++-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| { | | ++-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| “tenant”: “tenant1”, | | ++-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| “networkName”: “ommnet”, | ++-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| “shared”: 1, | | ++-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| “vlanTransparent”: 1, | | ++-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| “networkType”:”vlan”, | | ++-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| “segmentationId”:202, | | ++-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| “physicalNetwork”:”ctrl”, | | +| | | +| “routerExternal”:0 | | ++-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ ++-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| } | | ++-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +1. \ **Response** + ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++===================+=================+===================+===============+===========================================================================================================================================================================================================================================================================================+ +| status | M | 1 | string | Network status | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| id | M | 1 | string | Network id | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| name | M | 1 | string | Network name | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| tenantId | M | 1 | String | Tenant UUID | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| segmentationId | O | 1 | int | Segmentation id | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| networkType | O | 1 | string | Network type | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| physicalNetwork | O | 1 | string | The physical network where this network should be implemented. The Networking API v2.0 does not provide a way to list available physical networks. For example, the Open vSwitch plug-in configuration file defines a symbolic name that maps to specific bridges on each compute host. | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| vlanTransparent | O | 1 | boolean | Whether to support VLAN pass through(1:true;0:false) | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| shared | O | 1 | boolean | Whether to share(1:sharing;0:private) | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| routerExternal | O | 1 | boolean | Indicates whether this network can provide floating IPs via a router. | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| returnCode | M | 1 | int | 0: Already exist 1: Newly created | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| vimId | M | 1 | String | vim id | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| vimName | O | 1 | string | vim name | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +202: accepted + +500: failed + +{ + +“returnCode”:0, + +“vimId”:”11111”, + +“vimName”:”11111”, + +“status”: “ACTIVE”, + +“id”: “3c9eebdbbfd345658269340b9ea6fb73”, + +“name”: “net1”, + +“tenant”: “tenant1”, + +“networkName”: “ommnet”, + +“shared”: 1, + +“vlanTransparent”: 1, + +“networkType”:”vlan”, + +“segmentationId”:202, + +“physicalNetwork ”:”ctrl”, + +“routerExternal ”:0 + +} + +1. \ **Delete Network** + ++---------------------+---------------------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+=============================================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/networks/{networkId} | ++---------------------+---------------------------------------------------------------------------------------------+ +| Operation | Delete | ++---------------------+---------------------------------------------------------------------------------------------+ +| Direction | NFLCM,NSLCM->MULTIVIM | ++---------------------+---------------------------------------------------------------------------------------------+ + +1. \ **Request** + +N/A + +1. \ **Response** + +204: no content + +1. \ **List Network** + ++---------------------+---------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+=================================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/networks | ++---------------------+---------------------------------------------------------------------------------+ +| Operation | get | ++---------------------+---------------------------------------------------------------------------------+ +| Direction | NFLCM,NSLCM->MULTIVIM | ++---------------------+---------------------------------------------------------------------------------+ + +1. \ **Query** + ++-----------------+-----------------+-------------------+---------------+---------------------------------------------------------------------------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++=================+=================+===================+===============+=======================================================================================+ +| name | O | 1 | String | Filters the response by a name, as a string. A valid value is the name of a network | ++-----------------+-----------------+-------------------+---------------+---------------------------------------------------------------------------------------+ + +1. \ **Response** + ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++===================+=================+===================+===============+===========================================================================================================================================================================================================================================================================================+ +| vimId | M | 1 | String | vim id | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| vimName | O | 1 | string | vim name | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| networks | | 0..N | List | Network list | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| status | M | 1 | string | Network status | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| id | M | 1 | string | Network id | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| name | M | 1 | string | Network name | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| tenantId | M | 1 | String | Tenant UUID | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| segmentationId | O | 1 | int | Segmentation id | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| networkType | O | 1 | string | Network type | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| physicalNetwork | O | 1 | string | The physical network where this network should be implemented. The Networking API v2.0 does not provide a way to list available physical networks. For example, the Open vSwitch plug-in configuration file defines a symbolic name that maps to specific bridges on each compute host. | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| vlanTransparent | O | 1 | boolean | Whether to support VLAN pass through(1:true;0:false) | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| shared | O | 1 | boolean | Whether to share(1:sharing;0:private) | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| routerExternal | O | 1 | boolean | Indicates whether this network can provide floating IPs via a router. | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +200: ok + +500: failed + +{ + +“vimId”:”11111”, + +“vimName”:”111”, + +“networks”: + +[{ + +“status”: “ACTIVE”, + +“id”: “3c9eebdbbfd345658269340b9ea6fb73”, + +“name”: “net1”, + +“tenant”: “tenant1”, + +“networkName”: “ommnet”, + +“shared”: 1, + +“vlanTransparent”: 1, + +“networkType”:”vlan”, + +“segmentationId”:202, + +“physicalNetwork ”:”ctrl”, + +“routerExternal ”:0 + +}] + +} + +PHYSICALNETWORK + +1. \ **Get Network** + ++---------------------+---------------------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+=============================================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/networks/{networkId} | ++---------------------+---------------------------------------------------------------------------------------------+ +| Operation | get | ++---------------------+---------------------------------------------------------------------------------------------+ +| Direction | NFLCM,NSLCM->MULTIVIM | ++---------------------+---------------------------------------------------------------------------------------------+ + +1. \ **Request** + +N/A + +1. \ **Response** + ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++===================+=================+===================+===============+===========================================================================================================================================================================================================================================================================================+ +| status | M | 1 | string | Network status | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| id | M | 1 | string | Network id | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| name | M | 1 | string | Network name | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| tenantId | M | 1 | String | Tenant UUID | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| segmentationId | O | 1 | int | Segmentation id | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| networkType | O | 1 | string | Network type | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| physicalNetwork | O | 1 | string | The physical network where this network should be implemented. The Networking API v2.0 does not provide a way to list available physical networks. For example, the Open vSwitch plug-in configuration file defines a symbolic name that maps to specific bridges on each compute host. | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| vlanTransparent | O | 1 | boolean | Whether to support VLAN pass through(1:true;0:false) | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| shared | O | 1 | boolean | Whether to share(1:sharing;0:private) | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| routerExternal | O | 1 | boolean | Indicates whether this network can provide floating IPs via a router. | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| returnCode | M | 1 | int | 0: Already exist 1: Newly created | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| vimId | M | 1 | String | vim id | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| vimName | O | 1 | string | vim name | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +200: ok + +500: failed + +{ + + “vimId”:”11111”, + + “vimName”:”11111”, + + “status”: “ACTIVE”, + + “id”: “3c9eebdbbfd345658269340b9ea6fb73”, + + “name”: “net1”, + + “tenant”: “tenant1”, + + “networkName”: “ommnet”, + + “shared”: 1, + + “vlanTransparent”: 1, + + “networkType”:”vlan”, + + “segmentationId”:202, + + “physicalNetwork ”:”ctrl”, + + “routerExternal ”:0 + +} + +1. \ **Subnetwork Management** + + 1. \ **Create Subnets** + ++---------------------+--------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+================================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/subnets | ++---------------------+--------------------------------------------------------------------------------+ +| Operation | POST | ++---------------------+--------------------------------------------------------------------------------+ +| Direction | VNFLCM,NSLCM->MULTIVIM | ++---------------------+--------------------------------------------------------------------------------+ +| Description | Create network and subnetwork on the VIM | ++---------------------+--------------------------------------------------------------------------------+ + +1. \ **Request** + ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++===================+=================+===================+========================+======================+ +| networkId | M | 1 | String | Network Id | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| name | M | 1 | String | SubnetName | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| cidr | M | 1 | String | Subnet cidr | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| ipVersion | M | 1 | Int | Ip type | +| | | | | | +| | | | | 4,6 | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| enableDhcp | O | 1 | boolean | Whether to allow | +| | | | | | +| | | | | 1: yes;0: no | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| gatewayIp | O | 1 | String | Gateway ip | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| dnsNameservers | O | 1..n | List of servers | List of servers | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| hostRoutes | O | 1..n | List of routes | List of routes | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| allocationPools | O | 1..n | list of “allocation” | list of allocation | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| -->allocation | | | | | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| -->start | O | 1 | String | Start ip | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| -->end | O | 1 | String | End ip | ++-------------------+-----------------+-------------------+------------------------+----------------------+ + +{ + +“tenant”: “tenant1”, + +“network\_id”:“d32019d3-bc6e-4319-9c1d-6722fc136a22”, + +“subnetName”: “subnet1”, + +“cidr”: “10.43.35.0/24”, + +“ipVersion”: 4, + +“enableDhcp”: 1, + +“gatewayIp”: “10.43.35.1”, + +“dnsNameservers”: [], + +“allocationPools”:[{ + +“start”: “192.168.199.2”, + +“end”: “192.168.199.254” + +}], + +“hostRoutes”: [] + +} + +1. \ **Response** + ++-------------------+-----------------+-------------------+------------------------+-------------------------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++===================+=================+===================+========================+=====================================+ +| returnCode | M | 1 | int | 0: Already exist 1: Newly created | ++-------------------+-----------------+-------------------+------------------------+-------------------------------------+ +| vimId | M | 1 | String | vim id | ++-------------------+-----------------+-------------------+------------------------+-------------------------------------+ +| vimName | O | 1 | string | vim name | ++-------------------+-----------------+-------------------+------------------------+-------------------------------------+ +| status | M | 1 | string | subnetwork status | ++-------------------+-----------------+-------------------+------------------------+-------------------------------------+ +| id | M | 1 | string | subNetwork id | ++-------------------+-----------------+-------------------+------------------------+-------------------------------------+ +| tenantId | M | 1 | String | Tenant UUID | ++-------------------+-----------------+-------------------+------------------------+-------------------------------------+ +| networkId | O | 1 | String | Network Id | ++-------------------+-----------------+-------------------+------------------------+-------------------------------------+ +| networkName | O | 1 | String | Network Name | ++-------------------+-----------------+-------------------+------------------------+-------------------------------------+ +| name | M | 1 | String | SubnetName | ++-------------------+-----------------+-------------------+------------------------+-------------------------------------+ +| cidr | M | 1 | String | Subnet cidr | ++-------------------+-----------------+-------------------+------------------------+-------------------------------------+ +| ipVersion | M | 1 | Int | Ip type | +| | | | | | +| | | | | 4,6 | ++-------------------+-----------------+-------------------+------------------------+-------------------------------------+ +| enableDhcp | O | 1 | boolean | Whether to allow | +| | | | | | +| | | | | 1: yes;0: no | ++-------------------+-----------------+-------------------+------------------------+-------------------------------------+ +| gatewayIp | O | 1 | String | Gateway ip | ++-------------------+-----------------+-------------------+------------------------+-------------------------------------+ +| dnsNameservers | O | 1..n | List of servers | List of servers | ++-------------------+-----------------+-------------------+------------------------+-------------------------------------+ +| hostRoutes | O | 1..n | List of routes | List of routes | ++-------------------+-----------------+-------------------+------------------------+-------------------------------------+ +| allocationPools | O | 1..n | list of “allocation” | list of allocation | ++-------------------+-----------------+-------------------+------------------------+-------------------------------------+ +| -->allocation | | | | | ++-------------------+-----------------+-------------------+------------------------+-------------------------------------+ +| -->start | O | 1 | String | Start ip | ++-------------------+-----------------+-------------------+------------------------+-------------------------------------+ +| -->end | O | 1 | String | End ip | ++-------------------+-----------------+-------------------+------------------------+-------------------------------------+ + +202: accepted + +500: failed + +{ + + “returnCode”:0, + + “vimId”:”11111”, + + “vimName”:”11111”, + +“status”:” ACTIVE” + +“id”:” d62019d3-bc6e-4319-9c1d-6722fc136a23” + +“tenant”: “tenant1”, + +“network\_id”:“d32019d3-bc6e-4319-9c1d-6722fc136a22”, + +“name”: “subnet1”, + +“cidr”: “10.43.35.0/24”, + +“ipVersion”: 4, + +“enableDhcp”: 1, + +“gatewayIp”: “10.43.35.1”, + +“dnsNameservers”: [], + +“allocationPools”:[{ + +“start”: “192.168.199.2”, + +“end”: “192.168.199.254” + +}], + +“hostRoutes”: [] + +} + +1. \ **Delete Subnets** + ++---------------------+-------------------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+===========================================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/subnets/{subnetId} | ++---------------------+-------------------------------------------------------------------------------------------+ +| Operation | Delete | ++---------------------+-------------------------------------------------------------------------------------------+ +| Direction | NFLCM,NSLCM->MULTIVIM | ++---------------------+-------------------------------------------------------------------------------------------+ + +1. \ **Request** + +N/A + +1. \ **Response** + +204: no content + +1. \ **List Subnets** + ++---------------------+--------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+================================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/subnets | ++---------------------+--------------------------------------------------------------------------------+ +| Operation | get | ++---------------------+--------------------------------------------------------------------------------+ +| Direction | NFLCM,NSLCM->MULTIVIM | ++---------------------+--------------------------------------------------------------------------------+ + +1. \ **Query** + +msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/subnets?{……} + ++-----------------+-----------------+-------------------+---------------+------------------------------------------------------------------------------------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++=================+=================+===================+===============+================================================================================================+ +| name | O | 1 | String | Filters fields of the response by a name, as a string. A valid value is the name of a subnet | ++-----------------+-----------------+-------------------+---------------+------------------------------------------------------------------------------------------------+ + +1. \ **Response** + ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++===================+=================+===================+========================+======================+ +| vimId | M | 1 | String | vim id | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| vimName | O | 1 | string | vim name | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| subnets | M | 0..N | List | Network list | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| status | | 1 | string | subnetwork status | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| id | | 1 | string | subNetwork id | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| tenantId | M | 1 | String | Tenant UUID | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| networkId | O | 1 | String | Network Id | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| networkName | O | 1 | String | Network Name | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| name | M | 1 | String | SubnetName | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| cidr | M | 1 | String | Subnet cidr | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| ipVersion | M | 1 | Int | Ip type | +| | | | | | +| | | | | 4,6 | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| enableDhcp | O | 1 | boolean | Whether to allow | +| | | | | | +| | | | | 1: yes;0: no | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| gatewayIp | O | 1 | String | Gateway ip | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| dnsNameservers | O | 1..n | List of servers | List of servers | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| hostRoutes | O | 1..n | List of routes | List of routes | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| allocationPools | O | 1..n | list of “allocation” | list of allocation | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| -->allocation | | | | | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| -->start | O | 1 | String | Start ip | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| -->end | O | 1 | String | End ip | ++-------------------+-----------------+-------------------+------------------------+----------------------+ + +**200: ok** + +**500: failed** + +{ + +“vimId”:”11111”, + +“vimName”:”11111”, + +"subnets":[ + + { + +“status”:” ACTIVE” + +“id”:” d62019d3-bc6e-4319-9c1d-6722fc136a23” + +“tenant”: “tenant1”, + +“network\_id”:“d32019d3-bc6e-4319-9c1d-6722fc136a22”, + +“name”: “subnet1”, + +“cidr”: “10.43.35.0/24”, + +“ipVersion”: 4, + +“enableDhcp”: 1, + +“gatewayIp”: “10.43.35.1”, + +“dnsNameservers”: [], + +“allocationPools”:[{ + +“start”: “192.168.199.2”, + +“end”: “192.168.199.254” + +}], + +“hostRoutes”: [] + + } + +] + +} + +1. \ **Get Subnets** + ++---------------------+-------------------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+===========================================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/subnets/{subnetid} | ++---------------------+-------------------------------------------------------------------------------------------+ +| Operation | get | ++---------------------+-------------------------------------------------------------------------------------------+ +| Direction | NFLCM,NSLCM->MULTIVIM | ++---------------------+-------------------------------------------------------------------------------------------+ + +1. \ **Request** + +N/A + +1. \ **Response** + ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++===================+=================+===================+========================+======================+ +| vimId | M | 1 | String | vim id | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| vimName | O | 1 | string | vim name | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| status | | 1 | string | subnetwork status | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| id | | 1 | string | subNetwork id | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| tenantId | M | 1 | String | Tenant UUID | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| networkId | O | 1 | String | Network Id | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| networkName | O | 1 | String | Network Name | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| name | M | 1 | String | SubnetName | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| cidr | M | 1 | String | Subnet cidr | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| ipVersion | M | 1 | Int | Ip type | +| | | | | | +| | | | | 4,6 | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| enableDhcp | O | 1 | boolean | Whether to allow | +| | | | | | +| | | | | 1: yes;0: no | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| gatewayIp | O | 1 | String | Gateway ip | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| dnsNameservers | O | 1..n | List of servers | List of servers | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| hostRoutes | O | 1..n | List of routes | List of routes | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| allocationPools | O | 1..n | list of “allocation” | list of allocation | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| -->allocation | | | | | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| -->start | O | 1 | String | Start ip | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| -->end | O | 1 | String | End ip | ++-------------------+-----------------+-------------------+------------------------+----------------------+ + +202: accepted + +500: failed + +{ + +“status”:” ACTIVE” + +“id”:” d62019d3-bc6e-4319-9c1d-6722fc136a23” + +“tenant”: “tenant1”, + +“network\_id”:“d32019d3-bc6e-4319-9c1d-6722fc136a22”, + +“name”: “subnet1”, + +“cidr”: “10.43.35.0/24”, + +“ipVersion”: 4, + +“enableDhcp”: 1, + +“gatewayIp”: “10.43.35.1”, + +“dnsNameservers”: [], + +“allocationPools”:[{ + +“start”: “192.168.199.2”, + +“end”: “192.168.199.254” + +}], + +“hostRoutes”: [] + +} + +1. \ **Virtual Port** + + 1. \ **Create Virtual Port** + ++---------------------+------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+==============================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/ports | ++---------------------+------------------------------------------------------------------------------+ +| Operation | POST | ++---------------------+------------------------------------------------------------------------------+ +| Direction | VNFLCM->MULTIVIM | ++---------------------+------------------------------------------------------------------------------+ + +1. \ **Request** + ++------------------------+-----------------+-------------------+---------------+-------------------------------------------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++========================+=================+===================+===============+=======================================================+ +| networkId | M | 1 | string | Network UUID | ++------------------------+-----------------+-------------------+---------------+-------------------------------------------------------+ +| subnetId | O | 1 | string | Subnet UUID | ++------------------------+-----------------+-------------------+---------------+-------------------------------------------------------+ +| name | M | 1 | string | Port name | ++------------------------+-----------------+-------------------+---------------+-------------------------------------------------------+ +| macAddress | O | 1 | string | Mac address | ++------------------------+-----------------+-------------------+---------------+-------------------------------------------------------+ +| ip | O | 1 | string | Ip address | ++------------------------+-----------------+-------------------+---------------+-------------------------------------------------------+ +| vnicType | O | 1 | string | Virtual network card type, | +| | | | | | +| | | | | the value of three kinds of normal/direct/macvtap | ++------------------------+-----------------+-------------------+---------------+-------------------------------------------------------+ +| \ **securityGroups** | **O** | **1** | **string** | **The IDs of security groups applied to the port.** | ++------------------------+-----------------+-------------------+---------------+-------------------------------------------------------+ + +1. \ **Response** + ++----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++======================+=================+===================+===============+=====================================================+ +| returnCode | M | 1 | int | 0: Already exist 1: Newly created | ++----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| vimId | M | 1 | String | vim id | ++----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| vimName | O | 1 | string | vim name | ++----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| status | M | 1 | string | status | ++----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| id | M | 1 | string | Port Id | ++----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| name | M | 1 | string | Port name | ++----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| tenantId | M | 1 | String | Tenant UUID | ++----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| networkName | M | 1 | string | Network name | ++----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| networkId | M | 1 | string | Network Id | ++----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| subnetName | M | 1 | string | Subnet name | ++----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| subnetId | M | 1 | string | SubnetId | ++----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| macAddress | O | 1 | string | Mac address | ++----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| ip | O | 1 | string | Ip address | ++----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| vnicType | O | 1 | string | Virtual network card type, | +| | | | | | +| | | | | the value of three kinds of normal/direct/macvtap | ++----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| **securityGroups** | **O** | **1** | **string** | **List of security group names.** | ++----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ + +1. \ **Delete Virtual Port** + ++---------------------+---------------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+=======================================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/ports/{portid} | ++---------------------+---------------------------------------------------------------------------------------+ +| Operation | DELETTE | ++---------------------+---------------------------------------------------------------------------------------+ +| Direction | VNFLCM->MULTIVIM | ++---------------------+---------------------------------------------------------------------------------------+ + +1. \ **Request** + +N/A + +1. \ **Response** + +204: no content + +1. \ **List Virtual Port** + ++---------------------+-----------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+=============================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/tenantid}/ports | ++---------------------+-----------------------------------------------------------------------------+ +| Operation | GET | ++---------------------+-----------------------------------------------------------------------------+ +| Direction | VNFLCM->MULTIVIM | ++---------------------+-----------------------------------------------------------------------------+ + +1. \ **Query** + ++-----------------+-----------------+-------------------+---------------+-------------------------------------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++=================+=================+===================+===============+=================================================+ +| name | M | 1 | string | Port name to filter out list of virtual ports | ++-----------------+-----------------+-------------------+---------------+-------------------------------------------------+ + +1. \ **Response** + ++-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++===================+=================+===================+===============+=====================================================+ +| vimId | M | 1 | String | vim id | ++-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| vimName | O | 1 | string | vim name | ++-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| tenantId | M | 1 | String | Tenant UUID | ++-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| Ports | M | 0..N | List | ports | ++-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| id | M | 1 | string | Port Id | ++-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| name | M | 1 | string | Port name | ++-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| status | M | 1 | string | status | ++-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| **networkName** | O | 1 | string | Network name | ++-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| networkId | M | 1 | string | Network Id | ++-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| subnetName | O | 1 | string | Subnet name | ++-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| subnetId | M | 1 | string | SubnetId | ++-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| macAddress | O | 1 | string | Mac address | ++-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| ip | O | 1 | string | Ip address | ++-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| vnicType | O | 1 | string | Virtual network card type, | +| | | | | | +| | | | | the value of three kinds of normal/direct/macvtap | ++-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| securityGroups | O | 1 | string | List of security group names. | ++-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ + +**200: ok** + +**500: failed** + +{ + +} + +1. \ **Get Virtual Port** + ++---------------------+---------------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+=======================================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/ports/{portid} | ++---------------------+---------------------------------------------------------------------------------------+ +| Operation | GET | ++---------------------+---------------------------------------------------------------------------------------+ +| Direction | VNFLCM->MULTIVIM | ++---------------------+---------------------------------------------------------------------------------------+ + +1. \ **Request** + +N/A + +1. \ **Response** + ++------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++==================+=================+===================+===============+=====================================================+ +| vimId | M | 1 | String | vim id | ++------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| vimName | O | 1 | string | vim name | ++------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| status | M | 1 | string | status | ++------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| id | M | 1 | string | Port Id | ++------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| name | M | 1 | string | Port name | ++------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| tenantId | M | 1 | String | Tenant UUID | ++------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| networkName | M | 1 | string | Network name | ++------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| networkId | M | 1 | string | Network Id | ++------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| subnetName | M | 1 | string | Subnet name | ++------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| subnetId | M | 1 | string | SubnetId | ++------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| macAddress | O | 1 | string | Mac address | ++------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| ip | O | 1 | string | Ip address | ++------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| vnicType | O | 1 | string | Virtual network card type, | +| | | | | | +| | | | | the value of three kinds of normal/direct/macvtap | ++------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| securityGroups | O | 1 | string | **List of security group names.** | ++------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ + +**200: ok** + +**500: failed** + +{ + +} + +1. \ **Server Management** + + 1. \ **Create Server** + ++---------------------+--------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+================================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/servers | ++---------------------+--------------------------------------------------------------------------------+ +| Operation | POST | ++---------------------+--------------------------------------------------------------------------------+ +| Direction | VNFLCM->MULTIVIM | ++---------------------+--------------------------------------------------------------------------------+ + +1. \ **Request** + ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++======================+=================+===================+=======================================+========================================================================================================================================================================================+ +| name | M | 1 | string | server name | ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| boot | M | 1 | String | Start parameters | ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| nicArray | O | 1..n | List of nic | List of nic | ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| contextArray | O | 1..n | list of context | list of context | ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| volumeArray | O | 1..n | list of volume | list of volume | ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| availabilityZone | O | 1 | string | Usable field | ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| flavorId | M | 1 | String | server Flavor id | ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| metadata | O | 1 | List of metadata | Metadata key and value pairs. The maximum size of the metadata key and value is 255 bytes each. | ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| userdata | O | 1 | string | Configuration information or scripts to use upon launch. Must be Base64 encoded. | +| | | | | | +| | | | | NOTE: The ‘null’ value allowed in Nova legacy v2 API, but due to the strict input validation, it isn’t allowed in Nova v2.1 API. | ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| **securityGroups** | **O** | **1** | **List of names of security group** | **One or more security groups. Specify the name of the security group in the name attribute. If you omit this attribute, the API creates the server in the default security group.** | ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| **serverGroup** | **O** | **1** | **string** | the ServerGroup for anti-affinity and affinity | ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +**boot** + ++-----------------+-----------------+-------------------+---------------+---------------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++=================+=================+===================+===============+===========================+ +| type | M | 1 | int | Startup mode | +| | | | | | +| | | | | 1. boot from the volume | +| | | | | | +| | | | | 2. boot from image | ++-----------------+-----------------+-------------------+---------------+---------------------------+ +| volumeId | O | 1 | string | Volume Id(type=1) | ++-----------------+-----------------+-------------------+---------------+---------------------------+ +| imageId | O | 1 | String | ImageId(type=2) | ++-----------------+-----------------+-------------------+---------------+---------------------------+ + +**contextArray** + ++-----------------+-----------------+-------------------+---------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++=================+=================+===================+===============+===========================================================================================================================================================+ +| fileName | M | 1 | String | Injection file name | ++-----------------+-----------------+-------------------+---------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+ +| fileData | M | 1 | string | Injection file content (injection file content inside the <mac>$MAC\_1</mac> $MAC\_1 need to be replaced by the MAC address, of which 1 is NIC index. ) | ++-----------------+-----------------+-------------------+---------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+ + +volumeArray + ++-----------------+-----------------+-------------------+---------------+-------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++=================+=================+===================+===============+===================+ +| volumeId | M | 1 | String | Volume Id | ++-----------------+-----------------+-------------------+---------------+-------------------+ + +nicArray + ++-----------------+-----------------+-------------------+---------------+-------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++=================+=================+===================+===============+===================+ +| portId | M | 1 | String | Port Id | ++-----------------+-----------------+-------------------+---------------+-------------------+ + +**metadata** + ++-----------------+-----------------+-------------------+---------------+-------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++=================+=================+===================+===============+===================+ +| keyName | M | 1 | String | Key name | ++-----------------+-----------------+-------------------+---------------+-------------------+ +| value | M | 1 | string | value | ++-----------------+-----------------+-------------------+---------------+-------------------+ + +{ + +"tenant": "tenant1", + +"name": "vm1", + +“availabilityZone”:”az1”, + +“flavorName”:”vm\_large”, + +"boot": { + +"type": 1, + +" volumeName": "volume1" + +}, + +“flavorId”:”vm\_large\_134213” + +"contextArray": [{ + +"fileName": "test.yaml", + +"fileData": "….” + +}], + +"volumeArray": [{ + +"volumeName": "vol1", + +}], + +“nicArray”:[{ + + “portId”:”port\_a” + +}] + +“metada”: [{ + +"keyName": "foo", + +"value": "foo value” + +}], + +“userdata”:”abcdedf” + +} + +1. \ **Response** + ++----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++======================+=================+===================+======================================+========================================================================================================================================================================================+ +| vimId | M | 1 | String | vim id | ++----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| vimName | O | 1 | string | vim name | ++----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| returnCode | | 1 | int | 0: Already exist 1: Newly created | ++----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| id | M | 1 | string | server id | ++----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| name | | 1 | string | server name | ++----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| tenantId | M | 1 | String | Tenant UUID | ++----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| boot | M | 1 | String | Start parameters | ++----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| nicArray | O | 1..n | List of nic | List of nic | ++----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| volumeArray | O | 1..n | list of volume | list of volume | ++----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| availabilityZone | O | 1 | string | Usable field | ++----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| flavorId | M | 1 | String | server Flavor | ++----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| metadata | O | 1 | List of metadata | Metadata key and value pairs. The maximum size of the metadata key and value is 255 bytes each. | ++----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| **securityGroups** | **O** | **1** | **List of name of security group** | **One or more security groups. Specify the name of the security group in the name attribute. If you omit this attribute, the API creates the server in the default security group.** | +| | | | | | +| | | | | **[TBD]** | ++----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| **serverGroup** | **O** | **1** | **string** | the ServerGroup for anti-affinity and affinity | +| | | | | | +| | | | | [TBD] | ++----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| **status** | **M** | **1** | **string** | Server status, 0:INACTIVE,1:ACTIVE,2:ERROR | ++----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +202: accepted + +500: failed + +{ + +"id": "3c9eebdbbfd345658269340b9ea6fb73", + +"name": "vm1", + +"returnCode": 1, + +} + +1. \ **Delete Server** + ++---------------------+-------------------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+===========================================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/servers/{serverid} | ++---------------------+-------------------------------------------------------------------------------------------+ +| Operation | DELETE | ++---------------------+-------------------------------------------------------------------------------------------+ +| Direction | NFLCM,NSLCM->MULTIVIM | ++---------------------+-------------------------------------------------------------------------------------------+ + +1. \ **Request** + +N/A + +1. \ **Response** + +204: no content + +1. \ **List Server** + ++---------------------+--------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+================================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/servers | ++---------------------+--------------------------------------------------------------------------------+ +| Operation | get | ++---------------------+--------------------------------------------------------------------------------+ +| Direction | NFLCM,NSLCM->MULTIVIM | ++---------------------+--------------------------------------------------------------------------------+ + +1. \ **Request** + +msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/vms?{……} + ++-----------------+-----------------+-------------------+---------------+-------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++=================+=================+===================+===============+===================+ +| name | M | 1 | string | server name | ++-----------------+-----------------+-------------------+---------------+-------------------+ + +1. \ **Response** + ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++======================+=================+===================+=======================================+========================================================================================================================================================================================+ +| vimId | M | 1 | String | vim id | ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| vimName | O | 1 | string | vim name | ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| servers | M | 1 | array | server list | ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| id | M | 1 | string | server id | ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| name | M | 1 | string | server name | ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| tenantId | M | 1 | String | Tenant UUID | ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| boot | M | 1 | String | Start parameters | ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| nicArray | O | 1..n | List of nic | List of nic | ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| volumeArray | O | 1..n | list of volume | list of volume | ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| availabilityZone | O | 1 | string | Usable field | ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| flavorId | M | 1 | String | server Flavor | ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| metada | O | 1 | keypair | Metadata key and value pairs. The maximum size of the metadata key and value is 255 bytes each. | ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| **securityGroups** | **O** | **1** | **List of names of security group** | **One or more security groups. Specify the name of the security group in the name attribute. If you omit this attribute, the API creates the server in the default security group.** | +| | | | | | +| | | | | **[TBD]** | ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| **serverGroup** | **O** | **1** | **string** | the ServerGroup for anti-affinity and affinity | +| | | | | | +| | | | | [TBD] | ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +200: ok + +500: failed + +{ + +} + +1. \ **Get Server** + ++---------------------+-------------------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+===========================================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/servers/{serverid} | ++---------------------+-------------------------------------------------------------------------------------------+ +| Operation | get | ++---------------------+-------------------------------------------------------------------------------------------+ +| Direction | NFLCM,NSLCM->MULTIVIM | ++---------------------+-------------------------------------------------------------------------------------------+ + +1. \ **Request** + +N/A + +1. \ **Response** + ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++======================+=================+===================+=======================================+========================================================================================================================================================================================+ +| vimId | M | 1 | String | vim id | ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| vimName | O | 1 | string | vim name | ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| id | M | 1 | string | server id | ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| name | M | 1 | string | server name | ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| tenantId | M | 1 | String | Tenant UUID | ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| boot | M | 1 | String | Start parameters | ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| nicArray | O | 1..n | List of nic | List of nic | ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| volumeArray | O | 1..n | list of volume | list of volume | ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| availabilityZone | O | 1 | string | Usable field | ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| flavorId | M | 1 | String | server Flavor | ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| metadata | O | 1 | List of metadata | Metadata key and value pairs. The maximum size of the metadata key and value is 255 bytes each. | ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| **securityGroups** | **O** | **1** | **List of names of security group** | **One or more security groups. Specify the name of the security group in the name attribute. If you omit this attribute, the API creates the server in the default security group.** | +| | | | | | +| | | | | **[TBD]** | ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| **serverGroup** | **O** | **1** | **string** | the ServerGroup for anti-affinity and affinity | +| | | | | | +| | | | | [TBD] | ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +200: ok + +500: failed + +{ + +} + +1. \ **Flavor Management** + + 1. \ **Create Flavor** + ++---------------------+--------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+================================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/flavors | ++---------------------+--------------------------------------------------------------------------------+ +| Operation | POST | ++---------------------+--------------------------------------------------------------------------------+ +| Direction | VNFLCM->MULTIVIM | ++---------------------+--------------------------------------------------------------------------------+ + +1. \ **Request** + ++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++=================+=================+===================+===============================+==============================================================================================================================+ +| name | M | 1 | string | Flavor Name | ++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| vcpu | M | 1 | int | Virtual CPU number | ++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| memory | M | 1 | int | Memory size | ++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| disk | M | 1 | int | The size of the root disk | ++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| ephemeral | O | 1 | int | The size of the ephemeral disk | ++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| swap | O | 1 | int | The size of the swap disk | ++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| isPublic | O | 1 | boolean | Whether the flavor is public (available to all projects) or scoped to a set of projects. Default is True if not specified. | ++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| extraSpecs | O | 0..N | List of keyname-value pairs | EPA parameter | ++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ + +1. \ **Response** + ++-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++=================+=================+===================+===========================+==============================================================================================================================+ +| id | M | 1 | string | Flavor id | ++-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| name | M | 1 | string | Flavor name | ++-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| returnCode | M | 1 | int | 0: Already exist 1: Newly created | ++-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| tenantId | M | 1 | String | Tenant UUID | ++-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| vcpu | M | 1 | int | Virtual CPU number | ++-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| memory | M | 1 | int | Memory size | ++-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| disk | M | 1 | int | The size of the root disk | ++-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| ephemeral | M | 1 | int | The size of the ephemeral disk | ++-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| swap | M | 1 | int | The size of the swap disk | ++-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| isPublic | M | 1 | boolean | Whether the flavor is public (available to all projects) or scoped to a set of projects. Default is True if not specified. | ++-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| extraSpecs | O | 0..N | List of Key-value pairs | EPA parameter | ++-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| vimId | M | 1 | String | vim id | ++-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| vimName | O | 1 | string | vim name | ++-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+ + +1. \ **Delete Flavor** + ++---------------------+--------------------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+============================================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/flavors /{flavorid} | ++---------------------+--------------------------------------------------------------------------------------------+ +| Operation | DELETE | ++---------------------+--------------------------------------------------------------------------------------------+ +| Direction | NFLCM,NSLCM->MULTIVIM | ++---------------------+--------------------------------------------------------------------------------------------+ + +1. \ **Request** + +N/A + +1. \ **Response** + +204: no content + +1. \ **List Flavor** + ++---------------------+---------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+=================================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/ flavors | ++---------------------+---------------------------------------------------------------------------------+ +| Operation | get | ++---------------------+---------------------------------------------------------------------------------+ +| Direction | NFLCM,NSLCM->MULTIVIM | ++---------------------+---------------------------------------------------------------------------------+ + +1. \ **Query** + ++-----------------+-----------------+-------------------+---------------+----------------------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++=================+=================+===================+===============+==================================+ +| name | M | 1 | string | Flavor name to filter out list | ++-----------------+-----------------+-------------------+---------------+----------------------------------+ + +1. \ **Response** + ++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++=================+=================+===================+===============================+==============================================================================================================================+ +| flavors | M | 0..N | list | Vm list | ++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| id | M | 1 | string | Flavor id | ++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| name | M | 1 | string | Flavor Name | ++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| vcpu | M | 1 | int | Virtual CPU number | ++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| memory | M | 1 | int | Memory size | ++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| disk | M | 1 | int | The size of the root disk | ++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| ephemeral | M | 1 | int | The size of the ephemeral disk | ++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| swap | M | 1 | int | The size of the swap disk | ++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| isPublic | M | 1 | boolean | Whether the flavor is public (available to all projects) or scoped to a set of projects. Default is True if not specified. | ++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| extraSpecs | O | 0..N | List of keyname-value pairs | EPA parameter | ++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| vimId | M | 1 | String | vim id | ++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| vimName | O | 1 | string | vim name | ++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| tenantId | M | 1 | String | Tenant UUID | ++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ + +200: ok + +500: failed + +1. \ **Get Flavor** + ++---------------------+----------------------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+==============================================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/flavors/{ flavorsid } | ++---------------------+----------------------------------------------------------------------------------------------+ +| Operation | get | ++---------------------+----------------------------------------------------------------------------------------------+ +| Direction | NFLCM,NSLCM->MULTIVIM | ++---------------------+----------------------------------------------------------------------------------------------+ + +1. \ **Request** + +N/A + +1. \ **Response** + ++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++=================+=================+===================+===============================+==============================================================================================================================+ +| id | M | 1 | string | Flavor id | ++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| name | M | 1 | string | Flavor Name | ++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| vcpu | M | 1 | int | Virtual CPU number | ++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| memory | M | 1 | int | Memory size | ++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| disk | M | 1 | int | The size of the root disk | ++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| ephemeral | M | 1 | int | The size of the ephemeral disk | ++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| swap | M | 1 | int | The size of the swap disk | ++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| isPublic | M | 1 | boolean | Whether the flavor is public (available to all projects) or scoped to a set of projects. Default is True if not specified. | ++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| extraSpecs | O | 0..N | List of keyname-value pairs | EPA parameter | ++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| vimId | M | 1 | String | vim id | ++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| vimName | O | 1 | string | vim name | ++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| tenantId | M | 1 | String | Tenant UUID | ++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ + +200: ok + +500: failed + +1. \ **Volume Management** + + 1. \ **Create Volume** + ++---------------------+--------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+================================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/volumes | ++---------------------+--------------------------------------------------------------------------------+ +| Operation | POST | ++---------------------+--------------------------------------------------------------------------------+ +| Direction | NSLCM->MULTIVIM | ++---------------------+--------------------------------------------------------------------------------+ + +1. \ **Request** + ++--------------------+-----------------+-------------------+---------------+-------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++====================+=================+===================+===============+===================+ +| name | M | 1 | string | Volume name | ++--------------------+-----------------+-------------------+---------------+-------------------+ +| volumeSize | M | 1 | int | Volume size | ++--------------------+-----------------+-------------------+---------------+-------------------+ +| imageId | O | 1 | string | Image UUID | ++--------------------+-----------------+-------------------+---------------+-------------------+ +| volumeType | O | 1 | string | Volume type | ++--------------------+-----------------+-------------------+---------------+-------------------+ +| availabilityZone | O | 1 | string | Usable field | ++--------------------+-----------------+-------------------+---------------+-------------------+ + + { + + "tenant": "tenant1", + + "volumeName": "volume1", + + "volumeSize": 3, + + "imageName": "cirros.qcow2", + + "volumeType": "volumetype1", + + "availabilityZone": "zone1" + + } + +1. \ **Response** + ++--------------------+-----------------+-------------------+---------------+-------------------------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++====================+=================+===================+===============+=====================================+ +| returnCode | M | 1 | int | 0: Already exist 1: Newly created | ++--------------------+-----------------+-------------------+---------------+-------------------------------------+ +| vimId | M | 1 | String | vim id | ++--------------------+-----------------+-------------------+---------------+-------------------------------------+ +| vimName | O | 1 | string | vim name | ++--------------------+-----------------+-------------------+---------------+-------------------------------------+ +| tenantId | M | 1 | String | Tenant UUID | ++--------------------+-----------------+-------------------+---------------+-------------------------------------+ +| status | M | 1 | string | Volume status | ++--------------------+-----------------+-------------------+---------------+-------------------------------------+ +| id | M | 1 | string | Volume id | ++--------------------+-----------------+-------------------+---------------+-------------------------------------+ +| name | M | 1 | string | Volume name | ++--------------------+-----------------+-------------------+---------------+-------------------------------------+ +| volumeType | O | 1 | string | Volume type | ++--------------------+-----------------+-------------------+---------------+-------------------------------------+ +| availabilityZone | O | 1 | string | Availability Zone | ++--------------------+-----------------+-------------------+---------------+-------------------------------------+ + +202: accepted + +500: failed + + { + + "id": "bc9eebdbbfd356458269340b9ea6fb73", + + "name": "volume1", + + "returnCode": 1, + + } + +1. \ **Delete Volume** + ++---------------------+-------------------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+===========================================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/volumes/{volumeId} | ++---------------------+-------------------------------------------------------------------------------------------+ +| Operation | DELETE | ++---------------------+-------------------------------------------------------------------------------------------+ +| Direction | NSLCM->MULTIVIM | ++---------------------+-------------------------------------------------------------------------------------------+ + +1. \ **Request** + + N/A + +1. \ **Response** + + 204: no content + +1. \ **List Volumes** + ++---------------------+--------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+================================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/volumes | ++---------------------+--------------------------------------------------------------------------------+ +| Operation | GET | ++---------------------+--------------------------------------------------------------------------------+ +| Direction | NSLCM-> MULTIVIM | ++---------------------+--------------------------------------------------------------------------------+ + +1. \ **Request** + + msb.onap.org:80/api/multicloud/v0/{cloud + owner}\_{region}/volumes?{……} + ++-----------------+-----------------+-------------------+---------------+-------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++=================+=================+===================+===============+===================+ +| name | M | 1 | string | Volume name | ++-----------------+-----------------+-------------------+---------------+-------------------+ + +1. \ **Response** + ++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++====================+=================+===================+======================+====================================================+ +| vimId | M | 1 | String | vim id | ++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ +| vimName | O | 1 | string | vim name | ++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ +| tenantId | M | 1 | String | Tenant UUID | ++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ +| volumes | M | 1 | Array | | ++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ +| id | M | 1 | string | Volume id | ++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ +| name | M | 1 | string | Volume name | ++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ +| createTime | O | 1 | string | Create time | ++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ +| status | M | 1 | string | Volume status | ++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ +| volumeSize | M | 1 | int | Volume size | ++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ +| volumeType | M | 1 | string | Volume type | ++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ +| availabilityZone | M | 1 | string | Availability Zone | ++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ +| attachments | M | 1..n | list of attachment | List of additional information on the cloud disk | ++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ + +200: ok + +500: failed + + { + + "volumes": [ + + { + + "status": "available", + + "name": "test", + + "attachments": [], + + "createTime": "2015-12-02T07:57:23.000000", + + " volumeType ": "ws", + + "id": "91b39ebb-acdc-43f3-9c2e-b0da7ad0fd55", + + "size": 20 + + }, + + { + + "status": "in-use", + + "name": "wangsong", + + "attachments": [ + + { + + "device": "/dev/vdc", + + "serverId": "3030e666-528e-4954-88f5-cc21dab1262b", + + "volumeId": "4bd3e9eb-cd8b-456a-8589-910836a0ab31", + + "hostName": null, + + "id": "4bd3e9eb-cd8b-456a-8589-910836a0ab31" + + } + + ], + + "createTime": "2015-12-02T06:39:40.000000", + + " volumeType ": null, + + "id": "4bd3e9eb-cd8b-456a-8589-910836a0ab31", + + "size": 40 + + } + + ] + + } + +1. \ **Get Volumes** + ++---------------------+-------------------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+===========================================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/volumes/{volumeid} | ++---------------------+-------------------------------------------------------------------------------------------+ +| Operation | GET | ++---------------------+-------------------------------------------------------------------------------------------+ +| Direction | NSLCM-> MULTIVIM | ++---------------------+-------------------------------------------------------------------------------------------+ + +1. \ **Request** + + N/A + +1. \ **Response** + ++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++====================+=================+===================+======================+====================================================+ +| vimId | M | 1 | String | vim id | ++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ +| vimName | O | 1 | string | vim name | ++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ +| tenantId | M | 1 | String | Tenant UUID | ++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ +| id | | 1 | string | Volume id | ++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ +| name | | 1 | string | Volume name | ++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ +| createTime | | 1 | string | Create time | ++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ +| status | | 1 | string | Volume status | ++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ +| volumeType | | 1 | list of string | Volume type | ++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ +| volumeSize | | 1 | int | Volume size | ++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ +| availabilityZone | M | 1 | string | Availability Zone | ++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ +| attachments | M | 1..n | list of attachment | List of additional information on the cloud disk | ++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ + +**attachment:** + ++-----------------+-----------------+-------------------+---------------+-------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++=================+=================+===================+===============+===================+ +| device | | 1 | string | Device name | ++-----------------+-----------------+-------------------+---------------+-------------------+ +| serverId | | 1 | string | VM id | ++-----------------+-----------------+-------------------+---------------+-------------------+ +| volumeId | | 1 | string | Volume id | ++-----------------+-----------------+-------------------+---------------+-------------------+ +| hostName | | 1 | string | Host name | ++-----------------+-----------------+-------------------+---------------+-------------------+ +| id | | 1 | string | Device id | ++-----------------+-----------------+-------------------+---------------+-------------------+ + +200: ok + +500: failed + + { + + "status": "in-use", + + "name": "wangsong", + + "attachments": [ + + { + + "device": "/dev/vdc", + + "serverId": "3030e666-528e-4954-88f5-cc21dab1262b", + + "volumeId": "4bd3e9eb-cd8b-456a-8589-910836a0ab31", + + "hostName": null, + + "id": "4bd3e9eb-cd8b-456a-8589-910836a0ab31" + + } + + ], + + "createTime": "2015-12-02T06:39:40.000000", + + "volumeType ": null, + + "id": "4bd3e9eb-cd8b-456a-8589-910836a0ab31", + + "volumeSize ": 40 + + } + +1. \ **Tenant Management** + + 1. \ **List tenants** + ++---------------------+---------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+=====================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/tenants | ++---------------------+---------------------------------------------------------------------+ +| Operation | GET | ++---------------------+---------------------------------------------------------------------+ +| Direction | NSLCM-> MULTIVIM | ++---------------------+---------------------------------------------------------------------+ + +1. \ **Query** + ++---------------------+-----------------+-------------------+---------------+-------------------------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++=====================+=================+===================+===============+=====================================+ +| name={tenantname} | O | 1 | string | Tenant name to filter output list | ++---------------------+-----------------+-------------------+---------------+-------------------------------------+ + +1. \ **Response** + ++-----------------+-----------------+-------------------+---------------+-------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++=================+=================+===================+===============+===================+ +| vimId | M | 1 | String | vim id | ++-----------------+-----------------+-------------------+---------------+-------------------+ +| vimName | O | 1 | string | vim name | ++-----------------+-----------------+-------------------+---------------+-------------------+ +| tenants | M | 1 | Array | | ++-----------------+-----------------+-------------------+---------------+-------------------+ +| id | M | 1 | string | tenant UUID | ++-----------------+-----------------+-------------------+---------------+-------------------+ +| name | M | 1 | string | tenant name | ++-----------------+-----------------+-------------------+---------------+-------------------+ + +200: ok + +500: failed + + { + + " tenants ": [ + + { + + "id": "1", + + "name": "test\_a" + + } + + ] + + } + +1. \ **Limits** + + 1. \ **List Limits of resouces: CPU&Memory, volume,network,etc** + ++---------------------+-------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+===============================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/limits | ++---------------------+-------------------------------------------------------------------------------+ +| Operation | GET | ++---------------------+-------------------------------------------------------------------------------+ +| Direction | NSLCM-> MULTIVIM | ++---------------------+-------------------------------------------------------------------------------+ + +1. \ **Request** + +2. \ **Response** + ++---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++===========================+=================+===================+===============+==================================================================+ +| vimId | M | 1 | String | vim id | ++---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ +| vimName | O | 1 | string | vim name | ++---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ +| tenantId | M | 1 | string | Tenant UUID | ++---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ +| maxPersonality | O | 1 | int | The number of allowed injected files for each tenant. | ++---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ +| maxPersonalitySize | O | 1 | int | The number of allowed bytes of content for each injected file. | ++---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ +| maxServerGroupMembers | O | 1 | int | The number of allowed members for each server group. | ++---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ +| maxServerGroups | O | 1 | int | The number of allowed server groups for each tenant. | ++---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ +| maxServerMeta | O | 1 | int | The number of allowed metadata items for each instance. | ++---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ +| maxTotalCores | O | 1 | int | The number of allowed instance cores for each tenant. | ++---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ +| maxTotalInstances | O | 1 | int | The number of allowed instances for each tenant. | ++---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ +| maxTotalKeypairs | O | 1 | int | The number of allowed key pairs for each user. | ++---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ +| maxTotalRAMSize | O | 1 | int | The amount of allowed instance RAM, in MB, for each tenant. | ++---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ +| maxTotalVolumeGigabytes | O | 1 | int | The maximum total amount of volumes, in gibibytes (GiB). | ++---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ +| maxTotalVolumes | O | 1 | int | The maximum number of volumes. | ++---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ +| totalVolumesUsed | O | 1 | int | The total number of volumes used. | ++---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ +| totalGigabytesUsed | O | 1 | int | The total number of gibibytes (GiB) used. | ++---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ +| network | O | 1 | int | The number of networks allowed for each project. | ++---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ +| subnet | O | 1 | int | The number of subnets allowed for each project. | ++---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ +| subnetpool | O | 1 | int | The number of subnet pools allowed for each project. | ++---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ +| security\_group\_rule | O | 1 | int | The number of security group rules allowed for each project. | ++---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ +| security\_group | O | 1 | int | The number of security groups allowed for each project. | ++---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ +| router | O | 1 | int | The number of routers allowed for each project. | ++---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ +| port | O | 1 | int | The number of ports allowed for each project. | ++---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ + +200: ok + +500: failed + + { + + "maxPersonality": 5, + + "maxPersonalitySize": 10240, + + "maxServerMeta": 128, + + "maxTotalCores": 20, + + "maxTotalInstances": 10, + + "maxTotalKeypairs": 100, + + "maxTotalRAMSize": 51200, + + "maxServerGroups": 10, + + "maxServerGroupMembers": 10, + + } + +1. \ **Host Management** + + 1. \ **List hosts** + ++---------------------+------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+==============================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/hosts | ++---------------------+------------------------------------------------------------------------------+ +| Operation | GET | ++---------------------+------------------------------------------------------------------------------+ +| Direction | NSLCM-> MULTIVIM | ++---------------------+------------------------------------------------------------------------------+ + +1. \ **Request** + +2. \ **Response** + ++-----------------+-----------------+-------------------+-----------------+-----------------------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++=================+=================+===================+=================+===================================+ +| vimId | M | 1 | String | vim id | ++-----------------+-----------------+-------------------+-----------------+-----------------------------------+ +| vimName | O | 1 | string | vim name | ++-----------------+-----------------+-------------------+-----------------+-----------------------------------+ +| tenantId | M | 1 | string | Tenant Name | ++-----------------+-----------------+-------------------+-----------------+-----------------------------------+ +| hosts | M | 1 | Array of host | List of host information | ++-----------------+-----------------+-------------------+-----------------+-----------------------------------+ +| service | M | 1 | string | The service running on the host | ++-----------------+-----------------+-------------------+-----------------+-----------------------------------+ +| name | M | 1 | string | host name | ++-----------------+-----------------+-------------------+-----------------+-----------------------------------+ +| zone | O | 1 | string | Available zone for the host | ++-----------------+-----------------+-------------------+-----------------+-----------------------------------+ + +200: ok + +500: failed + + { + + "vimId": "123", + + "vimName": "vimName", + + "tenantId": "tenantId1" + + "hosts": [ + + { + + "name": "b6e4adbc193d428ea923899d07fb001e", + + "service": "conductor", + + "zone": "internal", + + "vimId": "123", + + "vimName": "vimName", + + "tenantId": "tenantId1" + + }, + + { + + "name": "09c025b0efc64211bd23fc50fa974cdf", + + "service": "compute", + + "zone": "nova" + + "vimId": "123", + + "vimName": "vimName", + + "tenantId": "tenantId1" + + }, + + { + + "name": "e73ec0bd35c64de4a1adfa8b8969a1f6", + + "service": "consoleauth", + + "zone": "internal" + + "vimId": "123", + + "vimName": "vimName", + + "tenantId": "tenantId1" + + }, + + { + + "host\_name": "396a8a0a234f476eb05fb9fbc5802ba7", + + "service": "network", + + "zone": "internal" + + "vimId": "123", + + "vimName": "vimName", + + "tenantId": "tenantId1" + + }, + + { + + "name": "abffda96592c4eacaf4111c28fddee17", + + "service": "scheduler", + + "zone": "internal" + + "vimId": "123", + + "vimName": "vimName", + + "tenantId": "tenantId1" + + } + + ] + + } + +1. \ **Get host** + ++---------------------+-----------------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+=========================================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/hosts/{hostname} | ++---------------------+-----------------------------------------------------------------------------------------+ +| Operation | GET | ++---------------------+-----------------------------------------------------------------------------------------+ +| Direction | NSLCM-> MULTIVIM | ++---------------------+-----------------------------------------------------------------------------------------+ + +1. \ **Request** + +2. \ **Response** + ++-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++=================+=================+===================+=====================+==============================================================+ +| vimId | M | 1 | String | vim id | ++-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+ +| vimName | O | 1 | string | vim name | ++-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+ +| tenantId | M | 1 | string | Tenant Name | ++-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+ +| host | M | 1 | List of resources | Host resource info | ++-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+ +| resource | M | 1..N | Object | Resource description | ++-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+ +| cpu | M | 1 | Int | The cpu info on the host. | ++-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+ +| memory\_mb | M | 1 | int | The memory info on the host (in MB). | ++-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+ +| name | M | 1 | string | host name | ++-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+ +| project | M | 1 | string | Value: total, used\_now, used\_max or specific project\_id | ++-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+ +| disk\_gb | M | 1 | int | The disk info on the host (in GB). | ++-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+ + +200: ok + +500: failed + +{ + +"cpu": 1, + +"disk\_gb": 1028, + +"name": "c1a7de0ac9d94e4baceae031d05caae3", + +"memory\_mb": 8192, + +"vimId": "123", + +"vimName": "vimName", + +"tenantId": "tenantId1" + +} + + { + + "host": [ + + { + + "memory\_mb": 4960, + + "name": " c1a7de0ac9d94e4baceae031d05caae3", + + "disk\_gb": 92, + + "project": "(total)", + + "cpu": 4 + + }, + + { + + "memory\_mb": 1536, + + "name": " c1a7de0ac9d94e4baceae031d05caae3", + + "disk\_gb": 2, + + "project": "(used\_now)", + + "cpu": 2 + + }, + + { + + "memory\_mb": 1024, + + "name": " c1a7de0ac9d94e4baceae031d05caae3", + + "disk\_gb": 2, + + "project": "(used\_max)", + + "cpu": 2 + + }, + + { + + "memory\_mb": 1024, + + "name": " c1a7de0ac9d94e4baceae031d05caae3", + + "disk\_gb": 2, + + "project": "568f7ec425db472ba348251bf1e7eebd", + + "cpu": 2 + + } + + ], + + "vimName": "openstack\_newton", + + "vimId": "dd5b6da9-5984-401f-b89f-78a9776b1a73", + + "tenantId": "568f7ec425db472ba348251bf1e7eebd" + + } + +1. \ **VIM Management** + + 1. \ **Update VIM Info** + ++---------------------+----------------------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+==============================================================================================+ +| URI | http(s)://[hostname][:port]/onapapi/ multicloud /v1/{cloud-owner}\_{cloud-region}/registry | ++---------------------+----------------------------------------------------------------------------------------------+ +| Operation | POST | ++---------------------+----------------------------------------------------------------------------------------------+ +| Direction | ESR-> MULTICLOUD | ++---------------------+----------------------------------------------------------------------------------------------+ + +1. \ **Request** + ++-----------------+-----------------+-------------------+---------------+-----------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++=================+=================+===================+===============+=======================+ +| defaultTenant | M | 1 | string | default tenant name | ++-----------------+-----------------+-------------------+---------------+-----------------------+ + +1. \ **Response** + +NA + +202: accept + +400: failed + +1. \ **Unregistry VIM** + ++---------------------+-----------------------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+===============================================================================================+ +| URI | http(s)://[hostname][:port]/onapapi/multicloud/v1 /{cloud-owner}\_{cloud-region}/unregistry | ++---------------------+-----------------------------------------------------------------------------------------------+ +| Operation | DELETE | ++---------------------+-----------------------------------------------------------------------------------------------+ +| Direction | ESR-> MULTICLOUD | ++---------------------+-----------------------------------------------------------------------------------------------+ + +1. \ **Request** + +NA + +1. \ **Response** + +NA + +204: No content found + +400: failed diff --git a/docs/user/multivimproxy.txt b/docs/MultiCloud-Deployment-Guide.rst index 5f83de9..77c5a2d 100644 --- a/docs/user/multivimproxy.txt +++ b/docs/MultiCloud-Deployment-Guide.rst @@ -1,4 +1,9 @@ -1 prepare docker environment +================================ +ONAP MultiCloud Deployment Guide +================================ + +prepare docker environment +~~~~~~~~~~~~~~~~~~~~~~~~~~ Please refer to onap deployment in kubernetes website(https://wiki.onap.org/display/DW/ONAP+on+Kubernetes) to setup kubernets cluster. @@ -22,7 +27,8 @@ kube-public Active 10d kube-system Active 10d onap Active 9d -2 startup containers +startup containers +~~~~~~~~~~~~~~~~~~ first run kube2msb container. @@ -101,16 +107,18 @@ No Service Name Version NameSpace Url Protocol Visualrange Control 1 multicloud v0 /api/multicloud/v0 REST InSystem 2 multicloud-vio v0 /api/multicloud-vio/v0 REST InSystem - Then register vio information into AAI service with region name "vmware" and region id "vio" -# cur -X PUT -H "Authorization: Basic QUFJOkFBSQ==" - "Content-Type: application/json" -H "X-TransactionId:get_aai_subcr" + +.. code-block:: console + +# curl -X PUT -H "Authorization: Basic QUFJOkFBSQ==" -H "Content-Type: application/json" -H "X-TransactionId:get_aai_subcr" https://aai_resource_docker_host_ip:30233/aai/v01/cloud-infrastructure/cloud-regions/cloud-region/vmware/vio -d "{ - "cloud-type": "vmware", - "cloud-region-version": "4.0", - "esr-system-info-list": { - "esr-system-info": [ - { + "cloud-type": "vmware", + "cloud-region-version": "4.0", + "esr-system-info-list": { + "esr-system-info": [ + { "esr-system-info-id": "123-456", "system-name": "vim-vio", "system-type": "vim", @@ -121,31 +129,32 @@ https://aai_resource_docker_host_ip:30233/aai/v01/cloud-infrastructure/cloud-reg "cloud-domain": "default", "default-tenant": "admin", "ssl-insecure": false - } - ] - } + } + ] + } }" - - - -3 Test Examples +Test Examples +~~~~~~~~~~~~~ The env HOST_IP is msb-iag service cluster-ip value is "10.43.188.78"(see it above). The vimid is "vmware_vio" the registered name in aai. -2.1 Get auth token +Get auth token +-------------- # send request to multicloud-framework(broker) service to get token +.. code-block:: console + curl -X POST -d @test.json -H 'Content-Type:application/json' http://$HOST_IP/api/multicloud/v0/<vimid>/identity/auth/tokens -test.json content example: +.. code-block:: console +test.json content example: { - "auth": - { + "auth": sudo pip install virtualenv{ "scope": {"project": {"id": “<project-id>”}}, "identity": { @@ -170,77 +179,91 @@ Nova endpoint: http://$HOST_IP/api/multicloud-vio/v0/<vimid>/compute/<user-tenantid> -2.2 List projects +List projects +------------- Use identity’s endpoint: http://$HOST_IP/api/multicloud-vio/v0/<vimid>/identity/ curl -X GET -H 'X-Auth-Token:<token>' http://$HOST_IP/api/multicloud-vio/v0/<vimid>/identity/projects -2.3 Get os Hypervisor +Get os Hypervisor +----------------- Use nova’s endpoint: http://$HOST_IP/api/multicloud-vio/v0/<vimid>/nova/<user-tenantid> -curl -X GET -H 'X-Auth-Token:<token>' http://$HOST_IP/api/multicloud-vio/v0/<vimid>/nova/<tenantid>/os-hypervisors/detail +curl -X GET -H 'X-Auth-Token:<token>' http://$HOST_IP/api/multicloud-vio/v0/<vimid>/nova/<tenantid>/os-hypervisors/detail -2.4 List instance of user’s project +List instance of user’s project +-------------------------------- -curl -X GET -H 'X-Auth-Token:<token>' http://$HOST_IP/api/multicloud-vio/v0/<vimid>/nova/<tenantid>/servers +curl -X GET -H 'X-Auth-Token:<token>' http://$HOST_IP/api/multicloud-vio/v0/<vimid>/nova/<tenantid>/servers -2.5 Show instance detail +Show instance detail +-------------------- you need to input <server-id> in url path. -curl -X GET -H 'X-Auth-Token:<token>' http://$HOST_IP/api/multicloud-vio/v0/vimid/nova/tenantid/servers/<server-id> +.. code-block:: console + $ curl -X GET -H 'X-Auth-Token:<token>' http://$HOST_IP/api/multicloud-vio/v0/vimid/nova/tenantid/servers/<server-id> -2.6 Shutdown instance + +Shutdown instance +----------------- you need to input <server-id> in url path -curl -X POST -d '{"os-stop":null}' -H 'X-Auth-Token:<token>' -H 'Content-Type:application/json' http://$HOST_IP/api/multicloud-vio/v0/<vimid>/nova/<tenantid>/servers/<server-id>/action +.. code-block:: console + + $ curl -X POST -d '{"os-stop":null}' -H 'X-Auth-Token:<token>' -H 'Content-Type:application/json' http://$HOST_IP/api/multicloud-vio/v0/<vimid>/nova/<tenantid>/servers/<server-id>/action -2.7 Start instance +Start instance +-------------- you need to input <server-id> in url path -curl -X POST -d '{"os-start":null}' -H 'X-Auth-Token:<token>' -H 'Content-Type:application/json' http://$HOST_IP/api/multicloud-vio/v0/<vimid>/nova/<tenantid>/servers/<server-id>/action +curl -X POST -d '{"os-start":null}' -H 'X-Auth-Token:<token>' -H 'Content-Type:application/json' http://$HOST_IP/api/multicloud-vio/v0/<vimid>/nova/<tenantid>/servers/<server-id>/action -2.8 Suspend instance +Suspend instance +---------------- you need to input <server-id> in url path -curl -X POST -d '{"suspend":null}' -H 'X-Auth-Token:<token>' -H 'Content-Type:application/json' http://$HOST_IP/api/multicloud-vio/v0/<vimid>/nova/<tenantid>/servers/<server-id>/action +curl -X POST -d '{"suspend":null}' -H 'X-Auth-Token:<token>' -H 'Content-Type:application/json' http://$HOST_IP/api/multicloud-vio/v0/<vimid>/nova/<tenantid>/servers/<server-id>/action -2.9 Resume instance +Resume instance +---------------- you need to input <server-id> in url path curl -X POST -d '{"resume":null}' -H 'X-Auth-Token:<token>' -H 'Content-Type:application/json' http://$HOST_IP/api/multicloud-vio/v0/<vimid>/nova/<tenantid>/servers/<server-id>/action -2.10 Pause instance +Pause instance +-------------- you need to input <server-id> in url path -curl -X POST -d '{"pause":null}' -H 'X-Auth-Token:<token>' -H 'Content-Type:application/json' http://$HOST_IP/api/multicloud-vio/v0/<vimid>/nova/<tenantid>/servers/<server-id>/action - +curl -X POST -d '{"pause":null}' -H 'X-Auth-Token:<token>' -H 'Content-Type:application/json' http://$HOST_IP/api/multicloud-vio/v0/<vimid>/nova/<tenantid>/servers/<server-id>/action -2.11 Unpasue instance +Unpasue instance +---------------- you need to input <server-id> in url path curl -X POST -d '{"unpause":null}' -H 'X-Auth-Token:<token> -H 'Content-Type:application/json' http://$HOST_IP/api/multicloud-vio/v0/<vimid>/nova/<tenantid>/servers/<server-id>/action -2.12 Reboot instance +Reboot instance +--------------- you need to input <server-id> in url path diff --git a/docs/index.rst b/docs/index.rst index 1dd525d..5de5f3e 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -1,8 +1,9 @@ .. This work is licensed under a Creative Commons Attribution 4.0 International License. -APPC Documentation Repository ------------------------------ +MultiCloud Documentation Repository +----------------------------------- .. toctree:: :maxdepth: 2 - user + MultiCloud-Deployment-Guide + MultiCloud-API-Specification-V1 diff --git a/docs/user/test.json b/docs/user/test.json deleted file mode 100644 index cd19378..0000000 --- a/docs/user/test.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "auth": - { - "scope": {"project": {"id": "622b0f38ec9e4ce1ab5c3aad7765d045"}}, - "identity": - { - "password": {"user": {"domain": {"name": "Default"}, "password": "vmware", "name": "admin"}}, "methods": ["password"] - } - } -} |