Browse Source

Add documents for multi-version API support

This patch provides Tacker documents for multi-version API support.
VNF LCM API Version 2 is added to API Reference and the page hierarchy
is changed for readability.
Also, the Show VNF LCM Versions command is added to Command-Line
Interface Reference.
Furthermore, a manual of the Userdata script is added to Tacker User
Guide.

Implements: blueprint multi-version-api
Implements: blueprint support-nfv-solv3-start-and-terminate-vnf
Implements: blueprint support-nfv-solv3-query-vnf-instances
Implements: blueprint support-nfv-solv3-query-operation-occurrences
Implements: blueprint support-nfv-solv3-subscriptions
Change-Id: I603e32090303af080b17e549a0caf7e862aa7e1e
changes/55/807855/11
Hirofumi Noguchi 8 months ago
parent
commit
f24afcf705
  1. 17
      api-ref/source/index.rst
  2. 8
      api-ref/source/v1/legacy.rst
  3. 2
      api-ref/source/v1/parameters_vnflcm.yaml
  4. 44
      api-ref/source/v1/parameters_vnflcm_versions.yaml
  5. 13
      api-ref/source/v1/samples/vnflcm_versions/list-vnflcm-version-response.json
  6. 9
      api-ref/source/v1/samples/vnflcm_versions/show-vnflcm-version-response.json
  7. 2
      api-ref/source/v1/status.yaml
  8. 9
      api-ref/source/v1/vnflcm.rst
  9. 97
      api-ref/source/v1/vnflcm_versions.inc
  10. 9
      api-ref/source/v1/vnflcm_versions.rst
  11. 9
      api-ref/source/v1/vnfpkgm.rst
  12. 1426
      api-ref/source/v2/parameters_vnflcm.yaml
  13. 3
      api-ref/source/v2/samples/vnflcm/create-subscription-request.json
  14. 10
      api-ref/source/v2/samples/vnflcm/create-subscription-response.json
  15. 5
      api-ref/source/v2/samples/vnflcm/create-vnf-instance-request.json
  16. 22
      api-ref/source/v2/samples/vnflcm/create-vnf-instance-response.json
  17. 128
      api-ref/source/v2/samples/vnflcm/instantiate-vnf-instance-request.json
  18. 12
      api-ref/source/v2/samples/vnflcm/list-subscription-response.json
  19. 473
      api-ref/source/v2/samples/vnflcm/list-vnf-instance-response.json
  20. 232
      api-ref/source/v2/samples/vnflcm/list-vnflcm-operation-occurrence-response.json
  21. 10
      api-ref/source/v2/samples/vnflcm/show-subscription-response.json
  22. 471
      api-ref/source/v2/samples/vnflcm/show-vnf-instance-response.json
  23. 229
      api-ref/source/v2/samples/vnflcm/show-vnflcm-operation-occurrence-response.json
  24. 4
      api-ref/source/v2/samples/vnflcm/terminate-vnf-instance-request.json
  25. 88
      api-ref/source/v2/status.yaml
  26. 939
      api-ref/source/v2/vnflcm.inc
  27. 9
      api-ref/source/v2/vnflcm.rst
  28. 78
      doc/source/cli/cli-etsi-vnflcm.rst
  29. 6
      doc/source/user/etsi_vnf_error_handling.rst
  30. 12
      doc/source/user/resources.rst
  31. 309
      doc/source/user/userdata_script.rst
  32. 13
      doc/source/user/vnf-package.rst

17
api-ref/source/index.rst

@ -2,7 +2,22 @@
NFV Orchestration Service APIs
==============================
NFV Orchestration API v1.0
--------------------------
.. toctree::
:maxdepth: 1
v1/legacy
v1/vnfpkgm
v1/vnflcm_versions
v1/vnflcm
NFV Orchestration API v2.0
--------------------------
.. toctree::
:maxdepth: 1
v1/index
v1/vnflcm_versions
v2/vnflcm

8
api-ref/source/v1/index.rst → api-ref/source/v1/legacy.rst

@ -1,8 +1,8 @@
:tocdepth: 2
##########################
NFV Orchestration API v1.0
##########################
#################
Legacy Tacker API
#################
.. rest_expand_all::
@ -19,5 +19,3 @@ NFV Orchestration API v1.0
.. include:: classifiers.inc
.. include:: nsds.inc
.. include:: nss.inc
.. include:: vnf_packages.inc
.. include:: vnflcm.inc

2
api-ref/source/v1/parameters_vnflcm.yaml

@ -1341,7 +1341,7 @@ vnf_link_port_cp_instance_id:
instance.
The value refers to an "extCpInfo" item in the VnfInstance or a
"vnfcCpInfo" item of a "vnfcResouceInfo" item in the VnfInstance.
"vnfcCpInfo" item of a "vnfcResourceInfo" item in the VnfInstance.
in: body
required: false
type: string

44
api-ref/source/v1/parameters_vnflcm_versions.yaml

@ -0,0 +1,44 @@
# variables in header
api_Major_Version:
description: |
Indicates the major version of API.
in: path
required: true
type: string
# variables in body
api_Versions:
description: |
Version(s) supported for the API signalled by the uriPrefix attribute.
in: body
required: true
type: Structure (inlined)
isDeprecated:
description: |
This attribute indicates whether use of the version signalled
by the version attribute is deprecated (true) or not (false).
in: body
required: false
type: boolean
retirementDate:
description: |
The date and time after which the API version will no longer be
supported. This attribute may be included if the value of the isDeprecated
attribute is set to true and shall be absent otherwise.
in: body
required: false
type: datetime
uriPrefix:
description: |
URI prefix for the API.
in: body
required: true
type: string
version:
description: |
Supported version.
in: body
required: true
type: String

13
api-ref/source/v1/samples/vnflcm_versions/list-vnflcm-version-response.json

@ -0,0 +1,13 @@
{
"uriPrefix": "/vnflcm",
"apiVersions": [
{
"version": "1.3.0",
"isDeprecated": false
},
{
"version": "2.0.0",
"isDeprecated": false
}
]
}

9
api-ref/source/v1/samples/vnflcm_versions/show-vnflcm-version-response.json

@ -0,0 +1,9 @@
{
"uriPrefix": "/vnflcm/v1",
"apiVersions": [
{
"version": "1.3.0",
"isDeprecated": false
}
]
}

2
api-ref/source/v1/status.yaml

@ -63,7 +63,7 @@
409:
default: |
This operation conflicted with another operation on this resource.
duplcate_zone: |
duplicate_zone: |
There is already a zone with this name.
416:
default: |

9
api-ref/source/v1/vnflcm.rst

@ -0,0 +1,9 @@
:tocdepth: 2
#####################################################################
Virtualized Network Function Lifecycle Management Interface (VNF LCM)
#####################################################################
.. rest_expand_all::
.. include:: vnflcm.inc

97
api-ref/source/v1/vnflcm_versions.inc

@ -0,0 +1,97 @@
.. -*- rst -*-
==============================================================
Virtualized Network Function Lifecycle Management API Versions
==============================================================
List VNFLCM API versions
========================
.. rest_method:: GET /vnflcm/api_versions
This method retrieves the list of all supported versions for
VNF LCM API.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 200
.. rest_status_code:: error status.yaml
- 400
- 401
Request Example
---------------
.. literalinclude:: samples/vnflcm/create-vnf-instance-request.json
:language: javascript
Response Parameters
-------------------
.. rest_parameters:: parameters_vnflcm_versions.yaml
- uriPrefix: uriPrefix
- apiVersions: api_Versions
- \>version: version
- \>isDeprecated: isDeprecated
- \>retirementDate: retirementDate
Response Example
----------------
.. literalinclude:: samples/vnflcm_versions/list-vnflcm-version-response.json
:language: javascript
Show VNFLCM API versions
========================
.. rest_method:: GET /vnflcm/{apiMajorVersion}/api_versions
This method retrieves the list of supported versions for
VNF LCM API corresponding to the {apiMajorVersion}.
Request Parameters
------------------
.. rest_parameters:: parameters_vnflcm_versions.yaml
- apiMajorVersion: api_Major_Version
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 200
.. rest_status_code:: error status.yaml
- 400
- 401
Response Parameters
-------------------
.. rest_parameters:: parameters_vnflcm_versions.yaml
- uriPrefix: uriPrefix
- apiVersions: api_Versions
- \>version: version
- \>isDeprecated: isDeprecated
- \>retirementDate: retirementDate
Response Example
----------------
.. literalinclude:: samples/vnflcm_versions/show-vnflcm-version-response.json
:language: javascript

9
api-ref/source/v1/vnflcm_versions.rst

@ -0,0 +1,9 @@
:tocdepth: 2
#############################################################################
Virtualized Network Function Lifecycle Management Versions (VNF LCM versions)
#############################################################################
.. rest_expand_all::
.. include:: vnflcm_versions.inc

9
api-ref/source/v1/vnfpkgm.rst

@ -0,0 +1,9 @@
:tocdepth: 2
####################################################
Virtualized Network Function Packages (VNF packages)
####################################################
.. rest_expand_all::
.. include:: vnf_packages.inc

1426
api-ref/source/v2/parameters_vnflcm.yaml

File diff suppressed because it is too large Load Diff

3
api-ref/source/v2/samples/vnflcm/create-subscription-request.json

@ -0,0 +1,3 @@
{
"callbackUri": "http://127.0.0.1/"
}

10
api-ref/source/v2/samples/vnflcm/create-subscription-response.json

@ -0,0 +1,10 @@
{
"_links": {
"self": {
"href": "http://127.0.0.1:9890/v2/vnflcm/subscriptions/084cf869-d787-4c1a-b43b-405a25ed98da"
}
},
"callbackUri": "http://127.0.0.1/",
"id": "084cf869-d787-4c1a-b43b-405a25ed98da",
"verbosity": "FULL"
}

5
api-ref/source/v2/samples/vnflcm/create-vnf-instance-request.json

@ -0,0 +1,5 @@
{
"vnfInstanceDescription": "test sample1",
"vnfInstanceName": "sample1",
"vnfdId": "da459819-a2eb-442b-b9a2-0c1c02466baf"
}

22
api-ref/source/v2/samples/vnflcm/create-vnf-instance-response.json

@ -0,0 +1,22 @@
{
"_links": {
"instantiate": {
"href": "http://127.0.0.1:9890/v2/vnflcm/vnf_instances/99e2bae9-45d3-4ca1-83f4-34d44ca25bee/instantiate"
},
"self": {
"href": "http://127.0.0.1:9890/v2/vnflcm/vnf_instances/99e2bae9-45d3-4ca1-83f4-34d44ca25bee"
}
},
"extensions": {},
"id": "99e2bae9-45d3-4ca1-83f4-34d44ca25bee",
"instantiationState": "NOT_INSTANTIATED",
"metadata": {},
"vnfConfigurableProperties": {},
"vnfInstanceDescription": "test sample1",
"vnfInstanceName": "sample1",
"vnfProductName": "Sample VNF",
"vnfProvider": "Company",
"vnfSoftwareVersion": "1.0",
"vnfdId": "da459819-a2eb-442b-b9a2-0c1c02466baf",
"vnfdVersion": "1.0"
}

128
api-ref/source/v2/samples/vnflcm/instantiate-vnf-instance-request.json

@ -0,0 +1,128 @@
{
"extManagedVirtualLinks": [
{
"id": "7a6fe192-c34b-4029-937d-f1a2e7a00f5a",
"resourceId": "11f8a056-0495-4ca6-8de9-94402604663f",
"vnfVirtualLinkDescId": "internalVL1"
}
],
"extVirtualLinks": [
{
"extCps": [
{
"cpConfig": {
"VDU1_CP1_1": {
"cpProtocolData": [
{
"ipOverEthernet": {
"ipAddresses": [
{
"numDynamicAddresses": 1,
"type": "IPV4"
}
]
},
"layerProtocol": "IP_OVER_ETHERNET"
}
]
}
},
"cpdId": "VDU1_CP1"
},
{
"cpConfig": {
"VDU2_CP1_1": {
"cpProtocolData": [
{
"ipOverEthernet": {
"ipAddresses": [
{
"fixedAddresses": [
"10.10.0.101"
],
"type": "IPV4"
}
]
},
"layerProtocol": "IP_OVER_ETHERNET"
}
]
}
},
"cpdId": "VDU2_CP1"
}
],
"id": "b0b2f836-a275-4374-834e-ed336a563b1e",
"resourceId": "1948231e-bbf0-4ff9-a692-40f8d6d5c90d"
},
{
"extCps": [
{
"cpConfig": {
"VDU1_CP2_1": {
"cpProtocolData": [
{
"ipOverEthernet": {
"ipAddresses": [
{
"numDynamicAddresses": 1,
"subnetId": "1d4877ea-b810-4093-95de-bee62b2363f1",
"type": "IPV4"
}
]
},
"layerProtocol": "IP_OVER_ETHERNET"
}
]
}
},
"cpdId": "VDU1_CP2"
},
{
"cpConfig": {
"VDU2_CP2_1": {
"cpProtocolData": [
{
"ipOverEthernet": {
"ipAddresses": [
{
"fixedAddresses": [
"10.10.1.101"
],
"subnetId": "1d4877ea-b810-4093-95de-bee62b2363f1",
"type": "IPV4"
}
]
},
"layerProtocol": "IP_OVER_ETHERNET"
}
]
}
},
"cpdId": "VDU2_CP2"
}
],
"id": "6766a8d4-cad1-43f1-b0cb-ce0ef9267661",
"resourceId": "5af7e28a-e744-4b4f-a1a4-c7d0f7d93cd7"
}
],
"flavourId": "simple",
"instantiationLevelId": "instantiation_level_1",
"vimConnectionInfo": {
"vim1": {
"accessInfo": {
"password": "devstack",
"project": "nfv",
"projectDomain": "Default",
"region": "RegionOne",
"userDomain": "Default",
"username": "nfv_user"
},
"interfaceInfo": {
"endpoint": "http://localhost/identity/v3"
},
"vimId": "03e608b2-e7d4-44fa-bd84-74fb24be3ed5",
"vimType": "ETSINFV.OPENSTACK_KEYSTONE.V_3"
}
}
}

12
api-ref/source/v2/samples/vnflcm/list-subscription-response.json

@ -0,0 +1,12 @@
[
{
"_links": {
"self": {
"href": "http://127.0.0.1:9890/v2/vnflcm/subscriptions/cd87e3d6-9bbe-4ad1-bb21-0f5c3e4e777d"
}
},
"callbackUri": "http://127.0.0.1/",
"id": "cd87e3d6-9bbe-4ad1-bb21-0f5c3e4e777d",
"verbosity": "FULL"
}
]

473
api-ref/source/v2/samples/vnflcm/list-vnf-instance-response.json

@ -0,0 +1,473 @@
[
{
"_links": {
"self": {
"href": "http://127.0.0.1:9890/v2/vnflcm/vnf_instances/99e2bae9-45d3-4ca1-83f4-34d44ca25bee"
},
"terminate": {
"href": "http://127.0.0.1:9890/v2/vnflcm/vnf_instances/99e2bae9-45d3-4ca1-83f4-34d44ca25bee/terminate"
}
},
"extensions": {},
"id": "99e2bae9-45d3-4ca1-83f4-34d44ca25bee",
"instantiatedVnfInfo": {
"extCpInfo": [
{
"associatedVnfcCpId": "f52ba062-48fc-4ff1-bad0-e3a5b29d50bd",
"cpConfigId": "VDU2_CP2_1",
"cpProtocolInfo": [
{
"ipOverEthernet": {
"ipAddresses": [
{
"addresses": [
"10.10.1.101"
],
"subnetId": "1d4877ea-b810-4093-95de-bee62b2363f1",
"type": "IPV4"
}
]
},
"layerProtocol": "IP_OVER_ETHERNET"
}
],
"cpdId": "VDU2_CP2",
"extLinkPortId": "c9008244-6561-49cf-a9a3-6218034e6b02",
"id": "ef2c2ee9-6cdb-4d68-b091-b8a4babdced5"
},
{
"associatedVnfcCpId": "30711c7a-f02b-4ae5-ac9f-eb61828e0f5e",
"cpConfigId": "VDU2_CP1_1",
"cpProtocolInfo": [
{
"ipOverEthernet": {
"ipAddresses": [
{
"addresses": [
"10.10.0.101"
],
"type": "IPV4"
}
]
},
"layerProtocol": "IP_OVER_ETHERNET"
}
],
"cpdId": "VDU2_CP1",
"extLinkPortId": "c19db045-8526-4d2d-8daf-819905f9b3fb",
"id": "96d97d70-c431-4a78-8072-42a974d525aa"
},
{
"associatedVnfcCpId": "bdf62eb2-c2cb-4a11-84b7-eda2526c8d11",
"cpConfigId": "VDU1_CP1_1",
"cpProtocolInfo": [
{
"ipOverEthernet": {
"ipAddresses": [
{
"isDynamic": true,
"type": "IPV4"
}
]
},
"layerProtocol": "IP_OVER_ETHERNET"
}
],
"cpdId": "VDU1_CP1",
"extLinkPortId": "51043a84-78f4-4bbe-832d-a7fcfbd3cb23",
"id": "2c3a08c9-ab43-4bb8-a4b9-b1d9c2c6ff94"
},
{
"associatedVnfcCpId": "1cb04dd2-3a28-4be5-8b87-74a21fbb62dc",
"cpConfigId": "VDU1_CP2_1",
"cpProtocolInfo": [
{
"ipOverEthernet": {
"ipAddresses": [
{
"isDynamic": true,
"subnetId": "1d4877ea-b810-4093-95de-bee62b2363f1",
"type": "IPV4"
}
]
},
"layerProtocol": "IP_OVER_ETHERNET"
}
],
"cpdId": "VDU1_CP2",
"extLinkPortId": "f190426f-63a7-42a5-ad12-44c6bc464f13",
"id": "f8428c7d-2268-40f9-9bea-fa9539d118be"
}
],
"extManagedVirtualLinkInfo": [
{
"id": "7a6fe192-c34b-4029-937d-f1a2e7a00f5a",
"networkResource": {
"resourceId": "11f8a056-0495-4ca6-8de9-94402604663f"
},
"vnfLinkPorts": [
{
"cpInstanceId": "1c55be13-988f-4499-a8e5-3a9f2d0d3913",
"cpInstanceType": "VNFC_CP",
"id": "b8b0430e-169c-442a-9c48-8fb8c4c3db4d",
"resourceHandle": {
"resourceId": "7fe18c76-85eb-4e90-ba95-df6e6bad2cd6",
"vimConnectionId": "03e608b2-e7d4-44fa-bd84-74fb24be3ed5",
"vimLevelResourceType": "OS::Neutron::Port"
}
},
{
"cpInstanceId": "ab497ce5-b57e-48d1-8bc1-8f58eac6b45d",
"cpInstanceType": "VNFC_CP",
"id": "2950622a-ded8-4160-88dc-2bf0f02529dd",
"resourceHandle": {
"resourceId": "07dc4096-49c7-478d-986a-fd132efd573a",
"vimConnectionId": "03e608b2-e7d4-44fa-bd84-74fb24be3ed5",
"vimLevelResourceType": "OS::Neutron::Port"
}
}
],
"vnfVirtualLinkDescId": "internalVL1"
}
],
"extVirtualLinkInfo": [
{
"currentVnfExtCpData": [
{
"cpConfig": {
"VDU1_CP1_1": {
"cpProtocolData": [
{
"ipOverEthernet": {
"ipAddresses": [
{
"numDynamicAddresses": 1,
"type": "IPV4"
}
]
},
"layerProtocol": "IP_OVER_ETHERNET"
}
]
}
},
"cpdId": "VDU1_CP1"
},
{
"cpConfig": {
"VDU2_CP1_1": {
"cpProtocolData": [
{
"ipOverEthernet": {
"ipAddresses": [
{
"fixedAddresses": [
"10.10.0.101"
],
"type": "IPV4"
}
]
},
"layerProtocol": "IP_OVER_ETHERNET"
}
]
}
},
"cpdId": "VDU2_CP1"
}
],
"extLinkPorts": [
{
"cpInstanceId": "96d97d70-c431-4a78-8072-42a974d525aa",
"id": "c19db045-8526-4d2d-8daf-819905f9b3fb",
"resourceHandle": {
"resourceId": "c1f49f87-37ff-437b-84a0-91a346fdec55",
"vimConnectionId": "03e608b2-e7d4-44fa-bd84-74fb24be3ed5",
"vimLevelResourceType": "OS::Neutron::Port"
}
},
{
"cpInstanceId": "2c3a08c9-ab43-4bb8-a4b9-b1d9c2c6ff94",
"id": "51043a84-78f4-4bbe-832d-a7fcfbd3cb23",
"resourceHandle": {
"resourceId": "88bc7eee-0893-4892-b0d3-d58d1c2293a8",
"vimConnectionId": "03e608b2-e7d4-44fa-bd84-74fb24be3ed5",
"vimLevelResourceType": "OS::Neutron::Port"
}
}
],
"id": "b0b2f836-a275-4374-834e-ed336a563b1e",
"resourceHandle": {
"resourceId": "1948231e-bbf0-4ff9-a692-40f8d6d5c90d"
}
},
{
"currentVnfExtCpData": [
{
"cpConfig": {
"VDU1_CP2_1": {
"cpProtocolData": [
{
"ipOverEthernet": {
"ipAddresses": [
{
"numDynamicAddresses": 1,
"subnetId": "1d4877ea-b810-4093-95de-bee62b2363f1",
"type": "IPV4"
}
]
},
"layerProtocol": "IP_OVER_ETHERNET"
}
]
}
},
"cpdId": "VDU1_CP2"
},
{
"cpConfig": {
"VDU2_CP2_1": {
"cpProtocolData": [
{
"ipOverEthernet": {
"ipAddresses": [
{
"fixedAddresses": [
"10.10.1.101"
],
"subnetId": "1d4877ea-b810-4093-95de-bee62b2363f1",
"type": "IPV4"
}
]
},
"layerProtocol": "IP_OVER_ETHERNET"
}
]
}
},
"cpdId": "VDU2_CP2"
}
],
"extLinkPorts": [
{
"cpInstanceId": "ef2c2ee9-6cdb-4d68-b091-b8a4babdced5",
"id": "c9008244-6561-49cf-a9a3-6218034e6b02",
"resourceHandle": {
"resourceId": "3c89dfce-2039-41ad-a60b-6be6488bbca6",
"vimConnectionId": "03e608b2-e7d4-44fa-bd84-74fb24be3ed5",
"vimLevelResourceType": "OS::Neutron::Port"
}
},
{
"cpInstanceId": "f8428c7d-2268-40f9-9bea-fa9539d118be",
"id": "f190426f-63a7-42a5-ad12-44c6bc464f13",
"resourceHandle": {
"resourceId": "a0db5863-e420-4191-a2bb-c8536b091bda",
"vimConnectionId": "03e608b2-e7d4-44fa-bd84-74fb24be3ed5",
"vimLevelResourceType": "OS::Neutron::Port"
}
}
],
"id": "6766a8d4-cad1-43f1-b0cb-ce0ef9267661",
"resourceHandle": {
"resourceId": "5af7e28a-e744-4b4f-a1a4-c7d0f7d93cd7"
}
}
],
"flavourId": "simple",
"virtualStorageResourceInfo": [
{
"id": "0357ecab-bdd8-403f-a91b-b80f287b536f",
"storageResource": {
"resourceId": "0ea498c7-a740-4b16-b8fd-93dbd5d8ee7d",
"vimConnectionId": "03e608b2-e7d4-44fa-bd84-74fb24be3ed5",
"vimLevelResourceType": "OS::Cinder::Volume"
},
"virtualStorageDescId": "VirtualStorage"
}
],
"vnfState": "STARTED",
"vnfVirtualLinkResourceInfo": [
{
"id": "e651053a-e17e-47e3-9665-6ec028873040",
"networkResource": {
"resourceId": "98d5c67b-c7f8-4293-890c-011184b6574b",
"vimConnectionId": "03e608b2-e7d4-44fa-bd84-74fb24be3ed5",
"vimLevelResourceType": "OS::Neutron::Net"
},
"vnfLinkPorts": [
{
"cpInstanceId": "b1cab6ba-c571-4fbf-80fd-f8e67b9fbf68",
"cpInstanceType": "VNFC_CP",
"id": "d5ec9027-dba4-4b53-be4a-7bbad1ab9f51",
"resourceHandle": {
"resourceId": "42fe1697-30a7-4a79-8547-71de0c43c8b5",
"vimConnectionId": "03e608b2-e7d4-44fa-bd84-74fb24be3ed5",
"vimLevelResourceType": "OS::Neutron::Port"
}
},
{
"cpInstanceId": "f495eec3-1420-467c-b126-19abf8396e11",
"cpInstanceType": "VNFC_CP",
"id": "a5f21c6d-3ba4-4843-b3cc-cc4c8b37be72",
"resourceHandle": {
"resourceId": "5bd09199-1409-46b1-9cd4-191e3fb7c9cb",
"vimConnectionId": "03e608b2-e7d4-44fa-bd84-74fb24be3ed5",
"vimLevelResourceType": "OS::Neutron::Port"
}
}
],
"vnfVirtualLinkDescId": "internalVL2"
},
{
"id": "5efa5ab4-4237-4b41-9e39-7f4565992acc",
"networkResource": {
"resourceId": "be459310-e24d-4430-a0b9-b9ad391f4e5e",
"vimConnectionId": "03e608b2-e7d4-44fa-bd84-74fb24be3ed5",
"vimLevelResourceType": "OS::Neutron::Net"
},
"vnfLinkPorts": [
{
"cpInstanceId": "e8111f5b-a713-4f40-a64d-fab56d038487",
"cpInstanceType": "VNFC_CP",
"id": "c02a75f8-a809-49c6-b6dc-bbda31928ef0",
"resourceHandle": {
"resourceId": "86c5a181-4232-4937-ba73-5c494f0d267a",
"vimConnectionId": "03e608b2-e7d4-44fa-bd84-74fb24be3ed5",
"vimLevelResourceType": "OS::Neutron::Port"
}
},
{
"cpInstanceId": "16686d29-8491-41f8-8f2c-6d091f83592f",
"cpInstanceType": "VNFC_CP",
"id": "bfb260e7-cfdd-45ee-8fb9-64f51d8c2064",
"resourceHandle": {
"resourceId": "de311602-f52b-44a7-af11-15b97ca28beb",
"vimConnectionId": "03e608b2-e7d4-44fa-bd84-74fb24be3ed5",
"vimLevelResourceType": "OS::Neutron::Port"
}
}
],
"vnfVirtualLinkDescId": "internalVL3"
}
],
"vnfcInfo": [
{
"id": "12e3f94b-8177-4621-8476-f9af72dddcaa",
"vduId": "VDU2",
"vnfcResourceInfoId": "d0c3f928-adca-4c9b-aaa3-1a8b43a9460d",
"vnfcState": "STARTED"
},
{
"id": "7ba99664-517a-45bd-b69c-7375018a2e2e",
"vduId": "VDU1",
"vnfcResourceInfoId": "60d4ffe7-275c-458d-9f40-0a7b43f895fd",
"vnfcState": "STARTED"
}
],
"vnfcResourceInfo": [
{
"computeResource": {
"resourceId": "edda96a2-b4c2-48ca-a06f-31976f9d9653",
"vimConnectionId": "03e608b2-e7d4-44fa-bd84-74fb24be3ed5",
"vimLevelResourceType": "OS::Nova::Server"
},
"id": "d0c3f928-adca-4c9b-aaa3-1a8b43a9460d",
"vduId": "VDU2",
"vnfcCpInfo": [
{
"cpdId": "VDU2_CP1",
"id": "30711c7a-f02b-4ae5-ac9f-eb61828e0f5e",
"vnfExtCpId": "96d97d70-c431-4a78-8072-42a974d525aa"
},
{
"cpdId": "VDU2_CP2",
"id": "f52ba062-48fc-4ff1-bad0-e3a5b29d50bd",
"vnfExtCpId": "ef2c2ee9-6cdb-4d68-b091-b8a4babdced5"
},
{
"cpdId": "VDU2_CP3",
"id": "1c55be13-988f-4499-a8e5-3a9f2d0d3913",
"vnfLinkPortId": "b8b0430e-169c-442a-9c48-8fb8c4c3db4d"
},
{
"cpdId": "VDU2_CP4",
"id": "b1cab6ba-c571-4fbf-80fd-f8e67b9fbf68",
"vnfLinkPortId": "d5ec9027-dba4-4b53-be4a-7bbad1ab9f51"
},
{
"cpdId": "VDU2_CP5",
"id": "e8111f5b-a713-4f40-a64d-fab56d038487",
"vnfLinkPortId": "c02a75f8-a809-49c6-b6dc-bbda31928ef0"
}
]
},
{
"computeResource": {
"resourceId": "66a84389-8234-4394-929f-68e0ea77fde1",
"vimConnectionId": "03e608b2-e7d4-44fa-bd84-74fb24be3ed5",
"vimLevelResourceType": "OS::Nova::Server"
},
"id": "60d4ffe7-275c-458d-9f40-0a7b43f895fd",
"storageResourceIds": [
"0357ecab-bdd8-403f-a91b-b80f287b536f"
],
"vduId": "VDU1",
"vnfcCpInfo": [
{
"cpdId": "VDU1_CP1",
"id": "bdf62eb2-c2cb-4a11-84b7-eda2526c8d11",
"vnfExtCpId": "2c3a08c9-ab43-4bb8-a4b9-b1d9c2c6ff94"
},
{
"cpdId": "VDU1_CP2",
"id": "1cb04dd2-3a28-4be5-8b87-74a21fbb62dc",
"vnfExtCpId": "f8428c7d-2268-40f9-9bea-fa9539d118be"
},
{
"cpdId": "VDU1_CP3",
"id": "ab497ce5-b57e-48d1-8bc1-8f58eac6b45d",
"vnfLinkPortId": "2950622a-ded8-4160-88dc-2bf0f02529dd"
},
{
"cpdId": "VDU1_CP4",
"id": "f495eec3-1420-467c-b126-19abf8396e11",
"vnfLinkPortId": "a5f21c6d-3ba4-4843-b3cc-cc4c8b37be72"
},
{
"cpdId": "VDU1_CP5",
"id": "16686d29-8491-41f8-8f2c-6d091f83592f",
"vnfLinkPortId": "bfb260e7-cfdd-45ee-8fb9-64f51d8c2064"
}
]
}
]
},
"instantiationState": "INSTANTIATED",
"metadata": {},
"vimConnectionInfo": {
"vim1": {
"accessInfo": {
"project": "nfv",
"projectDomain": "Default",
"region": "RegionOne",
"userDomain": "Default",
"username": "nfv_user"
},
"interfaceInfo": {
"endpoint": "http://localhost/identity/v3"
},
"vimId": "03e608b2-e7d4-44fa-bd84-74fb24be3ed5",
"vimType": "ETSINFV.OPENSTACK_KEYSTONE.V_3"
}
},
"vnfConfigurableProperties": {},
"vnfInstanceDescription": "test sample1",
"vnfInstanceName": "sample1",
"vnfProductName": "Sample VNF",
"vnfProvider": "Company",
"vnfSoftwareVersion": "1.0",
"vnfdId": "da459819-a2eb-442b-b9a2-0c1c02466baf",
"vnfdVersion": "1.0"
}
]

232
api-ref/source/v2/samples/vnflcm/list-vnflcm-operation-occurrence-response.json

@ -0,0 +1,232 @@
[
{
"_links": {
"self": {
"href": "http://127.0.0.1:9890/v2/vnflcm/vnf_lcm_op_occs/a790879c-05f9-4475-9c90-1677452d3eb5"
},
"vnfInstance": {
"href": "http://127.0.0.1:9890/v2/vnflcm/vnf_instances/e00f0d64-d7a3-459b-8a51-b402d5344296"
}
},
"id": "a790879c-05f9-4475-9c90-1677452d3eb5",
"isAutomaticInvocation": false,
"isCancelPending": false,
"operation": "INSTANTIATE",
"operationParams": {
"extManagedVirtualLinks": [
{
"id": "7a6fe192-c34b-4029-937d-f1a2e7a00f5a",
"resourceId": "11f8a056-0495-4ca6-8de9-94402604663f",
"vnfVirtualLinkDescId": "internalVL1"
}
],
"extVirtualLinks": [
{
"extCps": [
{
"cpConfig": {
"VDU1_CP1_1": {
"cpProtocolData": [
{
"ipOverEthernet": {
"ipAddresses": [
{
"numDynamicAddresses": 1,
"type": "IPV4"
}
]
},
"layerProtocol": "IP_OVER_ETHERNET"
}
]
}
},
"cpdId": "VDU1_CP1"
},
{
"cpConfig": {
"VDU2_CP1_1": {
"cpProtocolData": [
{
"ipOverEthernet": {
"ipAddresses": [
{
"fixedAddresses": [
"10.10.0.101"
],
"type": "IPV4"
}
]
},
"layerProtocol": "IP_OVER_ETHERNET"
}
]
}
},
"cpdId": "VDU2_CP1"
}
],
"id": "b0b2f836-a275-4374-834e-ed336a563b1e",
"resourceId": "1948231e-bbf0-4ff9-a692-40f8d6d5c90d"
},
{
"extCps": [
{
"cpConfig": {
"VDU1_CP2_1": {
"cpProtocolData": [
{
"ipOverEthernet": {
"ipAddresses": [
{
"numDynamicAddresses": 1,
"subnetId": "1d4877ea-b810-4093-95de-bee62b2363f1",
"type": "IPV4"
}
]
},
"layerProtocol": "IP_OVER_ETHERNET"
}
]
}
},
"cpdId": "VDU1_CP2"
},
{
"cpConfig": {
"VDU2_CP2_1": {
"cpProtocolData": [
{
"ipOverEthernet": {
"ipAddresses": [
{
"fixedAddresses": [
"10.10.1.101"
],
"subnetId": "1d4877ea-b810-4093-95de-bee62b2363f1",
"type": "IPV4"
}
]
},
"layerProtocol": "IP_OVER_ETHERNET"
}
]
}
},
"cpdId": "VDU2_CP2"
}
],
"id": "6766a8d4-cad1-43f1-b0cb-ce0ef9267661",
"resourceId": "5af7e28a-e744-4b4f-a1a4-c7d0f7d93cd7"
}
],
"flavourId": "simple",
"instantiationLevelId": "instantiation_level_1",
"vimConnectionInfo": {
"vim1": {
"accessInfo": {
"password": "devstack",
"project": "nfv",
"projectDomain": "Default",
"region": "RegionOne",
"userDomain": "Default",
"username": "nfv_user"
},
"interfaceInfo": {
"endpoint": "http://localhost/identity/v3"
},
"vimId": "03e608b2-e7d4-44fa-bd84-74fb24be3ed5",
"vimType": "ETSINFV.OPENSTACK_KEYSTONE.V_3"
}
}
},
"operationState": "COMPLETED",
"resourceChanges": {
"affectedVirtualLinks": [
{
"changeType": "ADDED",
"id": "74411165-b969-4539-99a9-3ffdbc8b1ae7",
"networkResource": {
"resourceId": "5f4cc2e3-7bce-4e90-ad1a-0d43812a4af5",
"vimConnectionId": "03e608b2-e7d4-44fa-bd84-74fb24be3ed5",
"vimLevelResourceType": "OS::Neutron::Net"
},
"vnfLinkPortIds": [
"5cf5bba1-3481-4233-a42f-98284c91b6a4",
"68f63717-9e01-4e4e-a3f4-c64e6e0f7a49"
],
"vnfVirtualLinkDescId": "internalVL2"
},
{
"changeType": "ADDED",
"id": "5b696739-1a38-4df2-8f95-f3826fc3b0b7",
"networkResource": {
"resourceId": "349a4dbb-41e9-4db9-b044-0653507b9728",
"vimConnectionId": "03e608b2-e7d4-44fa-bd84-74fb24be3ed5",
"vimLevelResourceType": "OS::Neutron::Net"
},
"vnfLinkPortIds": [
"474caf76-c227-4b84-9aa8-bb9814488917",
"9fe46983-9497-4377-a959-765734ef7871"
],
"vnfVirtualLinkDescId": "internalVL3"
}
],
"affectedVirtualStorages": [
{
"changeType": "ADDED",
"id": "359a20f2-2c66-49b4-bc4e-3cf673513688",
"storageResource": {
"resourceId": "496a70a0-c9df-43ce-8e49-3c708583eef0",
"vimConnectionId": "03e608b2-e7d4-44fa-bd84-74fb24be3ed5",
"vimLevelResourceType": "OS::Cinder::Volume"
},
"virtualStorageDescId": "VirtualStorage"
}
],
"affectedVnfcs": [
{
"affectedVnfcCpIds": [
"e3ba03a1-f8a6-4468-ab97-0e24a8c5ad37",
"e23bf017-6979-48a1-805b-ed459eb78071",
"33a8397b-7f0c-4db7-85eb-8d8c19a35f9e",
"7e9e3e7e-5ba5-4f12-ba1c-fa865719391f",
"bf741bec-5294-4ae6-9486-51a1ebdb3ad7"
],
"changeType": "ADDED",
"computeResource": {
"resourceId": "7fceb009-ed81-4b95-ad4d-8487870cac48",
"vimConnectionId": "03e608b2-e7d4-44fa-bd84-74fb24be3ed5",
"vimLevelResourceType": "OS::Nova::Server"
},
"id": "c4453bf6-d185-4d4f-9e6b-fb745bf21229",
"vduId": "VDU2"
},
{
"addedStorageResourceIds": [
"359a20f2-2c66-49b4-bc4e-3cf673513688"
],
"affectedVnfcCpIds": [
"5c0b46c4-3e08-4397-bbab-89bc196b5abd",
"c3efc6e9-1abc-407c-8421-101730cd8204",
"26847d0b-a64a-4c28-90db-25ed3d101741",
"b1647921-08b2-4cfa-a553-ebf333e602e4",
"29125d8c-d84e-4055-a76a-beed1912bca3"
],
"changeType": "ADDED",
"computeResource": {
"resourceId": "2f0f1954-0b5f-48a6-8591-f05ca2c3c74e",
"vimConnectionId": "03e608b2-e7d4-44fa-bd84-74fb24be3ed5",
"vimLevelResourceType": "OS::Nova::Server"
},
"id": "795985f6-f2c1-4a32-b318-6ac424ddf2bf",
"vduId": "VDU1"
}
]
},
"startTime": "2021-09-06T07:07:15Z",
"stateEnteredTime": "2021-09-06T07:07:15Z",
"vnfInstanceId": "e00f0d64-d7a3-459b-8a51-b402d5344296"
}
]

10
api-ref/source/v2/samples/vnflcm/show-subscription-response.json

@ -0,0 +1,10 @@
{
"_links": {
"self": {
"href": "http://127.0.0.1:9890/v2/vnflcm/subscriptions/cd87e3d6-9bbe-4ad1-bb21-0f5c3e4e777d"
}
},
"callbackUri": "http://127.0.0.1/",
"id": "cd87e3d6-9bbe-4ad1-bb21-0f5c3e4e777d",
"verbosity": "FULL"
}

471
api-ref/source/v2/samples/vnflcm/show-vnf-instance-response.json

@ -0,0 +1,471 @@
{
"_links": {
"self": {
"href": "http://127.0.0.1:9890/v2/vnflcm/vnf_instances/99e2bae9-45d3-4ca1-83f4-34d44ca25bee"
},
"terminate": {
"href": "http://127.0.0.1:9890/v2/vnflcm/vnf_instances/99e2bae9-45d3-4ca1-83f4-34d44ca25bee/terminate"
}
},
"extensions": {},
"id": "99e2bae9-45d3-4ca1-83f4-34d44ca25bee",
"instantiatedVnfInfo": {
"extCpInfo": [
{
"associatedVnfcCpId": "f52ba062-48fc-4ff1-bad0-e3a5b29d50bd",
"cpConfigId": "VDU2_CP2_1",
"cpProtocolInfo": [
{
"ipOverEthernet": {
"ipAddresses": [
{
"addresses": [
"10.10.1.101"
],
"subnetId": "1d4877ea-b810-4093-95de-bee62b2363f1",
"type": "IPV4"
}
]
},
"layerProtocol": "IP_OVER_ETHERNET"
}
],
"cpdId": "VDU2_CP2",
"extLinkPortId": "c9008244-6561-49cf-a9a3-6218034e6b02",
"id": "ef2c2ee9-6cdb-4d68-b091-b8a4babdced5"
},
{
"associatedVnfcCpId": "30711c7a-f02b-4ae5-ac9f-eb61828e0f5e",
"cpConfigId": "VDU2_CP1_1",
"cpProtocolInfo": [
{
"ipOverEthernet": {
"ipAddresses": [
{
"addresses": [
"10.10.0.101"
],
"type": "IPV4"
}
]
},
"layerProtocol": "IP_OVER_ETHERNET"
}
],
"cpdId": "VDU2_CP1",
"extLinkPortId": "c19db045-8526-4d2d-8daf-819905f9b3fb",
"id": "96d97d70-c431-4a78-8072-42a974d525aa"
},
{
"associatedVnfcCpId": "bdf62eb2-c2cb-4a11-84b7-eda2526c8d11",
"cpConfigId": "VDU1_CP1_1",
"cpProtocolInfo": [
{
"ipOverEthernet": {
"ipAddresses": [
{
"isDynamic": true,
"type": "IPV4"
}
]
},
"layerProtocol": "IP_OVER_ETHERNET"
}
],
"cpdId": "VDU1_CP1",
"extLinkPortId": "51043a84-78f4-4bbe-832d-a7fcfbd3cb23",
"id": "2c3a08c9-ab43-4bb8-a4b9-b1d9c2c6ff94"
},
{
"associatedVnfcCpId": "1cb04dd2-3a28-4be5-8b87-74a21fbb62dc",
"cpConfigId": "VDU1_CP2_1",
"cpProtocolInfo": [
{
"ipOverEthernet": {
"ipAddresses": [
{
"isDynamic": true,
"subnetId": "1d4877ea-b810-4093-95de-bee62b2363f1",
"type": "IPV4"
}
]
},
"layerProtocol": "IP_OVER_ETHERNET"
}
],
"cpdId": "VDU1_CP2",
"extLinkPortId": "f190426f-63a7-42a5-ad12-44c6bc464f13",
"id": "f8428c7d-2268-40f9-9bea-fa9539d118be"
}
],
"extManagedVirtualLinkInfo": [
{
"id": "7a6fe192-c34b-4029-937d-f1a2e7a00f5a",
"networkResource": {
"resourceId": "11f8a056-0495-4ca6-8de9-94402604663f"
},
"vnfLinkPorts": [
{
"cpInstanceId": "1c55be13-988f-4499-a8e5-3a9f2d0d3913",
"cpInstanceType": "VNFC_CP",
"id": "b8b0430e-169c-442a-9c48-8fb8c4c3db4d",
"resourceHandle": {
"resourceId": "7fe18c76-85eb-4e90-ba95-df6e6bad2cd6",
"vimConnectionId": "03e608b2-e7d4-44fa-bd84-74fb24be3ed5",
"vimLevelResourceType": "OS::Neutron::Port"
}
},
{
"cpInstanceId": "ab497ce5-b57e-48d1-8bc1-8f58eac6b45d",
"cpInstanceType": "VNFC_CP",
"id": "2950622a-ded8-4160-88dc-2bf0f02529dd",
"resourceHandle": {
"resourceId": "07dc4096-49c7-478d-986a-fd132efd573a",
"vimConnectionId": "03e608b2-e7d4-44fa-bd84-74fb24be3ed5",
"vimLevelResourceType": "OS::Neutron::Port"
}
}
],
"vnfVirtualLinkDescId": "internalVL1"
}
],
"extVirtualLinkInfo": [
{
"currentVnfExtCpData": [
{
"cpConfig": {
"VDU1_CP1_1": {
"cpProtocolData": [
{
"ipOverEthernet": {
"ipAddresses": [
{
"numDynamicAddresses": 1,
"type": "IPV4"
}
]
},
"layerProtocol": "IP_OVER_ETHERNET"
}
]
}
},
"cpdId": "VDU1_CP1"
},
{
"cpConfig": {
"VDU2_CP1_1": {
"cpProtocolData": [
{
"ipOverEthernet": {
"ipAddresses": [
{
"fixedAddresses": [
"10.10.0.101"
],
"type": "IPV4"
}
]
},
"layerProtocol": "IP_OVER_ETHERNET"
}
]
}
},
"cpdId": "VDU2_CP1"
}
],
"extLinkPorts": [
{
"cpInstanceId": "96d97d70-c431-4a78-8072-42a974d525aa",
"id": "c19db045-8526-4d2d-8daf-819905f9b3fb",
"resourceHandle": {
"resourceId": "c1f49f87-37ff-437b-84a0-91a346fdec55",
"vimConnectionId": "03e608b2-e7d4-44fa-bd84-74fb24be3ed5",
"vimLevelResourceType": "OS::Neutron::Port"
}
},
{
"cpInstanceId": "2c3a08c9-ab43-4bb8-a4b9-b1d9c2c6ff94",
"id": "51043a84-78f4-4bbe-832d-a7fcfbd3cb23",
"resourceHandle": {
"resourceId": "88bc7eee-0893-4892-b0d3-d58d1c2293a8",
"vimConnectionId": "03e608b2-e7d4-44fa-bd84-74fb24be3ed5",
"vimLevelResourceType": "OS::Neutron::Port"
}
}
],
"id": "b0b2f836-a275-4374-834e-ed336a563b1e",
"resourceHandle": {
"resourceId": "1948231e-bbf0-4ff9-a692-40f8d6d5c90d"
}
},
{
"currentVnfExtCpData": [
{
"cpConfig": {
"VDU1_CP2_1": {
"cpProtocolData": [
{
"ipOverEthernet": {
"ipAddresses": [
{
"numDynamicAddresses": 1,
"subnetId": "1d4877ea-b810-4093-95de-bee62b2363f1",
"type": "IPV4"
}
]
},
"layerProtocol": "IP_OVER_ETHERNET"
}
]
}
},
"cpdId": "VDU1_CP2"
},
{
"cpConfig": {
"VDU2_CP2_1": {
"cpProtocolData": [
{
"ipOverEthernet": {
"ipAddresses": [
{
"fixedAddresses": [
"10.10.1.101"
],
"subnetId": "1d4877ea-b810-4093-95de-bee62b2363f1",
"type": "IPV4"
}
]
},
"layerProtocol": "IP_OVER_ETHERNET"
}
]
}
},
"cpdId": "VDU2_CP2"
}
],
"extLinkPorts": [
{
"cpInstanceId": "ef2c2ee9-6cdb-4d68-b091-b8a4babdced5",
"id": "c9008244-6561-49cf-a9a3-6218034e6b02",
"resourceHandle": {
"resourceId": "3c89dfce-2039-41ad-a60b-6be6488bbca6",
"vimConnectionId": "03e608b2-e7d4-44fa-bd84-74fb24be3ed5",
"vimLevelResourceType": "OS::Neutron::Port"
}
},
{
"cpInstanceId": "f8428c7d-2268-40f9-9bea-fa9539d118be",
"id": "f190426f-63a7-42a5-ad12-44c6bc464f13",
"resourceHandle": {
"resourceId": "a0db5863-e420-4191-a2bb-c8536b091bda",
"vimConnectionId": "03e608b2-e7d4-44fa-bd84-74fb24be3ed5",
"vimLevelResourceType": "OS::Neutron::Port"
}
}
],
"id": "6766a8d4-cad1-43f1-b0cb-ce0ef9267661",
"resourceHandle": {
"resourceId": "5af7e28a-e744-4b4f-a1a4-c7d0f7d93cd7"
}
}
],
"flavourId": "simple",
"virtualStorageResourceInfo": [
{
"id": "0357ecab-bdd8-403f-a91b-b80f287b536f",
"storageResource": {
"resourceId": "0ea498c7-a740-4b16-b8fd-93dbd5d8ee7d",
"vimConnectionId": "03e608b2-e7d4-44fa-bd84-74fb24be3ed5",
"vimLevelResourceType": "OS::Cinder::Volume"
},
"virtualStorageDescId": "VirtualStorage"
}
],
"vnfState": "STARTED",
"vnfVirtualLinkResourceInfo": [
{
"id": "e651053a-e17e-47e3-9665-6ec028873040",
"networkResource": {
"resourceId": "98d5c67b-c7f8-4293-890c-011184b6574b",
"vimConnectionId": "03e608b2-e7d4-44fa-bd84-74fb24be3ed5",
</