From c8d753e474dfbe61ac85fe5c9dc974c9b10080fa Mon Sep 17 00:00:00 2001 From: Bin Yang Date: Thu, 1 Nov 2018 12:38:54 +0000 Subject: Refactor the docs Dedicated sections for APIs, User guides, and specs Change-Id: Icf57b4b14d775507b40b65681be2aba9a8e2e62f Issue-ID: MULTICLOUD-309 Signed-off-by: Bin Yang --- docs/MultiCloud-API-Specification-V1.rst | 2690 -------------------- docs/MultiCloud-APIv0-Specification.rst | 2690 ++++++++++++++++++++ docs/MultiCloud-APIv1-Specification.rst | 2 +- docs/MultiCloud-HPA-Deployment-Guide.rst | 211 -- docs/images/mc-windriver/esr-vim-register.png | Bin 0 -> 20158 bytes docs/index.rst | 38 +- ...Provision-Discovery-WindRiver-TitaniumCloud.rst | 68 + .../Tutorial-Onboard-WindRiver-TitaniumCloud.rst | 289 +++ ...VESagent-MultiCloud-WindRiver-TitaniumCloud.rst | 139 + ...serGuide-MultiCloud-WindRiver-TitaniumCloud.rst | 152 ++ 10 files changed, 3371 insertions(+), 2908 deletions(-) delete mode 100644 docs/MultiCloud-API-Specification-V1.rst create mode 100644 docs/MultiCloud-APIv0-Specification.rst delete mode 100644 docs/MultiCloud-HPA-Deployment-Guide.rst create mode 100644 docs/images/mc-windriver/esr-vim-register.png create mode 100644 docs/multicloud-plugin-windriver/Tutorial-HPA-Provision-Discovery-WindRiver-TitaniumCloud.rst create mode 100644 docs/multicloud-plugin-windriver/Tutorial-Onboard-WindRiver-TitaniumCloud.rst create mode 100644 docs/multicloud-plugin-windriver/Tutorial-VESagent-MultiCloud-WindRiver-TitaniumCloud.rst create mode 100644 docs/multicloud-plugin-windriver/UserGuide-MultiCloud-WindRiver-TitaniumCloud.rst (limited to 'docs') diff --git a/docs/MultiCloud-API-Specification-V1.rst b/docs/MultiCloud-API-Specification-V1.rst deleted file mode 100644 index 8283077..0000000 --- a/docs/MultiCloud-API-Specification-V1.rst +++ /dev/null @@ -1,2690 +0,0 @@ -.. - This work is licensed under a Creative Commons Attribution 4.0 - International License. - -================================ -MultiCloud API Specification V1 -================================ - -API Catalog -=========== - -1. **Scope** -^^^^^^^^^^^^ - -The scope of the present document is to describe the VIM Driver API -specification. - -2. **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 | -+--------------------+-------------------------------------------------------------+ - -3. **Image Management** -^^^^^^^^^^^^^^^^^^^^^^^ - -3.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 | -+---------------------+-------------------------------------------------------------------------------+ - -3.1.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" - - } - -3.1.2. **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 - } - -3.2. **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 | -+---------------------+-----------------------------------------------------------------------------------------+ - -3.2.1. **Request** ->>>>>>>>>>>>>>>>>> - -N/A - -3.2.2. **Response** ->>>>>>>>>>>>>>>>>>> - -204: no content - -3.3. **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 | -+---------------------+-------------------------------------------------------------------------------+ - -3.3.1. **Request** ->>>>>>>>>>>>>>>>>> - -+-----------------+-----------------+-------------------+---------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| **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 | -+-----------------+-----------------+-------------------+---------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - -3.3.2. **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" - }] - } - - -3.4. **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 | -+---------------------+-----------------------------------------------------------------------------------------+ - -3.4.1. **Request** ->>>>>>>>>>>>>>>>>> - -N/A - -3.4.2. **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" - } - -4. **Network Management** -^^^^^^^^^^^^^^^^^^^^^^^^^ - -4.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 | -+---------------------+---------------------------------------------------------------------------------+ - -4.1.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 - } - -4.1.2. **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 - } - -4.2. **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 | -+---------------------+---------------------------------------------------------------------------------------------+ - -4.2.1. **Request** ->>>>>>>>>>>>>>>>>> - -N/A - -4.2.2. **Response** ->>>>>>>>>>>>>>>>>>> - -204: no content - -4.3. **List Network** ---------------------- - -+---------------------+---------------------------------------------------------------------------------+ -| **IF Definition** | **Description** | -+=====================+=================================================================================+ -| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/networks | -+---------------------+---------------------------------------------------------------------------------+ -| Operation | get | -+---------------------+---------------------------------------------------------------------------------+ -| Direction | NFLCM,NSLCM->MULTIVIM | -+---------------------+---------------------------------------------------------------------------------+ - -4.3.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 | -+-----------------+-----------------+-------------------+---------------+---------------------------------------------------------------------------------------+ - -4.3.2. **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 - - }] - - } - -4.4. **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 | -+---------------------+---------------------------------------------------------------------------------------------+ - -4.4.1. **Request** ->>>>>>>>>>>>>>>>>> - -N/A - -4.4.2. **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 - - } - -5. **Subnetwork Management** -^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -5.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 | -+---------------------+--------------------------------------------------------------------------------+ - -5.1.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": [] - - } - -5.1.2. **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": [] - - } - -5.2. **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 | -+---------------------+-------------------------------------------------------------------------------------------+ - -5.2.1. **Request** ->>>>>>>>>>>>>>>>>> - -N/A - -5.2.2. **Response** ->>>>>>>>>>>>>>>>>>> - -204: no content - -5.3. **List Subnets** ---------------------- - -+---------------------+--------------------------------------------------------------------------------+ -| **IF Definition** | **Description** | -+=====================+================================================================================+ -| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/subnets | -+---------------------+--------------------------------------------------------------------------------+ -| Operation | get | -+---------------------+--------------------------------------------------------------------------------+ -| Direction | NFLCM,NSLCM->MULTIVIM | -+---------------------+--------------------------------------------------------------------------------+ - -5.3.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 | -+-----------------+-----------------+-------------------+---------------+------------------------------------------------------------------------------------------------+ - -5.3.2. **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": [] - - } - - ] - - } - -5.4. **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 | -+---------------------+-------------------------------------------------------------------------------------------+ - -5.4.1. **Request** ->>>>>>>>>>>>>>>>>> - -N/A - -5.4.2. **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": [] - - } - -6. **Virtual Port** -^^^^^^^^^^^^^^^^^^^ - -6.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 | -+---------------------+------------------------------------------------------------------------------+ - -6.1.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.** | -+------------------------+-----------------+-------------------+---------------+-------------------------------------------------------+ - -6.1.2. **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.** | -+----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ - -6.2. **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 | -+---------------------+---------------------------------------------------------------------------------------+ - -6.2.1. **Request** ->>>>>>>>>>>>>>>>>> - -N/A - -6.2.2. **Response** ->>>>>>>>>>>>>>>>>>> - -204: no content - -6.3. **List Virtual Port** --------------------------- - -+---------------------+-----------------------------------------------------------------------------+ -| **IF Definition** | **Description** | -+=====================+=============================================================================+ -| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/tenantid}/ports | -+---------------------+-----------------------------------------------------------------------------+ -| Operation | GET | -+---------------------+-----------------------------------------------------------------------------+ -| Direction | VNFLCM->MULTIVIM | -+---------------------+-----------------------------------------------------------------------------+ - -6.3.1. **Query** ->>>>>>>>>>>>>>>> - -+-----------------+-----------------+-------------------+---------------+-------------------------------------------------+ -| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | -+=================+=================+===================+===============+=================================================+ -| name | M | 1 | string | Port name to filter out list of virtual ports | -+-----------------+-----------------+-------------------+---------------+-------------------------------------------------+ - -6.3.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 | -+-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ -| 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** - - -6.4. **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 | -+---------------------+---------------------------------------------------------------------------------------+ - -6.4.1. **Request** ->>>>>>>>>>>>>>>>>> - -N/A - -6.4.2. **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** - - -7. **Server Management** -^^^^^^^^^^^^^^^^^^^^^^^^ - -7.1. **Create Server** ----------------------- - -+---------------------+--------------------------------------------------------------------------------+ -| **IF Definition** | **Description** | -+=====================+================================================================================+ -| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/servers | -+---------------------+--------------------------------------------------------------------------------+ -| Operation | POST | -+---------------------+--------------------------------------------------------------------------------+ -| Direction | VNFLCM->MULTIVIM | -+---------------------+--------------------------------------------------------------------------------+ - -7.1.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\_1 $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" - - } - -7.1.2. **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, - - } - -7.2. **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 | -+---------------------+-------------------------------------------------------------------------------------------+ - -7.2.1. **Request** ->>>>>>>>>>>>>>>>>> - -N/A - -7.2.2. **Response** ->>>>>>>>>>>>>>>>>>> - -204: no content - -7.3. **List Server** --------------------- - -+---------------------+--------------------------------------------------------------------------------+ -| **IF Definition** | **Description** | -+=====================+================================================================================+ -| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/servers | -+---------------------+--------------------------------------------------------------------------------+ -| Operation | get | -+---------------------+--------------------------------------------------------------------------------+ -| Direction | NFLCM,NSLCM->MULTIVIM | -+---------------------+--------------------------------------------------------------------------------+ - -7.3.1. **Request** ->>>>>>>>>>>>>>>>>> - -msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/vms?{……} - -+-----------------+-----------------+-------------------+---------------+-------------------+ -| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | -+=================+=================+===================+===============+===================+ -| name | M | 1 | string | server name | -+-----------------+-----------------+-------------------+---------------+-------------------+ - -7.3.2. **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 - -7.4. **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 | -+---------------------+-------------------------------------------------------------------------------------------+ - -7.4.1. **Request** ->>>>>>>>>>>>>>>>>> - -N/A - -7.4.2. **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 - -8. **Flavor Management** -^^^^^^^^^^^^^^^^^^^^^^^^ - -8.1. **Create Flavor** ----------------------- - -+---------------------+--------------------------------------------------------------------------------+ -| **IF Definition** | **Description** | -+=====================+================================================================================+ -| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/flavors | -+---------------------+--------------------------------------------------------------------------------+ -| Operation | POST | -+---------------------+--------------------------------------------------------------------------------+ -| Direction | VNFLCM->MULTIVIM | -+---------------------+--------------------------------------------------------------------------------+ - -8.1.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 | -+-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ - -8.1.2. **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 | -+-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+ - -8.2. **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 | -+---------------------+--------------------------------------------------------------------------------------------+ - -8.2.1. **Request** ->>>>>>>>>>>>>>>>>> - -N/A - -8.2.2. **Response** ->>>>>>>>>>>>>>>>>>> - -204: no content - -8.3. **List Flavor** --------------------- - -+---------------------+---------------------------------------------------------------------------------+ -| **IF Definition** | **Description** | -+=====================+=================================================================================+ -| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/ flavors | -+---------------------+---------------------------------------------------------------------------------+ -| Operation | get | -+---------------------+---------------------------------------------------------------------------------+ -| Direction | NFLCM,NSLCM->MULTIVIM | -+---------------------+---------------------------------------------------------------------------------+ - -8.3.1. **Query** ->>>>>>>>>>>>>>>> - -+-----------------+-----------------+-------------------+---------------+----------------------------------+ -| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | -+=================+=================+===================+===============+==================================+ -| name | M | 1 | string | Flavor name to filter out list | -+-----------------+-----------------+-------------------+---------------+----------------------------------+ - -8.3.2. **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 - -8.4. **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 | -+---------------------+----------------------------------------------------------------------------------------------+ - -8.4.1. **Request** ->>>>>>>>>>>>>>>>>> - -N/A - -8.4.2. **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 - -9. **Volume Management** -^^^^^^^^^^^^^^^^^^^^^^^^ - -9.1. **Create Volume** ----------------------- - -+---------------------+--------------------------------------------------------------------------------+ -| **IF Definition** | **Description** | -+=====================+================================================================================+ -| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/volumes | -+---------------------+--------------------------------------------------------------------------------+ -| Operation | POST | -+---------------------+--------------------------------------------------------------------------------+ -| Direction | NSLCM->MULTIVIM | -+---------------------+--------------------------------------------------------------------------------+ - -9.1.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" - - } - -9.1.2. **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, - - } - -9.2. **Delete Volume** ----------------------- - -+---------------------+-------------------------------------------------------------------------------------------+ -| **IF Definition** | **Description** | -+=====================+===========================================================================================+ -| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/volumes/{volumeId} | -+---------------------+-------------------------------------------------------------------------------------------+ -| Operation | DELETE | -+---------------------+-------------------------------------------------------------------------------------------+ -| Direction | NSLCM->MULTIVIM | -+---------------------+-------------------------------------------------------------------------------------------+ - -9.2.1. **Request** ->>>>>>>>>>>>>>>>>> - - N/A - -9.2.2. **Response** ->>>>>>>>>>>>>>>>>>> - - 204: no content - -9.3. **List Volumes** ---------------------- - -+---------------------+--------------------------------------------------------------------------------+ -| **IF Definition** | **Description** | -+=====================+================================================================================+ -| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/volumes | -+---------------------+--------------------------------------------------------------------------------+ -| Operation | GET | -+---------------------+--------------------------------------------------------------------------------+ -| Direction | NSLCM-> MULTIVIM | -+---------------------+--------------------------------------------------------------------------------+ - -9.3.1. **Request** ->>>>>>>>>>>>>>>>>> - - msb.onap.org:80/api/multicloud/v0/{cloud - owner}\_{region}/volumes?{……} - -+-----------------+-----------------+-------------------+---------------+-------------------+ -| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | -+=================+=================+===================+===============+===================+ -| name | M | 1 | string | Volume name | -+-----------------+-----------------+-------------------+---------------+-------------------+ - -9.3.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 | -+--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ -| 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 - - } - - ] - - } - -9.4. **Get Volumes** --------------------- - -+---------------------+-------------------------------------------------------------------------------------------+ -| **IF Definition** | **Description** | -+=====================+===========================================================================================+ -| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/volumes/{volumeid} | -+---------------------+-------------------------------------------------------------------------------------------+ -| Operation | GET | -+---------------------+-------------------------------------------------------------------------------------------+ -| Direction | NSLCM-> MULTIVIM | -+---------------------+-------------------------------------------------------------------------------------------+ - -9.4.1. **Request** ->>>>>>>>>>>>>>>>>> - - N/A - -9.4.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 | -+--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ -| 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 - - } - -10. **Tenant Management** -^^^^^^^^^^^^^^^^^^^^^^^^^ - -10.1. **List tenants** ----------------------- - -+---------------------+---------------------------------------------------------------------+ -| **IF Definition** | **Description** | -+=====================+=====================================================================+ -| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/tenants | -+---------------------+---------------------------------------------------------------------+ -| Operation | GET | -+---------------------+---------------------------------------------------------------------+ -| Direction | NSLCM-> MULTIVIM | -+---------------------+---------------------------------------------------------------------+ - -10.1.1. **Query** ->>>>>>>>>>>>>>>>> - -+---------------------+-----------------+-------------------+---------------+-------------------------------------+ -| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | -+=====================+=================+===================+===============+=====================================+ -| name={tenantname} | O | 1 | string | Tenant name to filter output list | -+---------------------+-----------------+-------------------+---------------+-------------------------------------+ - -10.1.2. **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" - - } - - ] - - } - -11. **Limits** -^^^^^^^^^^^^^^ - -11.1. **List Limits of resouces** ---------------------------------- - -+---------------------+-------------------------------------------------------------------------------+ -| **IF Definition** | **Description** | -+=====================+===============================================================================+ -| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/limits | -+---------------------+-------------------------------------------------------------------------------+ -| Operation | GET | -+---------------------+-------------------------------------------------------------------------------+ -| Direction | NSLCM-> MULTIVIM | -+---------------------+-------------------------------------------------------------------------------+ - -11.1.1. **Request** ->>>>>>>>>>>>>>>>>>> - -N/A - -11.1.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, - - } - -12. **Host Management** -^^^^^^^^^^^^^^^^^^^^^^^ - -12.1. **List hosts** --------------------- - -+---------------------+------------------------------------------------------------------------------+ -| **IF Definition** | **Description** | -+=====================+==============================================================================+ -| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/hosts | -+---------------------+------------------------------------------------------------------------------+ -| Operation | GET | -+---------------------+------------------------------------------------------------------------------+ -| Direction | NSLCM-> MULTIVIM | -+---------------------+------------------------------------------------------------------------------+ - -12.1.1. **Request** ->>>>>>>>>>>>>>>>>>> - -N/A - -12.1.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" - - } - - ] - - } - -12.2. **Get host** ------------------- - -+---------------------+-----------------------------------------------------------------------------------------+ -| **IF Definition** | **Description** | -+=====================+=========================================================================================+ -| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}_{region}/{tenantid}/hosts/{hostname} | -+---------------------+-----------------------------------------------------------------------------------------+ -| Operation | GET | -+---------------------+-----------------------------------------------------------------------------------------+ -| Direction | NSLCM-> MULTIVIM | -+---------------------+-----------------------------------------------------------------------------------------+ - -12.2.1. **Request** ->>>>>>>>>>>>>>>>>>> - -12.2.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" - - } - -13. **VIM Management** -^^^^^^^^^^^^^^^^^^^^^^ - -13.1. **Update VIM Info** -------------------------- - -+---------------------+----------------------------------------------------------------------------------------------+ -| **IF Definition** | **Description** | -+=====================+==============================================================================================+ -| URI | http://msb.onap.org:80/api/multicloud/v0/{cloud-owner}_{cloud-region}/registry | -+---------------------+----------------------------------------------------------------------------------------------+ -| Operation | POST | -+---------------------+----------------------------------------------------------------------------------------------+ -| Direction | ESR-> MULTICLOUD | -+---------------------+----------------------------------------------------------------------------------------------+ - -13.1.1. **Request** ->>>>>>>>>>>>>>>>>>> - -+-----------------+-----------------+-------------------+---------------+-----------------------+ -| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | -+=================+=================+===================+===============+=======================+ -| defaultTenant | M | 1 | string | default tenant name | -+-----------------+-----------------+-------------------+---------------+-----------------------+ - -13.1.2. **Response** ->>>>>>>>>>>>>>>>>>>> - -NA - -202: accept - -400: failed - -13.2. **Unregistry VIM** ------------------------- - -+---------------------+-----------------------------------------------------------------------------------------------+ -| **IF Definition** | **Description** | -+=====================+===============================================================================================+ -| URI | http://msb.onap.org:80/api/multicloud/v0/{cloud-owner}_{cloud-region} | -+---------------------+-----------------------------------------------------------------------------------------------+ -| Operation | DELETE | -+---------------------+-----------------------------------------------------------------------------------------------+ -| Direction | ESR-> MULTICLOUD | -+---------------------+-----------------------------------------------------------------------------------------------+ - -13.2.1. **Request** ->>>>>>>>>>>>>>>>>>> - -NA - -13.2.2. **Response** ->>>>>>>>>>>>>>>>>>>> - -NA - -204: No content found - -400: failed diff --git a/docs/MultiCloud-APIv0-Specification.rst b/docs/MultiCloud-APIv0-Specification.rst new file mode 100644 index 0000000..b89a51e --- /dev/null +++ b/docs/MultiCloud-APIv0-Specification.rst @@ -0,0 +1,2690 @@ +.. + This work is licensed under a Creative Commons Attribution 4.0 + International License. + +================================ +MultiCloud API v0 Specification +================================ + +API Catalog +=========== + +1. **Scope** +^^^^^^^^^^^^ + +The scope of the present document is to describe the VIM Driver API +specification. + +2. **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 | ++--------------------+-------------------------------------------------------------+ + +3. **Image Management** +^^^^^^^^^^^^^^^^^^^^^^^ + +3.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 | ++---------------------+-------------------------------------------------------------------------------+ + +3.1.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" + + } + +3.1.2. **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 + } + +3.2. **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 | ++---------------------+-----------------------------------------------------------------------------------------+ + +3.2.1. **Request** +>>>>>>>>>>>>>>>>>> + +N/A + +3.2.2. **Response** +>>>>>>>>>>>>>>>>>>> + +204: no content + +3.3. **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 | ++---------------------+-------------------------------------------------------------------------------+ + +3.3.1. **Request** +>>>>>>>>>>>>>>>>>> + ++-----------------+-----------------+-------------------+---------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| **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 | ++-----------------+-----------------+-------------------+---------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +3.3.2. **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" + }] + } + + +3.4. **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 | ++---------------------+-----------------------------------------------------------------------------------------+ + +3.4.1. **Request** +>>>>>>>>>>>>>>>>>> + +N/A + +3.4.2. **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" + } + +4. **Network Management** +^^^^^^^^^^^^^^^^^^^^^^^^^ + +4.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 | ++---------------------+---------------------------------------------------------------------------------+ + +4.1.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 + } + +4.1.2. **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 + } + +4.2. **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 | ++---------------------+---------------------------------------------------------------------------------------------+ + +4.2.1. **Request** +>>>>>>>>>>>>>>>>>> + +N/A + +4.2.2. **Response** +>>>>>>>>>>>>>>>>>>> + +204: no content + +4.3. **List Network** +--------------------- + ++---------------------+---------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+=================================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/networks | ++---------------------+---------------------------------------------------------------------------------+ +| Operation | get | ++---------------------+---------------------------------------------------------------------------------+ +| Direction | NFLCM,NSLCM->MULTIVIM | ++---------------------+---------------------------------------------------------------------------------+ + +4.3.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 | ++-----------------+-----------------+-------------------+---------------+---------------------------------------------------------------------------------------+ + +4.3.2. **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 + + }] + + } + +4.4. **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 | ++---------------------+---------------------------------------------------------------------------------------------+ + +4.4.1. **Request** +>>>>>>>>>>>>>>>>>> + +N/A + +4.4.2. **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 + + } + +5. **Subnetwork Management** +^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +5.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 | ++---------------------+--------------------------------------------------------------------------------+ + +5.1.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": [] + + } + +5.1.2. **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": [] + + } + +5.2. **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 | ++---------------------+-------------------------------------------------------------------------------------------+ + +5.2.1. **Request** +>>>>>>>>>>>>>>>>>> + +N/A + +5.2.2. **Response** +>>>>>>>>>>>>>>>>>>> + +204: no content + +5.3. **List Subnets** +--------------------- + ++---------------------+--------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+================================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/subnets | ++---------------------+--------------------------------------------------------------------------------+ +| Operation | get | ++---------------------+--------------------------------------------------------------------------------+ +| Direction | NFLCM,NSLCM->MULTIVIM | ++---------------------+--------------------------------------------------------------------------------+ + +5.3.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 | ++-----------------+-----------------+-------------------+---------------+------------------------------------------------------------------------------------------------+ + +5.3.2. **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": [] + + } + + ] + + } + +5.4. **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 | ++---------------------+-------------------------------------------------------------------------------------------+ + +5.4.1. **Request** +>>>>>>>>>>>>>>>>>> + +N/A + +5.4.2. **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": [] + + } + +6. **Virtual Port** +^^^^^^^^^^^^^^^^^^^ + +6.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 | ++---------------------+------------------------------------------------------------------------------+ + +6.1.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.** | ++------------------------+-----------------+-------------------+---------------+-------------------------------------------------------+ + +6.1.2. **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.** | ++----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ + +6.2. **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 | ++---------------------+---------------------------------------------------------------------------------------+ + +6.2.1. **Request** +>>>>>>>>>>>>>>>>>> + +N/A + +6.2.2. **Response** +>>>>>>>>>>>>>>>>>>> + +204: no content + +6.3. **List Virtual Port** +-------------------------- + ++---------------------+-----------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+=============================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/tenantid}/ports | ++---------------------+-----------------------------------------------------------------------------+ +| Operation | GET | ++---------------------+-----------------------------------------------------------------------------+ +| Direction | VNFLCM->MULTIVIM | ++---------------------+-----------------------------------------------------------------------------+ + +6.3.1. **Query** +>>>>>>>>>>>>>>>> + ++-----------------+-----------------+-------------------+---------------+-------------------------------------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++=================+=================+===================+===============+=================================================+ +| name | M | 1 | string | Port name to filter out list of virtual ports | ++-----------------+-----------------+-------------------+---------------+-------------------------------------------------+ + +6.3.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 | ++-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| 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** + + +6.4. **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 | ++---------------------+---------------------------------------------------------------------------------------+ + +6.4.1. **Request** +>>>>>>>>>>>>>>>>>> + +N/A + +6.4.2. **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** + + +7. **Server Management** +^^^^^^^^^^^^^^^^^^^^^^^^ + +7.1. **Create Server** +---------------------- + ++---------------------+--------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+================================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/servers | ++---------------------+--------------------------------------------------------------------------------+ +| Operation | POST | ++---------------------+--------------------------------------------------------------------------------+ +| Direction | VNFLCM->MULTIVIM | ++---------------------+--------------------------------------------------------------------------------+ + +7.1.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\_1 $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" + + } + +7.1.2. **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, + + } + +7.2. **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 | ++---------------------+-------------------------------------------------------------------------------------------+ + +7.2.1. **Request** +>>>>>>>>>>>>>>>>>> + +N/A + +7.2.2. **Response** +>>>>>>>>>>>>>>>>>>> + +204: no content + +7.3. **List Server** +-------------------- + ++---------------------+--------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+================================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/servers | ++---------------------+--------------------------------------------------------------------------------+ +| Operation | get | ++---------------------+--------------------------------------------------------------------------------+ +| Direction | NFLCM,NSLCM->MULTIVIM | ++---------------------+--------------------------------------------------------------------------------+ + +7.3.1. **Request** +>>>>>>>>>>>>>>>>>> + +msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/vms?{……} + ++-----------------+-----------------+-------------------+---------------+-------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++=================+=================+===================+===============+===================+ +| name | M | 1 | string | server name | ++-----------------+-----------------+-------------------+---------------+-------------------+ + +7.3.2. **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 + +7.4. **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 | ++---------------------+-------------------------------------------------------------------------------------------+ + +7.4.1. **Request** +>>>>>>>>>>>>>>>>>> + +N/A + +7.4.2. **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 + +8. **Flavor Management** +^^^^^^^^^^^^^^^^^^^^^^^^ + +8.1. **Create Flavor** +---------------------- + ++---------------------+--------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+================================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/flavors | ++---------------------+--------------------------------------------------------------------------------+ +| Operation | POST | ++---------------------+--------------------------------------------------------------------------------+ +| Direction | VNFLCM->MULTIVIM | ++---------------------+--------------------------------------------------------------------------------+ + +8.1.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 | ++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ + +8.1.2. **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 | ++-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+ + +8.2. **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 | ++---------------------+--------------------------------------------------------------------------------------------+ + +8.2.1. **Request** +>>>>>>>>>>>>>>>>>> + +N/A + +8.2.2. **Response** +>>>>>>>>>>>>>>>>>>> + +204: no content + +8.3. **List Flavor** +-------------------- + ++---------------------+---------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+=================================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/ flavors | ++---------------------+---------------------------------------------------------------------------------+ +| Operation | get | ++---------------------+---------------------------------------------------------------------------------+ +| Direction | NFLCM,NSLCM->MULTIVIM | ++---------------------+---------------------------------------------------------------------------------+ + +8.3.1. **Query** +>>>>>>>>>>>>>>>> + ++-----------------+-----------------+-------------------+---------------+----------------------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++=================+=================+===================+===============+==================================+ +| name | M | 1 | string | Flavor name to filter out list | ++-----------------+-----------------+-------------------+---------------+----------------------------------+ + +8.3.2. **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 + +8.4. **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 | ++---------------------+----------------------------------------------------------------------------------------------+ + +8.4.1. **Request** +>>>>>>>>>>>>>>>>>> + +N/A + +8.4.2. **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 + +9. **Volume Management** +^^^^^^^^^^^^^^^^^^^^^^^^ + +9.1. **Create Volume** +---------------------- + ++---------------------+--------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+================================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/volumes | ++---------------------+--------------------------------------------------------------------------------+ +| Operation | POST | ++---------------------+--------------------------------------------------------------------------------+ +| Direction | NSLCM->MULTIVIM | ++---------------------+--------------------------------------------------------------------------------+ + +9.1.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" + + } + +9.1.2. **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, + + } + +9.2. **Delete Volume** +---------------------- + ++---------------------+-------------------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+===========================================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/volumes/{volumeId} | ++---------------------+-------------------------------------------------------------------------------------------+ +| Operation | DELETE | ++---------------------+-------------------------------------------------------------------------------------------+ +| Direction | NSLCM->MULTIVIM | ++---------------------+-------------------------------------------------------------------------------------------+ + +9.2.1. **Request** +>>>>>>>>>>>>>>>>>> + + N/A + +9.2.2. **Response** +>>>>>>>>>>>>>>>>>>> + + 204: no content + +9.3. **List Volumes** +--------------------- + ++---------------------+--------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+================================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/volumes | ++---------------------+--------------------------------------------------------------------------------+ +| Operation | GET | ++---------------------+--------------------------------------------------------------------------------+ +| Direction | NSLCM-> MULTIVIM | ++---------------------+--------------------------------------------------------------------------------+ + +9.3.1. **Request** +>>>>>>>>>>>>>>>>>> + + msb.onap.org:80/api/multicloud/v0/{cloud + owner}\_{region}/volumes?{……} + ++-----------------+-----------------+-------------------+---------------+-------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++=================+=================+===================+===============+===================+ +| name | M | 1 | string | Volume name | ++-----------------+-----------------+-------------------+---------------+-------------------+ + +9.3.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 | ++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ +| 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 + + } + + ] + + } + +9.4. **Get Volumes** +-------------------- + ++---------------------+-------------------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+===========================================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/volumes/{volumeid} | ++---------------------+-------------------------------------------------------------------------------------------+ +| Operation | GET | ++---------------------+-------------------------------------------------------------------------------------------+ +| Direction | NSLCM-> MULTIVIM | ++---------------------+-------------------------------------------------------------------------------------------+ + +9.4.1. **Request** +>>>>>>>>>>>>>>>>>> + + N/A + +9.4.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 | ++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ +| 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 + + } + +10. **Tenant Management** +^^^^^^^^^^^^^^^^^^^^^^^^^ + +10.1. **List tenants** +---------------------- + ++---------------------+---------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+=====================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/tenants | ++---------------------+---------------------------------------------------------------------+ +| Operation | GET | ++---------------------+---------------------------------------------------------------------+ +| Direction | NSLCM-> MULTIVIM | ++---------------------+---------------------------------------------------------------------+ + +10.1.1. **Query** +>>>>>>>>>>>>>>>>> + ++---------------------+-----------------+-------------------+---------------+-------------------------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++=====================+=================+===================+===============+=====================================+ +| name={tenantname} | O | 1 | string | Tenant name to filter output list | ++---------------------+-----------------+-------------------+---------------+-------------------------------------+ + +10.1.2. **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" + + } + + ] + + } + +11. **Limits** +^^^^^^^^^^^^^^ + +11.1. **List Limits of resouces** +--------------------------------- + ++---------------------+-------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+===============================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/limits | ++---------------------+-------------------------------------------------------------------------------+ +| Operation | GET | ++---------------------+-------------------------------------------------------------------------------+ +| Direction | NSLCM-> MULTIVIM | ++---------------------+-------------------------------------------------------------------------------+ + +11.1.1. **Request** +>>>>>>>>>>>>>>>>>>> + +N/A + +11.1.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, + + } + +12. **Host Management** +^^^^^^^^^^^^^^^^^^^^^^^ + +12.1. **List hosts** +-------------------- + ++---------------------+------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+==============================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/hosts | ++---------------------+------------------------------------------------------------------------------+ +| Operation | GET | ++---------------------+------------------------------------------------------------------------------+ +| Direction | NSLCM-> MULTIVIM | ++---------------------+------------------------------------------------------------------------------+ + +12.1.1. **Request** +>>>>>>>>>>>>>>>>>>> + +N/A + +12.1.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" + + } + + ] + + } + +12.2. **Get host** +------------------ + ++---------------------+-----------------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+=========================================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}_{region}/{tenantid}/hosts/{hostname} | ++---------------------+-----------------------------------------------------------------------------------------+ +| Operation | GET | ++---------------------+-----------------------------------------------------------------------------------------+ +| Direction | NSLCM-> MULTIVIM | ++---------------------+-----------------------------------------------------------------------------------------+ + +12.2.1. **Request** +>>>>>>>>>>>>>>>>>>> + +12.2.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" + + } + +13. **VIM Management** +^^^^^^^^^^^^^^^^^^^^^^ + +13.1. **Update VIM Info** +------------------------- + ++---------------------+----------------------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+==============================================================================================+ +| URI | http://msb.onap.org:80/api/multicloud/v0/{cloud-owner}_{cloud-region}/registry | ++---------------------+----------------------------------------------------------------------------------------------+ +| Operation | POST | ++---------------------+----------------------------------------------------------------------------------------------+ +| Direction | ESR-> MULTICLOUD | ++---------------------+----------------------------------------------------------------------------------------------+ + +13.1.1. **Request** +>>>>>>>>>>>>>>>>>>> + ++-----------------+-----------------+-------------------+---------------+-----------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++=================+=================+===================+===============+=======================+ +| defaultTenant | M | 1 | string | default tenant name | ++-----------------+-----------------+-------------------+---------------+-----------------------+ + +13.1.2. **Response** +>>>>>>>>>>>>>>>>>>>> + +NA + +202: accept + +400: failed + +13.2. **Unregistry VIM** +------------------------ + ++---------------------+-----------------------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+===============================================================================================+ +| URI | http://msb.onap.org:80/api/multicloud/v0/{cloud-owner}_{cloud-region} | ++---------------------+-----------------------------------------------------------------------------------------------+ +| Operation | DELETE | ++---------------------+-----------------------------------------------------------------------------------------------+ +| Direction | ESR-> MULTICLOUD | ++---------------------+-----------------------------------------------------------------------------------------------+ + +13.2.1. **Request** +>>>>>>>>>>>>>>>>>>> + +NA + +13.2.2. **Response** +>>>>>>>>>>>>>>>>>>>> + +NA + +204: No content found + +400: failed diff --git a/docs/MultiCloud-APIv1-Specification.rst b/docs/MultiCloud-APIv1-Specification.rst index edecd4a..b68fbe0 100644 --- a/docs/MultiCloud-APIv1-Specification.rst +++ b/docs/MultiCloud-APIv1-Specification.rst @@ -3,7 +3,7 @@ International License. ================================ -MultiCloud APIv1 Specification +MultiCloud API v1 Specification ================================ The is the specification for MultiCloud API version v1. diff --git a/docs/MultiCloud-HPA-Deployment-Guide.rst b/docs/MultiCloud-HPA-Deployment-Guide.rst deleted file mode 100644 index 0e815cc..0000000 --- a/docs/MultiCloud-HPA-Deployment-Guide.rst +++ /dev/null @@ -1,211 +0,0 @@ -.. - This work is licensed under a Creative Commons Attribution 4.0 - International License. - -==================================== -ONAP MultiCloud HPA Deployment Guide -==================================== - -The guide for MultiCloud HPA Deployment. - -Architecture & Policies & Mappings -================================== - -Please refer to the link for more architecture details: - -https://wiki.onap.org/pages/viewpage.action?pageId=20874679 - -Please refer to the link for more Policies&Mappings details: - -https://wiki.onap.org/display/DW/HPA+Policies+and+Mappings - -Prerequisites -============= -configure openstack with proper flavors (with name prefixed by "onap." to carry HPA information to ONAP), example flavor: - -.. code-block:: console - - nova flavor-create onap.hpa.medium 110 4096 0 6 - #cpu pining - nova flavor-key onap.hpa.medium set hw:cpu_policy=dedicated - nova flavor-key onap.hpa.medium set hw:cpu_thread_policy=prefer - #cpu topology - nova flavor-key onap.hpa.medium set hw:cpu_sockets=2 - nova flavor-key onap.hpa.medium set hw:cpu_cores=4 - nova flavor-key onap.hpa.medium set hw:cpu_threads=8 - #hugepage - nova flavor-key onap.hpa.medium set hw:mem_page_size=large - #numa - nova flavor-key onap.hpa.medium set hw:numa_nodes=2 - nova flavor-key onap.hpa.medium set hw:numa_cpus.0=0,1 hw:numa_cpus.1=2,3,4,5 hw:numa_mem.0=2048 hw:numa_mem.1=2048 - -collect following information for on-boarding this Cloud instance to ONAP: - -.. code-block:: console - - your openstack project name - your openstack user - your openstack password - your openstack keystone endpoint - your openstack Region ID: e.g. RegionOne - your openstack owner name/ID (any string without underscore character '_'), e.g. CloudOwner - -Note: along with the Region ID, the owner name/ID comprises unique ID of a cloud region within ONAP - -With Heat based ONAP: - -.. code-block:: console - - export ONAP_AAI_IP= - export ONAP_AAI_PORT=8443 - export ONAP_MSB_IP= - export ONAP_MSB_PORT=80 - -With OOM based ONAP: - -.. code-block:: console - - export ONAP_AAI_IP= - export ONAP_AAI_PORT=30233 - export ONAP_MSB_IP= - export ONAP_MSB_PORT=30280 - -The geographic location of the cloud region -=========================================== -make sure there is complex object to represent the geographic location of the cloud region -in case you need create a complex object "clli1": - -.. code-block:: console - - curl -X PUT \ - https://$ONAP_AAI_IP:$ONAP_AAI_PORT/aai/v13/cloud-infrastructure/complexes/complex/clli1 \ - -H 'Accept: application/json' \ - -H 'Authorization: Basic QUFJOkFBSQ==' \ - -H 'Cache-Control: no-cache' \ - -H 'Content-Type: application/json' \ - -H 'Postman-Token: 2b272126-aa65-41e6-aa5d-46bc70b9eb4f' \ - -H 'Real-Time: true' \ - -H 'X-FromAppId: jimmy-postman' \ - -H 'X-TransactionId: 9999' \ - -d '{ - "physical-location-id": "clli1", - "data-center-code": "example-data-center-code-val-5556", - "complex-name": "clli1", - "identity-url": "example-identity-url-val-56898", - "physical-location-type": "example-physical-location-type-val-7608", - "street1": "example-street1-val-34205", - "street2": "example-street2-val-99210", - "city": "Beijing", - "state": "example-state-val-59487", - "postal-code": "100000", - "country": "example-country-val-94173", - "region": "example-region-val-13893", - "latitude": "39.9042", - "longitude": "106.4074", - "elevation": "example-elevation-val-30253", - "lata": "example-lata-val-46073" - }' - -Register a cloud region -======================= -register a cloud region to represent the VIM with the specific tenant - -note: please update the parameters enclosed with "<>" - -.. code-block:: console - - curl -X PUT \ - https://$ONAP_AAI_IP:$ONAP_AAI_PORT/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne \ - -H 'Accept: application/json' \ - -H 'Authorization: Basic QUFJOkFBSQ==' \ - -H 'Cache-Control: no-cache' \ - -H 'Content-Type: application/json' \ - -H 'Postman-Token: 8b9b95ae-91d6-4436-90fa-69cb4d2db99c' \ - -H 'Real-Time: true' \ - -H 'X-FromAppId: jimmy-postman' \ - -H 'X-TransactionId: 9999' \ - -d '{ - "cloud-owner": "CloudOwner", - "cloud-region-id": "RegionOne", - "cloud-type": "openstack", - "owner-defined-type": "t1", - "cloud-region-version": "titanium_cloud", - "complex-name": "clli1", - "cloud-zone": "CloudZone", - "sriov-automation": false, - "identity-url": "WillBeUpdatedByMultiCloud", - "esr-system-info-list": { - "esr-system-info": [ - { - "esr-system-info-id": "", - "service-url": "http://", - "user-name": "", - "password": "", - "system-type": "VIM", - "ssl-insecure": true, - "cloud-domain": "Default", - "default-tenant": "", - "system-status": "active" - } - ] - } - }' - -associate the cloud region with the location object: - -.. code-block:: console - - curl -X PUT \ - https://$ONAP_AAI_IP:$ONAP_AAI_PORT/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/relationship-list/relationship \ - -H 'Authorization: Basic QUFJOkFBSQ==' \ - -H 'Cache-Control: no-cache' \ - -H 'Content-Type: application/json' \ - -H 'Postman-Token: 7407d60c-8ce7-45de-ada3-4a7a9e88ebd4' \ - -H 'Real-Time: true' \ - -H 'X-FromAppId: jimmy-postman' \ - -H 'X-TransactionId: 9999' \ - -d '{ - "related-to": "complex", - "related-link": "/aai/v13/cloud-infrastructure/complexes/complex/clli1", - "relationship-data": [ - { - "relationship-key": "complex.physical-location-id", - "relationship-value": "clli1" - } - ] - }' - - -Trigger the MultiCloud registration -=================================== - -.. code-block:: console - - curl -X POST \ - 'http://$ONAP_MSB_IP:$ONAP_MSB_PORT/api/multicloud-titanium_cloud/v0/CloudOwner_RegionOne/registry' \ - -H 'Accept: application/json' \ - -H 'Cache-Control: no-cache' \ - -H 'Content-Type: application/json' \ - -H 'Postman-Token: 8577e1cc-1038-471d-8b3b-d36fe44ae023' - - -Verify -====== -verify if the cloud region was registered properly (with HPA information populated) - -.. code-block:: console - - curl -X GET \ - 'https://$ONAP_AAI_IP:$ONAP_AAI_PORT/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne?depth=all' \ - -H 'Accept: application/json' \ - -H 'Authorization: Basic QUFJOkFBSQ==' \ - -H 'Cache-Control: no-cache' \ - -H 'Content-Type: application/json' \ - -H 'Postman-Token: 2899359f-871b-4e61-a307-ecf8b3144e3f' \ - -H 'Real-Time: true' \ - -H 'X-FromAppId: jimmy-postman' \ - -H 'X-TransactionId: 9999' - -Note: The response of querying a cloud region above should return with a comprehensive cloud region object, you should find out the "hpa-capabilities" under certain flavor object with name prefixed by "onap." - - diff --git a/docs/images/mc-windriver/esr-vim-register.png b/docs/images/mc-windriver/esr-vim-register.png new file mode 100644 index 0000000..571f56d Binary files /dev/null and b/docs/images/mc-windriver/esr-vim-register.png differ diff --git a/docs/index.rst b/docs/index.rst index b326ecf..8e2196f 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -4,21 +4,43 @@ .. _index-multicloud: -MultiCloud Documentation Repository +MultiCloud API +----------------------------------- +.. toctree:: + :maxdepth: 2 + + MultiCloud-APIv0-Specification + MultiCloud-APIv1-Specification + + +MultiCloud Release Notes ----------------------------------- .. toctree:: :maxdepth: 2 Release Notes + + +MultiCloud Deployment +----------------------------------- +.. toctree:: + :maxdepth: 2 + MultiCloud-Deployment-Guide - MultiCloud-Test-Guide - MultiCloud-API-Specification-V1 - Multicloud-Fake_Cloud-Guide - MultiCloud-Heat-Deployment-Guide MultiCloud-Administrator-Guide + MultiCloud-Heat-Deployment-Guide + +MultiCloud Plugins User Guides +----------------------------------------------- +.. toctree:: + :maxdepth: 2 + + multicloud-plugin-windriver/UserGuide-MultiCloud-WindRiver-TitaniumCloud + Multicloud-Fake_Cloud-Guide + MultiCloud-Test-Guide -MultiCloud Specification Documentation +MultiCloud Specifications -------------------------------------- .. toctree:: :maxdepth: 1 @@ -31,3 +53,7 @@ MultiCloud Specification Documentation specs/multicloud-container-plugin specs/MultiCloud-HPA-Discovery-design specs/parallelism_improvement + specs/multicloud_infra_workload + specs/multicloud-cloud-region-id + specs/multicloud-heat-aai-bridge + specs/multicloud-multi-region diff --git a/docs/multicloud-plugin-windriver/Tutorial-HPA-Provision-Discovery-WindRiver-TitaniumCloud.rst b/docs/multicloud-plugin-windriver/Tutorial-HPA-Provision-Discovery-WindRiver-TitaniumCloud.rst new file mode 100644 index 0000000..0480146 --- /dev/null +++ b/docs/multicloud-plugin-windriver/Tutorial-HPA-Provision-Discovery-WindRiver-TitaniumCloud.rst @@ -0,0 +1,68 @@ +.. + This work is licensed under a Creative Commons Attribution 4.0 + International License. + +Tutorial: Enable ONAP HPA Orchestation to Wind River Titanium Cloud +``````````````````````````````````````````````````````````````````` + + +To fulfil the functional requirement of HPA enablement, MultiCloud plugin for +Wind River Titanium Cloud expects the administrator to provision the Titanium +Cloud instance conforming to certain conventions. + +This tutorial demonstrates how to enable ONAP HPA orchestration to Wind River Titanium Cloud. + +Architecture & Policies & Mappings +---------------------------------- + +Please refer to the link for more architecture details: + +.. + https://wiki.onap.org/pages/viewpage.action?pageId=20874679 + +Please refer to the link for more Policies&Mappings details: + +.. + https://wiki.onap.org/display/DW/HPA+Policies+and+Mappings + +Provision Flavors +----------------- + +configure openstack with proper flavors (with name prefixed by "onap." to carry HPA information to ONAP), example flavor: + +.. code-block:: console + + nova flavor-create onap.hpa.medium 110 4096 0 6 + #cpu pining + nova flavor-key onap.hpa.medium set hw:cpu_policy=dedicated + nova flavor-key onap.hpa.medium set hw:cpu_thread_policy=prefer + #cpu topology + nova flavor-key onap.hpa.medium set hw:cpu_sockets=2 + nova flavor-key onap.hpa.medium set hw:cpu_cores=4 + nova flavor-key onap.hpa.medium set hw:cpu_threads=8 + #hugepage + nova flavor-key onap.hpa.medium set hw:mem_page_size=large + #numa + nova flavor-key onap.hpa.medium set hw:numa_nodes=2 + nova flavor-key onap.hpa.medium set hw:numa_cpus.0=0,1 hw:numa_cpus.1=2,3,4,5 hw:numa_mem.0=2048 hw:numa_mem.1=2048 + +Access configuration of Titanium Cloud Instance +----------------------------------------------- + +collect following information for on-boarding this Cloud instance to ONAP: + +.. code-block:: console + + your openstack project name + your openstack user + your openstack password + your openstack keystone endpoint + your openstack Region ID: e.g. RegionOne + + +On-board the Titanium Cloud instance +------------------------------------ + +Now you can onboard this Titanium Cloud instance, make sure the multicloud registration process is triggered. + +See :ref:`Tutorial: Onboard instance of Wind River Titanium Cloud ` diff --git a/docs/multicloud-plugin-windriver/Tutorial-Onboard-WindRiver-TitaniumCloud.rst b/docs/multicloud-plugin-windriver/Tutorial-Onboard-WindRiver-TitaniumCloud.rst new file mode 100644 index 0000000..52926bb --- /dev/null +++ b/docs/multicloud-plugin-windriver/Tutorial-Onboard-WindRiver-TitaniumCloud.rst @@ -0,0 +1,289 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 +.. International License. http://creativecommons.org/licenses/by/4.0 +.. Copyright (c) 2017-2018 Wind River Systems, Inc. + +Tutorial: Onboard instance of Wind River Titanium Cloud +``````````````````````````````````````````````````````` + +Prerequisites +------------- + +Collect ONAP Access Info +^^^^^^^^^^^^^^^^^^^^^^^^ + +With Heat based ONAP: +..................... + +.. code-block:: console + + export ONAP_AAI_IP= + export ONAP_AAI_PORT=8443 + export ONAP_MSB_IP= + export ONAP_MSB_PORT=80 + +With OOM based ONAP: +.................... + +.. code-block:: console + + export ONAP_AAI_IP= + export ONAP_AAI_PORT=30233 + export ONAP_MSB_IP= + export ONAP_MSB_PORT=30280 + +Determine the ID of the cloud region: +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + cloud region is ONAP's representation of the on-boarded VIM/Cloud instance (Titanium Cloud instance in this case). + The ID of a cloud region is specified by ONAP user while on-boarding the VIM/Cloud instance, this ID will be + internal to ONAP only, comprised by the composite keys of "cloud-owner" and "cloud-region-id". + +.. code-block:: console + + export CLOUD_OWNER="CloudOwner" + export CLOUD_REGION_ID="RegionOne" + + +Notes: +...... + + 1, It is suggested to populate "cloud-owner" to be "CloudOwner". + The restriction is that underscore "_" can not be used. + + 2, There is restriction from ONAP Amsterdam Release that the + "cloud-region-id" must be the same as OpenStack Region ID in case that + the cloud region represent an OpenStack Instance. + From Casablanca Release, the restriction of "cloud-region-id" has been + removed by MultiCloud plugin for Wind River Titanium Cloud. It is not + mandatory to be populate the "cloud-region-id" with OpenStack Region ID. + + +The geographic location of the cloud region +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +make sure there is complex object to represent the geographic location of the cloud region +in case you need create a complex object "clli1": + +.. code-block:: console + + curl -X PUT \ + https://$ONAP_AAI_IP:$ONAP_AAI_PORT/aai/v13/cloud-infrastructure/complexes/complex/clli1 \ + -H 'Accept: application/json' \ + -H 'Authorization: Basic QUFJOkFBSQ==' \ + -H 'Cache-Control: no-cache' \ + -H 'Content-Type: application/json' \ + -H 'Postman-Token: 2b272126-aa65-41e6-aa5d-46bc70b9eb4f' \ + -H 'Real-Time: true' \ + -H 'X-FromAppId: jimmy-postman' \ + -H 'X-TransactionId: 9999' \ + -d '{ + "physical-location-id": "clli1", + "data-center-code": "example-data-center-code-val-5556", + "complex-name": "clli1", + "identity-url": "example-identity-url-val-56898", + "physical-location-type": "example-physical-location-type-val-7608", + "street1": "example-street1-val-34205", + "street2": "example-street2-val-99210", + "city": "Beijing", + "state": "example-state-val-59487", + "postal-code": "100000", + "country": "example-country-val-94173", + "region": "example-region-val-13893", + "latitude": "39.9042", + "longitude": "106.4074", + "elevation": "example-elevation-val-30253", + "lata": "example-lata-val-46073" + }' + + + + +On-board Wind River Titanium Cloud Instance +------------------------------------------- + +You can on-board the instance of Wind River Titanium Cloud with either way as below + + +With curl commands +^^^^^^^^^^^^^^^^^^ + +Step 1: Create a cloud region to represent the instance +....................................................... + +.. code-block:: console + + ### on-board a single OpenStack region + ### you can specify the Openstack Region ID by extra inputs: {"openstack-region-id":"RegionOne"} + + + curl -X PUT \ + https://$ONAP_AAI_IP:$ONAP_AAI_PORT/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/${CLOUD_OWNER}/${CLOUD_REGION_ID} \ + -H 'Accept: application/json' \ + -H 'Authorization: Basic QUFJOkFBSQ==' \ + -H 'Cache-Control: no-cache' \ + -H 'Content-Type: application/json' \ + -H 'Postman-Token: 8b9b95ae-91d6-4436-90fa-69cb4d2db99c' \ + -H 'Real-Time: true' \ + -H 'X-FromAppId: jimmy-postman' \ + -H 'X-TransactionId: 9999' \ + -d '{ + "cloud-owner": "<${CLOUD_OWNER}>", + "cloud-region-id": "<${CLOUD_REGION_ID}>", + "cloud-type": "openstack", + "owner-defined-type": "t1", + "cloud-region-version": "titanium_cloud", + "complex-name": "clli1", + "cloud-zone": "CloudZone", + "sriov-automation": false, + "identity-url": "WillBeUpdatedByMultiCloud", + "cloud-extra-info":"{\"openstack-region-id\":\"RegionOne\"}" + "esr-system-info-list": { + "esr-system-info": [ + { + "esr-system-info-id": "", + "service-url": "http://", + "user-name": "", + "password": "", + "system-type": "VIM", + "ssl-insecure": true, + "cloud-domain": "Default", + "default-tenant": "", + "system-status": "active" + } + ] + } + }' + + + +.. code-block:: console + + ### on-board multiple OpenStack regions with a single request by indicating {"multi-region-discovery":true} + ### you can specify the Openstack Region ID by extra inputs: {"openstack-region-id":"RegionOne"} + + curl -X PUT \ + https://$ONAP_AAI_IP:$ONAP_AAI_PORT/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/${CLOUD_OWNER}/${CLOUD_REGION_ID} \ + -H 'Accept: application/json' \ + -H 'Authorization: Basic QUFJOkFBSQ==' \ + -H 'Cache-Control: no-cache' \ + -H 'Content-Type: application/json' \ + -H 'Postman-Token: 8b9b95ae-91d6-4436-90fa-69cb4d2db99c' \ + -H 'Real-Time: true' \ + -H 'X-FromAppId: jimmy-postman' \ + -H 'X-TransactionId: 9999' \ + -d '{ + "cloud-owner": "<${CLOUD_OWNER}>", + "cloud-region-id": "<${CLOUD_REGION_ID}>", + "cloud-type": "openstack", + "owner-defined-type": "t1", + "cloud-region-version": "titanium_cloud", + "complex-name": "clli1", + "cloud-zone": "CloudZone", + "sriov-automation": false, + "identity-url": "WillBeUpdatedByMultiCloud", + "cloud-extra-info":"{\"multi-region-discovery\":true, \"openstack-region-id\":\"RegionOne\"}" + "esr-system-info-list": { + "esr-system-info": [ + { + "esr-system-info-id": "", + "service-url": "http://", + "user-name": "", + "password": "", + "system-type": "VIM", + "ssl-insecure": true, + "cloud-domain": "Default", + "default-tenant": "", + "system-status": "active" + } + ] + } + }' + + +Step 2: associate the cloud region with the location object +........................................................... + + +This association between the cloud region and location is required for OOF homing/placement of VNF + +.. code-block:: console + + curl -X PUT \ + https://$ONAP_AAI_IP:$ONAP_AAI_PORT/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/${CLOUD_OWNER}/${CLOUD_REGION_ID}/relationship-list/relationship \ + -H 'Authorization: Basic QUFJOkFBSQ==' \ + -H 'Cache-Control: no-cache' \ + -H 'Content-Type: application/json' \ + -H 'Postman-Token: 7407d60c-8ce7-45de-ada3-4a7a9e88ebd4' \ + -H 'Real-Time: true' \ + -H 'X-FromAppId: jimmy-postman' \ + -H 'X-TransactionId: 9999' \ + -d '{ + "related-to": "complex", + "related-link": "/aai/v13/cloud-infrastructure/complexes/complex/clli1", + "relationship-data": [ + { + "relationship-key": "complex.physical-location-id", + "relationship-value": "clli1" + } + ] + }' + + + +Step 3: Trigger the MultiCloud Plugin registration process +.......................................................... + + +Make sure trigger MultiCloud plugin to discover and register Infrastructure +resources, including HPA + +.. code-block:: console + + curl -X POST \ + http://$ONAP_MSB_IP:$ONAP_MSB_PORT/api/multicloud/v0/${CLOUD_OWNER}_${CLOUD_REGION_ID}/registry \ + -H 'Accept: application/json' \ + -H 'Cache-Control: no-cache' \ + -H 'Content-Type: application/json' \ + -H 'Postman-Token: 8577e1cc-1038-471d-8b3b-d36fe44ae023' + + +With ESR GUI Portal +^^^^^^^^^^^^^^^^^^^ +ESR will conduct all steps mentioned above with a single click. + +The url of the ESR GUI Portal is: + +.. + http://$ONAP_MSB_IP:$ONAP_MSB_PORT/iui/aai-esr-gui/extsys/vim/vimView.html + +.. image:: ../images/mc-windriver/esr-vim-register.png + :alt: ESR VIM Registrer GUI Portal + :width: 500 + :height: 700 + :align: center + + +Verification +------------ + +You may want to verify if the cloud region was registered properly (with HPA information populated) +to represent the instance of Wind River Titanium Cloud, you can do it with the curl command as below + +.. code-block:: console + + curl -X GET \ + https://$ONAP_AAI_IP:$ONAP_AAI_PORT/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/${CLOUD_OWNER}/${CLOUD_REGION_ID}?depth=all \ + -H 'Accept: application/json' \ + -H 'Authorization: Basic QUFJOkFBSQ==' \ + -H 'Cache-Control: no-cache' \ + -H 'Content-Type: application/json' \ + -H 'Postman-Token: 2899359f-871b-4e61-a307-ecf8b3144e3f' \ + -H 'Real-Time: true' \ + -H 'X-FromAppId: jimmy-postman' \ + -H 'X-TransactionId: 9999' + + +Note: +^^^^^ +The response of querying a cloud region above should return with a comprehensive cloud region object, you should find out the "hpa-capabilities" under certain flavor object with name prefixed by "onap." + diff --git a/docs/multicloud-plugin-windriver/Tutorial-VESagent-MultiCloud-WindRiver-TitaniumCloud.rst b/docs/multicloud-plugin-windriver/Tutorial-VESagent-MultiCloud-WindRiver-TitaniumCloud.rst new file mode 100644 index 0000000..2d17692 --- /dev/null +++ b/docs/multicloud-plugin-windriver/Tutorial-VESagent-MultiCloud-WindRiver-TitaniumCloud.rst @@ -0,0 +1,139 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 +.. International License. http://creativecommons.org/licenses/by/4.0 +.. Copyright (c) 2017-2018 Wind River Systems, Inc. + +Tutorial: VESagent configuration and Testing +```````````````````````````````````````````` + +VESagent is a FCAPS relaying service offered by MultiCloud Plugin for Wind +River Titanium Cloud. It allows user to monitor specified VM status and report +VES collector with onset or abate fault event "Fault_MultiCloud_VMFailure" + +VESagent provisoning APIs +------------------------- + +### assume OOM deployment as below endpoints: + +* OOM k8s Node IP, e.g. 10.12.5.184 +* OOM k8s Node port for multicloud-titaniumcloud POD: 30294 +* On-boarded cloud region with {cloud-owner}/{cloud-region-id} : CloudOwner/pod01 +* VES collector endpoint: 10.12.6.79:8081 + + + +.. code-block:: console + + #!/bin/bash + export MC_EP_IP=10.12.5.184 + export MC_EP_PORT=30294 + + export MC_EPv0=http://$OPENO_IP:$MC_EP_PORT/api/multicloud-titaniumcloud/v0/CloudOwner_pod01 + export MC_EPv1=http://$OPENO_IP:$MC_EP_PORT/api/multicloud-titaniumcloud/v1/CloudOwner/pod01 + + + +1. Setup VESagent backlogs +^^^^^^^^^^^^^^^^^^^^^^^^^^ + +** Option 1: monitor all VMs of a tenant** + +.. code-block:: console + + curl -v -s -H "Content-Type: application/json" -d '{"vesagent_config": \ + {"backlogs":[ {"domain":"fault","type":"vm","tenant":"VIM"}],\ + "poll_interval_default":10,"ves_subscription":\ + {"username":"admin","password":"admin","endpoint":"http://10.12.6.79:8081/eventListener/v5"}}}'\ + -X POST $MC_EPv0/vesagent + +** Option 2: monitor specified VMs** + +.. code-block:: console + + ### zdfw1lb01dns01, zdfw1lb01dns02 + curl -v -s -H "Content-Type: application/json" -d '{"vesagent_config":\ + {"backlogs":[ {"source":"zdfw1lb01dns01", "domain":"fault","type":"vm","tenant":"VIM"},\ + {"source":"zdfw1lb01dns02", "domain":"fault","type":"vm","tenant":"VIM"}], + "poll_interval_default":10,"ves_subscription":\ + {"username":"admin","password":"admin","endpoint":"http://10.12.6.79:8081/eventListener/v5"}}}' \ + -X POST $MC_EPv0/vesagent + +2. Dump the VESagent backlogs +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. code-block:: console + + curl -v -s -H "Content-Type: application/json" -X GET $MC_EPv0/vesagent + +3. Delete the VESagent backlogs +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. code-block:: console + + curl -v -s -H "Content-Type: application/json" -X DELETE $MC_EPv0/vesagent + + +VESagent exercises +------------------ + +Step 1: Monitor the DMaaP events +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Subscribe to and keep polling DMaaP Topic: "unauthenticated.SEC_FAULT_OUTPUT" with curl command + +.. code-block:: console + + curl -X GET \ + 'http://$DMAAP_IP:3904/events/unauthenticated.SEC_FAULT_OUTPUT/EVENT-LISTENER-POSTMAN/304?timeout=6000&limit=10&filter=' \ + -H 'Cache-Control: no-cache' \ + -H 'Content-Type: application/json' \ + -H 'Postman-Token: 4e2e3589-d742-48c7-8d48-d1b3577df259' \ + -H 'X-FromAppId: 121' \ + -H 'X-TransactionId: 9999' + + +Step 2: Setup VESagent backlog +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +.. code-block:: console + + ### zdfw1lb01dns01, zdfw1lb01dns02 + curl -v -s -H "Content-Type: application/json" -d '{"vesagent_config":\ + {"backlogs":[ {"source":"zdfw1lb01dns01", "domain":"fault","type":"vm","tenant":"VIM"}],\ + "poll_interval_default":10,"ves_subscription":\ + {"username":"admin","password":"admin","endpoint":"http://10.12.6.79:8081/eventListener/v5"}}}' \ + -X POST $MC_EPv0/vesagent + +Step 3: Simulate the Faults +^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Manually stop the monitored VMs,e.g. VM with name 'zdfw1lb01dns01', + +Step 4: Observe DMaaP event: "Fault_MultiCloud_VMFailure" +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Poll the subscribed DMaaP topic "unauthenticated.SEC_FAULT_OUTPUT" with curl command, +you should be able to observe the following VES fault event generated from DMaaP: + +.. code-block:: console + + [ + + "{\"event\":{\"commonEventHeader\":{\"startEpochMicrosec\":1537233558255872,\"sourceId\":\"8e606aa7-39c8-4df7-b2f4-1f6785b9f682\",\"eventId\":\"a236f561-f0fa-48a3-96cd-3a61ccfdf421\",\"reportingEntityId\":\"CloudOwner_pod01\",\"internalHeaderFields\":{\"collectorTimeStamp\":\"Tue, 09 18 2018 01:19:19 GMT\"},\"eventType\":\"\",\"priority\":\"High\",\"version\":3,\"reportingEntityName\":\"CloudOwner_pod01\",\"sequence\":0,\"domain\":\"fault\",\"lastEpochMicrosec\":1537233558255872,\"eventName\":\"Fault_MultiCloud_VMFailure\",\"sourceName\":\"zdfw1lb01dns01\"},\"faultFields\":{\"eventSeverity\":\"CRITICAL\",\"alarmCondition\":\"Guest_Os_Failure\",\"faultFieldsVersion\":2,\"specificProblem\":\"Fault_MultiCloud_VMFailure\",\"alarmInterfaceA\":\"aaaa\",\"alarmAdditionalInformation\":[{\"name\":\"objectType\",\"value\":\"VIM\"},{\"name\":\"eventTime\",\"value\":\"2018-09-18 01:19:18.255937\"}],\"eventSourceType\":\"virtualMachine\",\"vfStatus\":\"Active\"}}}", + + ] + + +Step 5: Simulate the Recovery +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Manually restart the stopped VM 'zdfw1lb01dns01' + + +Step 6: Observe DMaaP event: "Fault_MultiCloud_VMFailureCleared" +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. code-block:: console + + [ + "{\"event\":{\"commonEventHeader\":{\"startEpochMicrosec\":1537233558255872,\"sourceId\":\"8e606aa7-39c8-4df7-b2f4-1f6785b9f682\",\"eventId\":\"a236f561-f0fa-48a3-96cd-3a61ccfdf421\",\"reportingEntityId\":\"CloudOwner_pod01\",\"internalHeaderFields\":{\"collectorTimeStamp\":\"Tue, 09 18 2018 01:19:31 GMT\"},\"eventType\":\"\",\"priority\":\"Normal\",\"version\":3,\"reportingEntityName\":\"CloudOwner_pod01\",\"sequence\":1,\"domain\":\"fault\",\"lastEpochMicrosec\":1537233570150714,\"eventName\":\"Fault_MultiCloud_VMFailureCleared\",\"sourceName\":\"zdfw1lb01dns01\"},\"faultFields\":{\"eventSeverity\":\"NORMAL\",\"alarmCondition\":\"Vm_Restart\",\"faultFieldsVersion\":2,\"specificProblem\":\"Fault_MultiCloud_VMFailure\",\"alarmInterfaceA\":\"aaaa\",\"alarmAdditionalInformation\":[{\"name\":\"objectType\",\"value\":\"VIM\"},{\"name\":\"eventTime\",\"value\":\"2018-09-18 01:19:30.150736\"}],\"eventSourceType\":\"virtualMachine\",\"vfStatus\":\"Active\"}}}" + + ] diff --git a/docs/multicloud-plugin-windriver/UserGuide-MultiCloud-WindRiver-TitaniumCloud.rst b/docs/multicloud-plugin-windriver/UserGuide-MultiCloud-WindRiver-TitaniumCloud.rst new file mode 100644 index 0000000..8e3b851 --- /dev/null +++ b/docs/multicloud-plugin-windriver/UserGuide-MultiCloud-WindRiver-TitaniumCloud.rst @@ -0,0 +1,152 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 +.. International License. http://creativecommons.org/licenses/by/4.0 +.. Copyright (c) 2017-2018 Wind River Systems, Inc. + +=============================================== +MultiCloud Plugin for Wind River Titanium Cloud +=============================================== + +The following guides are provided to describe tasks that a user of +ONAP may need to perform when operating ONAP to orchestrate VNF onto +an instance of Wind River Titanium Cloud + + +Supported Features +`````````````````` + +**Proxy endpoints for OpenStack services** + + MultiCloud plugin for Wind River Titanium Cloud supports the proxy of OpenStack services + The catalog of proxied services is exactly the catalog of OpenStack services + +**VFC specific Northbound API** + + MultiCloud plugin for Wind River Titanium Cloud supports VFC with the legacy APIs + which was inherited from OPEN-O MultiVIM project. + +**Support enhanced SO/OOF workflow** + + MultiCloud plugin for Wind River Titanium Cloud supports infra_workload APIs from Casablanca Release. + + These APIs enhances the workflow of Heat based VNF orchestration by: + offloading Heat template/parameter updating from SO to MultiCloud plugins + + Enabling the "Centralized Representation of Cloud Regions" + + Automate the heatbridge action by updating the AAI with deployed Heat stack resources + +**Support OOF** + + MultiCloud plugin for Wind River Titanium Cloud supports capacity check from Beijing Release. + +**Conform to Consistent ID of a Cloud Region** + + Northbound API v1 supports the composite keys {cloud-owner}/{cloud-region-id} as + the ID of a cloud region + +**Decoupling between cloud-region-id and OpenStack Region ID** + + {cloud-region-id} should be populated by users while on-boarding a cloud region, + With ONAP A and B release, it must be the same as the "OpenStack Region ID" of the + represented OpenStack instance. From ONAP C release, this restriction has been removed. + + The backward compatibility is maintained so that user can still populate the {cloud-reigon-id} by + "OpenStack Region ID". + + Users could also specify the "OpenStack Region ID" while onboarding a cloud region + out of multi-region instances. + + Note: There are still restrictions to populate {cloud-owner} and {cloud-region-id}, please + refer to section "On-board a Cloud Region" + +**Support on-boarding of Multi-Region instances** + + Multiple OpenStack instances federated with the "multi-region" feature + can be on-boarded into ONAP with a single click. ONAP user needs to + register only the primary region into ONAP, and the multicloud plugin for Wind River + + Titanium Cloud will discover and on-board all other secondary regions automatically. + + This feature supports Titanium Cloud feature "Distributed Cloud" to on-board all subclouds with a single click. + + This feature can be controlled by user with configuration options while on-boarding a cloud region + +**HPA discovery** + + MultiCloud plugin for Wind River Titanium Cloud supports discover and + registration into AAI with regarding to following HPA capability: + CPU Pinning, HugePage, ... + +**Cloud Region decommission** + + MultiCloud plugin for Wind River Titanium Cloud support the decommission of a cloud region with a single API requests. + This API is not yet integrated with ESR GUI portal. + +**VESagent** + + MultiCloud plugin for Wind River Titanium Cloud supports VESagent + which can be configured to monitor the VM status and assert or abate + fault event to VES collector for close loop control over + infrastructure resources. + +**LOGGING** + MultiCloud plugin for Wind River Titanium Cloud supports centralized logging with OOM deployed ONAP + + +Supported Use Cases +``````````````````` + +**vFW/vDNS** + + The vFW/vDNS are the VNFs modeled with HEAT templates + MultiCloud plugin for Wind River Titanium Cloud has been tested with vFW/vDNS use cases from Amsterdam Release. + +**vCPE** + + **vCPE without HPA orchestration** + vCPE is the VNF modeled with HEAT templates, basic Use case from Amsterdam Release + does not include any HPA orchestration. + + **vCPE with HPA orchestration** + From Beijing Release,a variation of vCPE use case include HPA orchestration + + MultiCloud plugin for Wind River Titanium Cloud has been tested with both cases. + +**vVoLTE** + + MultiCloud plugin for Wind River Titanium Cloud has been tested with vVoLTE use case. + + +Known Issues: +`````````````````` + +1, MULTICLOUD-359 : The image uploading API from VFC specific NBI does not work with large image file. + + + +.. include:: Tutorial-Onboard-WindRiver-TitaniumCloud.rst + + +Tutorial: Cloud Region Decommission: +```````````````````````````````````` + +ESR GUI Portal cannot decommission a cloud region which has been updated by +MultiCloud Plugin for Wind River Titanium Cloud, and it does not request MultiCloud +to help on that yet. So it is required to issue a rest API request to MultiCloud with +a single curl commands: + + +.. code-block:: console + + curl -X DELETE \ + 'http://$ONAP_MSB_IP:$ONAP_MSB_PORT/api/multicloud-titaniumcloud/v0/CloudOwner_RegionOne' \ + -H 'Accept: application/json' \ + -H 'Cache-Control: no-cache' \ + -H 'Content-Type: application/json' \ + -H 'Postman-Token: 8577e1cc-1038-471d-8b3b-d36fe44ae023' + + +.. include:: Tutorial-HPA-Provision-Discovery-WindRiver-TitaniumCloud.rst + + +.. include:: Tutorial-VESagent-MultiCloud-WindRiver-TitaniumCloud.rst -- cgit 1.2.3-korg