Merge "Add documents for enhance operations in V2"
This commit is contained in:
commit
5dbeb40687
|
@ -170,6 +170,19 @@ affected_vnfcs_vdu_id:
|
|||
in: body
|
||||
required: true
|
||||
type: string
|
||||
all:
|
||||
description: |
|
||||
Defines whether network resources and storage resources are included
|
||||
in the heal target.
|
||||
in: body
|
||||
required: false
|
||||
type: boolean
|
||||
aspect_id:
|
||||
description: |
|
||||
Identifier of the scaling aspect.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
authentication:
|
||||
description: |
|
||||
Authentication parameters to configure the use of
|
||||
|
@ -268,6 +281,125 @@ callback_uri:
|
|||
in: body
|
||||
required: true
|
||||
type: string
|
||||
cause:
|
||||
description: |
|
||||
Indicates the reason why a healing procedure is required.
|
||||
in: body
|
||||
required: false
|
||||
type: string
|
||||
change_ext_vnf_connectivity_additional_params:
|
||||
description: |
|
||||
Additional parameters passed by the NFVO as input to the process,
|
||||
specific to the VNF of which the external connectivity is changed,
|
||||
as declared in the VNFD as part of "ChangeExtVnfConnectivityOpConfig".
|
||||
in: body
|
||||
required: false
|
||||
type: key value pairs
|
||||
change_ext_vnf_connectivity_ext_virtual_links:
|
||||
description: |
|
||||
Information about external VLs to change.
|
||||
in: body
|
||||
required: true
|
||||
type: array
|
||||
changed_ext_connectivity:
|
||||
description: |
|
||||
Information about changed external connectivity,
|
||||
if applicable.
|
||||
in: body
|
||||
required: false
|
||||
type: object
|
||||
changed_ext_connectivity_id:
|
||||
description: |
|
||||
Identifier of the external VL and the related external VL
|
||||
information instance. The identifier is assigned by the
|
||||
NFV-MANO entity that manages this VL instance.
|
||||
in: body
|
||||
required: false
|
||||
type: string
|
||||
changed_info:
|
||||
description: |
|
||||
Information about the changed VNF instance information,
|
||||
including VNF configurable properties, if applicable.
|
||||
in: body
|
||||
required: false
|
||||
type: object
|
||||
changed_info_extensions:
|
||||
description: |
|
||||
If present, this attribute signals modifications of the
|
||||
"extensions" attribute in "VnfInstance".
|
||||
in: body
|
||||
required: false
|
||||
type: key value pairs
|
||||
changed_info_metadata:
|
||||
description: |
|
||||
If present, this attribute signals modifications of the
|
||||
"metadata" attribute in "VnfInstance".
|
||||
in: body
|
||||
required: false
|
||||
type: key value pairs
|
||||
changed_info_vim_connection_info:
|
||||
description: |
|
||||
If present, this attribute signals modifications of certain
|
||||
entries in the "vimConnectionInfo" attribute array in "VnfInstance".
|
||||
in: body
|
||||
required: false
|
||||
type: array
|
||||
changed_info_vnf_configurable_properties:
|
||||
description: |
|
||||
If present, this attribute signals modifications of the
|
||||
"vnfConfigurableProperties" attribute in "VnfInstance".
|
||||
in: body
|
||||
required: false
|
||||
type: key value pairs
|
||||
changed_info_vnf_instance_description:
|
||||
description: |
|
||||
If present, this attribute signals modifications of the
|
||||
"vnfInstanceDescription" attribute in "VnfInstance".
|
||||
in: body
|
||||
required: false
|
||||
type: string
|
||||
changed_info_vnf_instance_name:
|
||||
description: |
|
||||
If present, this attribute signals modifications of the
|
||||
"vnfInstanceName" attribute in "VnfInstance".
|
||||
in: body
|
||||
required: false
|
||||
type: string
|
||||
changed_info_vnf_product_name:
|
||||
description: |
|
||||
If present, this attribute signals modifications of the
|
||||
"vnfProductName" attribute in "VnfInstance".
|
||||
in: body
|
||||
required: false
|
||||
type: string
|
||||
changed_info_vnf_provider:
|
||||
description: |
|
||||
If present, this attribute signals modifications of the
|
||||
"vnfProvider" attribute in "VnfInstance".
|
||||
in: body
|
||||
required: false
|
||||
type: string
|
||||
changed_info_vnf_software_version:
|
||||
description: |
|
||||
If present, this attribute signals modifications of the
|
||||
"vnfSoftwareVersion" attribute in "VnfInstance".
|
||||
in: body
|
||||
required: false
|
||||
type: string
|
||||
changed_info_vnfd_id:
|
||||
description: |
|
||||
If present, this attribute signals modifications of the
|
||||
"vnfdId" attribute in "VnfInstance".
|
||||
in: body
|
||||
required: false
|
||||
type: string
|
||||
changed_info_vnfd_version:
|
||||
description: |
|
||||
If present, this attribute signals modifications of the
|
||||
"vnfdVersion" attribute in "VnfInstance".
|
||||
in: body
|
||||
required: false
|
||||
type: string
|
||||
cp_config:
|
||||
description: |
|
||||
List of instance data that need to be configured on the CP instances
|
||||
|
@ -275,6 +407,15 @@ cp_config:
|
|||
in: body
|
||||
required: true
|
||||
type: map
|
||||
cp_instance_id:
|
||||
description: |
|
||||
Identifier of the external Connection Point instance to which this set of
|
||||
configuration parameters is requested to be applied.
|
||||
|
||||
Shall be present if this instance has already been created.
|
||||
in: body
|
||||
required: false
|
||||
type: string
|
||||
cp_protocol_data:
|
||||
description: |
|
||||
Parameters for configuring the network protocols on the link port that
|
||||
|
@ -629,6 +770,14 @@ grant_id:
|
|||
in: body
|
||||
required: false
|
||||
type: string
|
||||
heal_additional_params:
|
||||
description: |
|
||||
Additional parameters passed by the NFVO as input to the healing process,
|
||||
specific to the VNF being healed, as declared in the VNFD as part of
|
||||
"HealVnfOpConfig".
|
||||
in: body
|
||||
required: false
|
||||
type: key value pairs
|
||||
instantiated_vnf_info:
|
||||
description: |
|
||||
Information specific to an instantiated VNF instance. This attribute shall
|
||||
|
@ -760,6 +909,14 @@ num_dynamic_addresses:
|
|||
in: body
|
||||
required: false
|
||||
type: int
|
||||
number_of_steps:
|
||||
description: |
|
||||
Number of scaling steps to be executed as part of this
|
||||
Scale VNF operation. It shall be a positive number and the
|
||||
default value shall be 1.
|
||||
in: body
|
||||
required: false
|
||||
type: int
|
||||
operation:
|
||||
description: |
|
||||
Type of the actual LCM operation represented by this
|
||||
|
@ -859,6 +1016,25 @@ resource_provider_id:
|
|||
in: body
|
||||
required: false
|
||||
type: string
|
||||
scale_additional_params:
|
||||
description: |
|
||||
Additional parameters passed by the NFVO as input to the
|
||||
scaling process, specific to the VNF being scaled, as
|
||||
declared in the VNFD as part of "ScaleVnfOpConfig".
|
||||
in: body
|
||||
required: false
|
||||
type: key value pairs
|
||||
scale_type:
|
||||
description: |
|
||||
Indicates the type of the scale operation requested.
|
||||
Permitted values:
|
||||
|
||||
SCALE_OUT: adding additional VNFC instances to the VNF to increase capacity.
|
||||
|
||||
SCALE_IN: removing VNFC instances from the VNF in order to release unused capacity.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
segmentation_id:
|
||||
description: |
|
||||
Identification of the network segment to which
|
||||
|
@ -982,7 +1158,7 @@ vim_connection_info_vim_type:
|
|||
The set of permitted values is expected to change over time as new
|
||||
types or versions of VIMs become available.
|
||||
in: body
|
||||
required: false
|
||||
required: true
|
||||
type: string
|
||||
virtual_storage_resource_info:
|
||||
description: |
|
||||
|
@ -1124,6 +1300,51 @@ vnf_instance_terminate_request_additional_params:
|
|||
in: body
|
||||
required: false
|
||||
type: key value pairs
|
||||
vnf_instance_update_configurable_properties:
|
||||
description: |
|
||||
Modifications of the "vnfConfigurableProperties" attribute in
|
||||
"VnfInstance". If present, these modifications shall be applied
|
||||
according to the rules of JSON Merge Patch.
|
||||
in: body
|
||||
required: false
|
||||
type: key value pairs
|
||||
vnf_instance_update_extensions:
|
||||
description: |
|
||||
Modifications of the "extensions" attribute in "VnfInstance".
|
||||
If present, these modifications shall be applied according to the
|
||||
rules of JSON Merge Patch.
|
||||
in: body
|
||||
required: false
|
||||
type: key value pairs
|
||||
vnf_instance_update_request_description:
|
||||
description: |
|
||||
New value of the "vnfInstanceDescription" attribute in
|
||||
"VnfInstance".
|
||||
in: body
|
||||
required: false
|
||||
type: string
|
||||
vnf_instance_update_request_metadata:
|
||||
description: |
|
||||
Modifications of the "metadata" attribute in
|
||||
"VnfInstance". If present, these modifications shall be
|
||||
applied according to the rules of JSON Merge Patch.
|
||||
in: body
|
||||
required: false
|
||||
type: key value pairs
|
||||
vnf_instance_update_request_name:
|
||||
description: |
|
||||
New value of the "vnfInstanceName" attribute in
|
||||
"VnfInstance".
|
||||
in: body
|
||||
required: false
|
||||
type: string
|
||||
vnf_instance_update_request_vnfd_id:
|
||||
description: |
|
||||
New value of the "vnfdId" attribute in "VnfInstance".
|
||||
The value "null" is not permitted.
|
||||
in: body
|
||||
required: false
|
||||
type: string
|
||||
vnf_instance_vim_connection_info:
|
||||
description: |
|
||||
Information about VIM connections to be used for managing the resources
|
||||
|
@ -1347,6 +1568,12 @@ vnf_virtual_link_resource_info_vnf_virtual_link_desc_id:
|
|||
in: body
|
||||
required: true
|
||||
type: string
|
||||
vnfc_configurable_properties:
|
||||
description: |
|
||||
Changes of the configurable properties of the VNFC instance.
|
||||
in: body
|
||||
required: true
|
||||
type: key value pairs
|
||||
vnfc_cp_info_cpd_id:
|
||||
description: |
|
||||
Identifier of the VDU CPD, cpdId, in the VNFD.
|
||||
|
@ -1378,6 +1605,21 @@ vnfc_info_id:
|
|||
in: body
|
||||
required: true
|
||||
type: string
|
||||
vnfc_info_modifications:
|
||||
description: |
|
||||
This attribute signals modifications of certain entries in the
|
||||
"vnfcInfo" attribute array in the "instantiatedVnfInfo" attribute of
|
||||
"VnfInstance".
|
||||
in: body
|
||||
required: false
|
||||
type: array
|
||||
vnfc_info_modifications_id:
|
||||
description: |
|
||||
Identifier of the VNFC instance of which the information is to be
|
||||
modified.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
vnfc_info_vdu_id:
|
||||
description: |
|
||||
Reference to the applicable VDU information element in the VNFD.
|
||||
|
@ -1414,6 +1656,12 @@ vnfc_resource_info_id:
|
|||
in: body
|
||||
required: true
|
||||
type: string
|
||||
vnfc_resource_info_ids:
|
||||
description: |
|
||||
List of VNFC instances requiring a healing action.
|
||||
in: body
|
||||
required: false
|
||||
type: array
|
||||
vnfc_resource_info_vdu_id:
|
||||
description: |
|
||||
Reference to the applicable VDU in the VNFD.
|
||||
|
|
|
@ -0,0 +1,195 @@
|
|||
{
|
||||
"additionalParams": {
|
||||
"dummy-key": "dummy-value"
|
||||
},
|
||||
"extVirtualLinks": [
|
||||
{
|
||||
"extCps": [
|
||||
{
|
||||
"cpConfig": {
|
||||
"VDU1_CP1": {
|
||||
"cpProtocolData": [
|
||||
{
|
||||
"ipOverEthernet": {
|
||||
"ipAddresses": [
|
||||
{
|
||||
"numDynamicAddresses": 1,
|
||||
"subnetId": "9df49e05-4288-48d3-bbb5-9ae902d98506",
|
||||
"type": "IPV4"
|
||||
}
|
||||
]
|
||||
},
|
||||
"layerProtocol": "IP_OVER_ETHERNET"
|
||||
}
|
||||
],
|
||||
"parentCpConfigId": "6274c3fa-1cec-41cc-add2-fc8808793cf7"
|
||||
}
|
||||
},
|
||||
"cpdId": "VDU1_CP1"
|
||||
},
|
||||
{
|
||||
"cpConfig": {
|
||||
"VDU2_CP1-1": {
|
||||
"cpProtocolData": [
|
||||
{
|
||||
"ipOverEthernet": {
|
||||
"ipAddresses": [
|
||||
{
|
||||
"numDynamicAddresses": 1,
|
||||
"subnetId": "9df49e05-4288-48d3-bbb5-9ae902d98506",
|
||||
"type": "IPV4"
|
||||
}
|
||||
]
|
||||
},
|
||||
"layerProtocol": "IP_OVER_ETHERNET"
|
||||
}
|
||||
],
|
||||
"linkPortId": "315a2b77-8076-49df-84fe-45579faf4085",
|
||||
"parentCpConfigId": "99f8ba42-3619-4fbd-81a5-999c3767237b"
|
||||
}
|
||||
},
|
||||
"cpdId": "VDU2_CP1-1"
|
||||
},
|
||||
{
|
||||
"cpConfig": {
|
||||
"VDU2_CP1-2": {
|
||||
"cpProtocolData": [
|
||||
{
|
||||
"ipOverEthernet": {
|
||||
"ipAddresses": [
|
||||
{
|
||||
"numDynamicAddresses": 1,
|
||||
"subnetId": "9df49e05-4288-48d3-bbb5-9ae902d98506",
|
||||
"type": "IPV4"
|
||||
}
|
||||
]
|
||||
},
|
||||
"layerProtocol": "IP_OVER_ETHERNET"
|
||||
}
|
||||
],
|
||||
"linkPortId": "63e41d9c-2b34-45e9-be79-13bdf9f8b3a3",
|
||||
"parentCpConfigId": "3b55b051-c5cb-41cf-bc0e-ea71e95d2636"
|
||||
}
|
||||
},
|
||||
"cpdId": "VDU2_CP1-2"
|
||||
}
|
||||
],
|
||||
"extLinkPorts": [
|
||||
{
|
||||
"id": "315a2b77-8076-49df-84fe-45579faf4085",
|
||||
"resourceHandle": {
|
||||
"resourceId": "1cb1fb17-1a8f-4052-8599-ec6858da3659"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "63e41d9c-2b34-45e9-be79-13bdf9f8b3a3",
|
||||
"resourceHandle": {
|
||||
"resourceId": "dummy-id"
|
||||
}
|
||||
}
|
||||
],
|
||||
"id": "38a38351-fbed-4637-8dcd-01ca1f69d4bb",
|
||||
"resourceId": "bbe38e96-8395-4b7f-a7da-67058922df1c",
|
||||
"resourceProviderId": "Company",
|
||||
"vimConnectionId": "defb2f96-5670-4bef-8036-27bf61267fc1"
|
||||
},
|
||||
{
|
||||
"extCps": [
|
||||
{
|
||||
"cpConfig": {
|
||||
"VDU1_CP2": {
|
||||
"cpProtocolData": [
|
||||
{
|
||||
"ipOverEthernet": {
|
||||
"ipAddresses": [
|
||||
{
|
||||
"numDynamicAddresses": 1,
|
||||
"subnetId": "775cdf14-a942-4358-a3f2-60ad423f6ad2",
|
||||
"type": "IPV4"
|
||||
}
|
||||
]
|
||||
},
|
||||
"layerProtocol": "IP_OVER_ETHERNET"
|
||||
}
|
||||
],
|
||||
"parentCpConfigId": "c09646b2-8a91-4af3-8260-71cfa865a5b1"
|
||||
}
|
||||
},
|
||||
"cpdId": "VDU1_CP2"
|
||||
},
|
||||
{
|
||||
"cpConfig": {
|
||||
"VDU2_CP2": {
|
||||
"cpProtocolData": [
|
||||
{
|
||||
"ipOverEthernet": {
|
||||
"ipAddresses": [
|
||||
{
|
||||
"fixedAddresses": [
|
||||
"100.100.100.12"
|
||||
],
|
||||
"subnetId": "775cdf14-a942-4358-a3f2-60ad423f6ad2",
|
||||
"type": "IPV4"
|
||||
},
|
||||
{
|
||||
"numDynamicAddresses": 1,
|
||||
"subnetId": "15cd2e7e-add5-42cd-b790-2fe734fcc7dc",
|
||||
"type": "IPV6"
|
||||
}
|
||||
],
|
||||
"macAddress": "fa:16:3e:fa:22:75"
|
||||
},
|
||||
"layerProtocol": "IP_OVER_ETHERNET"
|
||||
}
|
||||
],
|
||||
"parentCpConfigId": "40820a06-be32-4ea1-ae38-5f164c8de178"
|
||||
}
|
||||
},
|
||||
"cpdId": "VDU2_CP2"
|
||||
}
|
||||
],
|
||||
"id": "97a82200-328a-44f6-98cb-bfdf27c359c1",
|
||||
"resourceId": "b47d25bd-f1d8-4136-b7e7-ac8754977661",
|
||||
"resourceProviderId": "Company",
|
||||
"vimConnectionId": "defb2f96-5670-4bef-8036-27bf61267fc1"
|
||||
}
|
||||
],
|
||||
"vimConnectionInfo": {
|
||||
"vim1": {
|
||||
"accessInfo": {
|
||||
"password": "devstack",
|
||||
"project": "nfv",
|
||||
"projectDomain": "Default",
|
||||
"region": "RegionOne",
|
||||
"userDomain": "Default",
|
||||
"username": "nfv_user"
|
||||
},
|
||||
"extra": {
|
||||
"new-key": "new-val"
|
||||
},
|
||||
"interfaceInfo": {
|
||||
"endpoint": "http://localhost/identity/v3"
|
||||
},
|
||||
"vimId": "defb2f96-5670-4bef-8036-27bf61267fc1",
|
||||
"vimType": "ETSINFV.OPENSTACK_KEYSTONE.V_3"
|
||||
},
|
||||
"vim2": {
|
||||
"accessInfo": {
|
||||
"password": "dummy_password",
|
||||
"project": "dummy_project",
|
||||
"projectDomain": "Default",
|
||||
"region": "RegionOne",
|
||||
"userDomain": "Default",
|
||||
"username": "dummy_user"
|
||||
},
|
||||
"extra": {
|
||||
"dummy-key": "dummy-val"
|
||||
},
|
||||
"interfaceInfo": {
|
||||
"endpoint": "http://localhost/identity/v3"
|
||||
},
|
||||
"vimId": "c8dbc7c0-a4f4-4bff-8075-4cb555e63b7b",
|
||||
"vimType": "ETSINFV.OPENSTACK_KEYSTONE.V_3"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"_links": {
|
||||
"self": {
|
||||
"href": "http://127.0.0.1:9890/v2/vnflcm/subscriptions/084cf869-d787-4c1a-b43b-405a25ed98da"
|
||||
"href": "http://127.0.0.1:9890/vnflcm/v2/subscriptions/084cf869-d787-4c1a-b43b-405a25ed98da"
|
||||
}
|
||||
},
|
||||
"callbackUri": "http://127.0.0.1/",
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
{
|
||||
"_links": {
|
||||
"instantiate": {
|
||||
"href": "http://127.0.0.1:9890/v2/vnflcm/vnf_instances/99e2bae9-45d3-4ca1-83f4-34d44ca25bee/instantiate"
|
||||
"href": "http://127.0.0.1:9890/vnflcm/v2/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"
|
||||
"href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/99e2bae9-45d3-4ca1-83f4-34d44ca25bee"
|
||||
}
|
||||
},
|
||||
"extensions": {},
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
{
|
||||
"_links": {
|
||||
"fail": {
|
||||
"href": "http://127.0.0.1:9890/v2/vnflcm/vnf_lcm_op_occs/9b475d28-5acb-4c3b-95dd-fec2b2319643/fail"
|
||||
"href": "http://127.0.0.1:9890/vnflcm/v2/vnf_lcm_op_occs/9b475d28-5acb-4c3b-95dd-fec2b2319643/fail"
|
||||
},
|
||||
"retry": {
|
||||
"href": "http://127.0.0.1:9890/v2/vnflcm/vnf_lcm_op_occs/9b475d28-5acb-4c3b-95dd-fec2b2319643/retry"
|
||||
"href": "http://127.0.0.1:9890/vnflcm/v2/vnf_lcm_op_occs/9b475d28-5acb-4c3b-95dd-fec2b2319643/retry"
|
||||
},
|
||||
"rollback": {
|
||||
"href": "http://127.0.0.1:9890/v2/vnflcm/vnf_lcm_op_occs/9b475d28-5acb-4c3b-95dd-fec2b2319643/rollback"
|
||||
"href": "http://127.0.0.1:9890/vnflcm/v2/vnf_lcm_op_occs/9b475d28-5acb-4c3b-95dd-fec2b2319643/rollback"
|
||||
},
|
||||
"self": {
|
||||
"href": "http://127.0.0.1:9890/v2/vnflcm/vnf_lcm_op_occs/9b475d28-5acb-4c3b-95dd-fec2b2319643"
|
||||
"href": "http://127.0.0.1:9890/vnflcm/v2/vnf_lcm_op_occs/9b475d28-5acb-4c3b-95dd-fec2b2319643"
|
||||
},
|
||||
"vnfInstance": {
|
||||
"href": "http://127.0.0.1:9890/v2/vnflcm/vnf_instances/10ed068e-1284-48f2-9b6e-1c443ace9cc6"
|
||||
"href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/10ed068e-1284-48f2-9b6e-1c443ace9cc6"
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"cause": "healing",
|
||||
"additionalParams": {
|
||||
"all": false
|
||||
},
|
||||
"vnfcInstanceId": ["c51c98dc-b918-4681-a9eb-4f32a57c4e08"]
|
||||
}
|
|
@ -2,7 +2,7 @@
|
|||
{
|
||||
"_links": {
|
||||
"self": {
|
||||
"href": "http://127.0.0.1:9890/v2/vnflcm/subscriptions/cd87e3d6-9bbe-4ad1-bb21-0f5c3e4e777d"
|
||||
"href": "http://127.0.0.1:9890/vnflcm/v2/subscriptions/cd87e3d6-9bbe-4ad1-bb21-0f5c3e4e777d"
|
||||
}
|
||||
},
|
||||
"callbackUri": "http://127.0.0.1/",
|
||||
|
|
|
@ -1,11 +1,20 @@
|
|||
[
|
||||
{
|
||||
"_links": {
|
||||
"changeExtConn": {
|
||||
"href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/99e2bae9-45d3-4ca1-83f4-34d44ca25bee/change_ext_conn"
|
||||
},
|
||||
"heal": {
|
||||
"href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/99e2bae9-45d3-4ca1-83f4-34d44ca25bee/heal"
|
||||
},
|
||||
"scale": {
|
||||
"href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/99e2bae9-45d3-4ca1-83f4-34d44ca25bee/scale"
|
||||
},
|
||||
"self": {
|
||||
"href": "http://127.0.0.1:9890/v2/vnflcm/vnf_instances/99e2bae9-45d3-4ca1-83f4-34d44ca25bee"
|
||||
"href": "http://127.0.0.1:9890/vnflcm/v2/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"
|
||||
"href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/99e2bae9-45d3-4ca1-83f4-34d44ca25bee/terminate"
|
||||
}
|
||||
},
|
||||
"extensions": {},
|
||||
|
|
|
@ -3,19 +3,19 @@
|
|||
{
|
||||
"_links": {
|
||||
"fail": {
|
||||
"href": "http://127.0.0.1:9890/v2/vnflcm/vnf_lcm_op_occs/a790879c-05f9-4475-9c90-1677452d3eb5/fail"
|
||||
"href": "http://127.0.0.1:9890/vnflcm/v2/vnf_lcm_op_occs/a790879c-05f9-4475-9c90-1677452d3eb5/fail"
|
||||
},
|
||||
"retry": {
|
||||
"href": "http://127.0.0.1:9890/v2/vnflcm/vnf_lcm_op_occs/a790879c-05f9-4475-9c90-1677452d3eb5/retry"
|
||||
"href": "http://127.0.0.1:9890/vnflcm/v2/vnf_lcm_op_occs/a790879c-05f9-4475-9c90-1677452d3eb5/retry"
|
||||
},
|
||||
"rollback": {
|
||||
"href": "http://127.0.0.1:9890/v2/vnflcm/vnf_lcm_op_occs/a790879c-05f9-4475-9c90-1677452d3eb5/rollback"
|
||||
"href": "http://127.0.0.1:9890/vnflcm/v2/vnf_lcm_op_occs/a790879c-05f9-4475-9c90-1677452d3eb5/rollback"
|
||||
},
|
||||
"self": {
|
||||
"href": "http://127.0.0.1:9890/v2/vnflcm/vnf_lcm_op_occs/a790879c-05f9-4475-9c90-1677452d3eb5"
|
||||
"href": "http://127.0.0.1:9890/vnflcm/v2/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"
|
||||
"href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/e00f0d64-d7a3-459b-8a51-b402d5344296"
|
||||
}
|
||||
},
|
||||
"grantId": "30bdaa69-ef80-4545-9298-428b70ce8e4a",
|
||||
|
@ -163,19 +163,19 @@
|
|||
{
|
||||
"_links": {
|
||||
"fail": {
|
||||
"href": "http://127.0.0.1:9890/v2/vnflcm/vnf_lcm_op_occs/fdd8bdf4-8f7b-4237-99d3-c87c0910571d/fail"
|
||||
"href": "http://127.0.0.1:9890/vnflcm/v2/vnf_lcm_op_occs/fdd8bdf4-8f7b-4237-99d3-c87c0910571d/fail"
|
||||
},
|
||||
"retry": {
|
||||
"href": "http://127.0.0.1:9890/v2/vnflcm/vnf_lcm_op_occs/fdd8bdf4-8f7b-4237-99d3-c87c0910571d/retry"
|
||||
"href": "http://127.0.0.1:9890/vnflcm/v2/vnf_lcm_op_occs/fdd8bdf4-8f7b-4237-99d3-c87c0910571d/retry"
|
||||
},
|
||||
"rollback": {
|
||||
"href": "http://127.0.0.1:9890/v2/vnflcm/vnf_lcm_op_occs/fdd8bdf4-8f7b-4237-99d3-c87c0910571d/rollback"
|
||||
"href": "http://127.0.0.1:9890/vnflcm/v2/vnf_lcm_op_occs/fdd8bdf4-8f7b-4237-99d3-c87c0910571d/rollback"
|
||||
},
|
||||
"self": {
|
||||
"href": "http://127.0.0.1:9890/v2/vnflcm/vnf_lcm_op_occs/fdd8bdf4-8f7b-4237-99d3-c87c0910571d"
|
||||
"href": "http://127.0.0.1:9890/vnflcm/v2/vnf_lcm_op_occs/fdd8bdf4-8f7b-4237-99d3-c87c0910571d"
|
||||
},
|
||||
"vnfInstance": {
|
||||
"href": "http://127.0.0.1:9890/v2/vnflcm/vnf_instances/c256d5c2-f29e-474c-bced-cbc6d9e2b00b"
|
||||
"href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/c256d5c2-f29e-474c-bced-cbc6d9e2b00b"
|
||||
}
|
||||
},
|
||||
"grantId": "3aa7d8cd-6f85-4d7f-859a-eb26481157e6",
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"additionalParams": {
|
||||
"dummy-key": "dummy-value"
|
||||
},
|
||||
"aspectId": "VDU1_scale",
|
||||
"numberOfSteps": 1,
|
||||
"type": "SCALE_OUT"
|
||||
}
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"_links": {
|
||||
"self": {
|
||||
"href": "http://127.0.0.1:9890/v2/vnflcm/subscriptions/cd87e3d6-9bbe-4ad1-bb21-0f5c3e4e777d"
|
||||
"href": "http://127.0.0.1:9890/vnflcm/v2/subscriptions/cd87e3d6-9bbe-4ad1-bb21-0f5c3e4e777d"
|
||||
}
|
||||
},
|
||||
"callbackUri": "http://127.0.0.1/",
|
||||
|
|
|
@ -1,10 +1,19 @@
|
|||
{
|
||||
"_links": {
|
||||
"changeExtConn": {
|
||||
"href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/99e2bae9-45d3-4ca1-83f4-34d44ca25bee/change_ext_conn"
|
||||
},
|
||||
"heal": {
|
||||
"href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/99e2bae9-45d3-4ca1-83f4-34d44ca25bee/heal"
|
||||
},
|
||||
"scale": {
|
||||
"href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/99e2bae9-45d3-4ca1-83f4-34d44ca25bee/scale"
|
||||
},
|
||||
"self": {
|
||||
"href": "http://127.0.0.1:9890/v2/vnflcm/vnf_instances/99e2bae9-45d3-4ca1-83f4-34d44ca25bee"
|
||||
"href": "http://127.0.0.1:9890/vnflcm/v2/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"
|
||||
"href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/99e2bae9-45d3-4ca1-83f4-34d44ca25bee/terminate"
|
||||
}
|
||||
},
|
||||
"extensions": {},
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
{
|
||||
"_links": {
|
||||
"fail": {
|
||||
"href": "http://127.0.0.1:9890/v2/vnflcm/vnf_lcm_op_occs/a790879c-05f9-4475-9c90-1677452d3eb5/fail"
|
||||
"href": "http://127.0.0.1:9890/vnflcm/v2/vnf_lcm_op_occs/a790879c-05f9-4475-9c90-1677452d3eb5/fail"
|
||||
},
|
||||
"retry": {
|
||||
"href": "http://127.0.0.1:9890/v2/vnflcm/vnf_lcm_op_occs/a790879c-05f9-4475-9c90-1677452d3eb5/retry"
|
||||
"href": "http://127.0.0.1:9890/vnflcm/v2/vnf_lcm_op_occs/a790879c-05f9-4475-9c90-1677452d3eb5/retry"
|
||||
},
|
||||
"rollback": {
|
||||
"href": "http://127.0.0.1:9890/v2/vnflcm/vnf_lcm_op_occs/a790879c-05f9-4475-9c90-1677452d3eb5/rollback"
|
||||
"href": "http://127.0.0.1:9890/vnflcm/v2/vnf_lcm_op_occs/a790879c-05f9-4475-9c90-1677452d3eb5/rollback"
|
||||
},
|
||||
"self": {
|
||||
"href": "http://127.0.0.1:9890/v2/vnflcm/vnf_lcm_op_occs/a790879c-05f9-4475-9c90-1677452d3eb5"
|
||||
"href": "http://127.0.0.1:9890/vnflcm/v2/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"
|
||||
"href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/e00f0d64-d7a3-459b-8a51-b402d5344296"
|
||||
}
|
||||
},
|
||||
"grantId": "f848dd6c-6393-4104-8bfe-df764a042563",
|
||||
|
|
|
@ -0,0 +1,48 @@
|
|||
{
|
||||
"extensions": {
|
||||
"dummy-key": "dummy-value"
|
||||
},
|
||||
"metadata": {
|
||||
"dummy-key": "dummy-value"
|
||||
},
|
||||
"vimConnectionInfo": {
|
||||
"vim2": {
|
||||
"accessInfo": {
|
||||
"password": "dummy_password",
|
||||
"project": "dummy_project",
|
||||
"projectDomain": "Default",
|
||||
"region": "RegionOne",
|
||||
"userDomain": "Default",
|
||||
"username": "dummy_user"
|
||||
},
|
||||
"extra": {
|
||||
"dummy-key": "dummy-val"
|
||||
},
|
||||
"interfaceInfo": {
|
||||
"endpoint": "http://127.0.0.1/identity/v3"
|
||||
},
|
||||
"vimId": "ac2d2ece-5e49-4b15-b92d-b681e9c096d8",
|
||||
"vimType": "ETSINFV.OPENSTACK_KEYSTONE.V_3"
|
||||
}
|
||||
},
|
||||
"vnfConfigurableProperties": {
|
||||
"dummy-key": "dummy-value"
|
||||
},
|
||||
"vnfInstanceDescription": "new description",
|
||||
"vnfInstanceName": "new name",
|
||||
"vnfcInfoModifications": [
|
||||
{
|
||||
"id": "VDU1-07dfd58c-b147-4d4f-8cd6-d55f41280bb9",
|
||||
"vnfcConfigurableProperties": {
|
||||
"dummy-key": "dummy-value"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "VDU1-20637c67-9fbe-4c31-b975-6bc4bcd8c35a",
|
||||
"vnfcConfigurableProperties": {
|
||||
"dummy-key": "dummy-value"
|
||||
}
|
||||
}
|
||||
],
|
||||
"vnfdId": "5f846f98-849c-4df0-b57e-fabe9db2beff"
|
||||
}
|
|
@ -220,6 +220,48 @@ Request Example
|
|||
.. literalinclude:: samples/vnflcm/terminate-vnf-instance-request.json
|
||||
:language: javascript
|
||||
|
||||
Heal a VNF instance (v2)
|
||||
========================
|
||||
|
||||
.. rest_method:: POST /vnflcm/v2/vnf_instances/{vnfInstanceId}/heal
|
||||
|
||||
This task resource represents the "Heal VNF" operation. The client can use
|
||||
this resource to request healing a VNF instance.
|
||||
|
||||
The POST method heals a VNF instance.
|
||||
|
||||
Response Codes
|
||||
--------------
|
||||
|
||||
.. rest_status_code:: success status.yaml
|
||||
|
||||
- 202
|
||||
|
||||
.. rest_status_code:: error status.yaml
|
||||
|
||||
- 400
|
||||
- 401
|
||||
- 404
|
||||
- 406
|
||||
- 409
|
||||
- 422
|
||||
|
||||
Request Parameters
|
||||
------------------
|
||||
|
||||
.. rest_parameters:: parameters_vnflcm.yaml
|
||||
|
||||
- vnfInstanceId: vnf_instance_id
|
||||
- cause: cause
|
||||
- additionalParams: heal_additional_params
|
||||
- all: all
|
||||
- vnfcInstanceId: vnfc_resource_info_ids
|
||||
|
||||
Request Example
|
||||
---------------
|
||||
|
||||
.. literalinclude:: samples/vnflcm/heal-vnf-instance-request.json
|
||||
:language: javascript
|
||||
|
||||
Delete a VNF instance (v2)
|
||||
==========================
|
||||
|
@ -554,6 +596,191 @@ Response Example
|
|||
.. literalinclude:: samples/vnflcm/list-vnf-instance-response.json
|
||||
:language: javascript
|
||||
|
||||
Scale a VNF instance (v2)
|
||||
=========================
|
||||
|
||||
.. rest_method:: POST /vnflcm/v2/vnf_instances/{vnfInstanceId}/scale
|
||||
|
||||
This task resource represents the "Scale VNF" operation. The client can use
|
||||
this resource to request scaling a VNF instance.
|
||||
|
||||
The POST method scales a VNF instance.
|
||||
|
||||
Response Codes
|
||||
--------------
|
||||
|
||||
.. rest_status_code:: success status.yaml
|
||||
|
||||
- 202
|
||||
|
||||
.. rest_status_code:: error status.yaml
|
||||
|
||||
- 400
|
||||
- 401
|
||||
- 404
|
||||
- 406
|
||||
- 409
|
||||
- 422
|
||||
|
||||
Request Parameters
|
||||
------------------
|
||||
|
||||
.. rest_parameters:: parameters_vnflcm.yaml
|
||||
|
||||
- vnfInstanceId: vnf_instance_id
|
||||
- type: scale_type
|
||||
- aspectId: aspect_id
|
||||
- numberOfSteps: number_of_steps
|
||||
- additionalParams: scale_additional_params
|
||||
|
||||
Request Example
|
||||
---------------
|
||||
|
||||
.. literalinclude:: samples/vnflcm/scale-vnf-instance-request.json
|
||||
:language: javascript
|
||||
|
||||
Update a VNF instance (v2)
|
||||
==========================
|
||||
|
||||
.. rest_method:: PATCH vnflcm/v2/vnf_instances/{vnfInstanceId}
|
||||
|
||||
Changes to the VNF configurable properties are applied to the configuration
|
||||
in the VNF instance, and are reflected in the representation of this resource.
|
||||
Other changes are applied to the VNF instance information managed by the VNFM,
|
||||
and are reflected in the representation of this resource.
|
||||
|
||||
According to the ETSI NFV SOL document, there is no API request/response
|
||||
specification for Etag yet, and transactions using Etag are not defined
|
||||
by standardization. Therefore, the Yoga release does not support
|
||||
`Error Code: 412 Precondition Failed`. Once a standard specification
|
||||
for this is established, it will be installed on the tacker.
|
||||
|
||||
This method modifies an "Individual VNF instance".
|
||||
|
||||
Response Codes
|
||||
--------------
|
||||
|
||||
.. rest_status_code:: success status.yaml
|
||||
|
||||
- 202
|
||||
|
||||
.. rest_status_code:: error status.yaml
|
||||
|
||||
- 400
|
||||
- 401
|
||||
- 404
|
||||
- 406
|
||||
- 409
|
||||
- 422
|
||||
|
||||
Request Parameters
|
||||
------------------
|
||||
|
||||
.. rest_parameters:: parameters_vnflcm.yaml
|
||||
|
||||
- vnfInstanceId: vnf_instance_id
|
||||
- vnfInstanceName: vnf_instance_update_request_name
|
||||
- vnfInstanceDescription: vnf_instance_update_request_description
|
||||
- vnfdId: vnf_instance_update_request_vnfd_id
|
||||
- vnfConfigurableProperties: vnf_instance_update_configurable_properties
|
||||
- metadata: vnf_instance_update_request_metadata
|
||||
- extensions: vnf_instance_update_extensions
|
||||
- vimConnectionInfo: vnf_instance_vim_connection_info
|
||||
- vimId: vim_connection_info_vim_id
|
||||
- vimType: vim_connection_info_vim_type
|
||||
- interfaceInfo: vim_connection_info_interface_info
|
||||
- accessInfo: vim_connection_info_access_info
|
||||
- extra: vim_connection_info_extra
|
||||
- vnfcInfoModifications: vnfc_info_modifications
|
||||
- id: vnfc_info_modifications_id
|
||||
- vnfcConfigurableProperties: vnfc_configurable_properties
|
||||
|
||||
.. note::
|
||||
All attribute does not support "null" in JSON Merge Patch.
|
||||
For attribute whose Type is "key value pairs", the key is deleted by
|
||||
specifying null. (The attribute itself cannot be deleted.)
|
||||
|
||||
Request Example
|
||||
---------------
|
||||
|
||||
.. literalinclude:: samples/vnflcm/update-vnf-instance-request.json
|
||||
:language: javascript
|
||||
|
||||
Change External VNF Connectivity (v2)
|
||||
=====================================
|
||||
|
||||
.. rest_method:: POST /vnflcm/v2/vnf_instances/{vnfInstanceId}/change_ext_conn
|
||||
|
||||
This task resource represents the "Change external VNF connectivity" operation.
|
||||
The client can use this resource to change the external connectivity of a VNF instance.
|
||||
|
||||
The POST method changes the external connectivity of a VNF instance.
|
||||
|
||||
Response Codes
|
||||
--------------
|
||||
|
||||
.. rest_status_code:: success status.yaml
|
||||
|
||||
- 202
|
||||
|
||||
.. rest_status_code:: error status.yaml
|
||||
|
||||
- 400
|
||||
- 401
|
||||
- 404
|
||||
- 406
|
||||
- 409
|
||||
- 422
|
||||
|
||||
Request Parameters
|
||||
------------------
|
||||
|
||||
.. rest_parameters:: parameters_vnflcm.yaml
|
||||
|
||||
- vnfInstanceId: vnf_instance_id
|
||||
- extVirtualLinks: change_ext_vnf_connectivity_ext_virtual_links
|
||||
- id: ext_virtual_links_id
|
||||
- vimConnectionId: vim_connection_id
|
||||
- resourceProviderId: resource_provider_id
|
||||
- resourceId: ext_virtual_links_resource_id
|
||||
- extCps: ext_cps
|
||||
- cpdId: cpd_id
|
||||
- cpConfig: cp_config
|
||||
- parentCpConfigId: parent_cp_config_id
|
||||
- linkPortId: link_port_id
|
||||
- cpProtocolData: cp_protocol_data
|
||||
- layerProtocol: layer_protocol
|
||||
- ipOverEthernet: ip_over_ethernet
|
||||
- macAddress: mac_address
|
||||
- segmentationId: segmentation_id
|
||||
- ipAddresses: ip_addresses
|
||||
- type: ip_address_type
|
||||
- fixedAddresses: fixed_addresses
|
||||
- numDynamicAddresses: num_dynamic_addresses
|
||||
- addressRange: address_range
|
||||
- minAddress: min_address
|
||||
- maxAddress: max_address
|
||||
- subnetId: subnet_id
|
||||
- extLinkPorts: ext_link_ports
|
||||
- id: ext_link_port_id
|
||||
- resourceHandle: ext_link_port_resource_handle
|
||||
- vimConnectionId: vim_connection_id
|
||||
- resourceProviderId: resource_provider_id
|
||||
- resourceId: resource_handle_resource_id
|
||||
- vimLevelResourceType: resource_handle_vim_level_resource_type
|
||||
- vimConnectionInfo: vnf_instance_vim_connection_info
|
||||
- vimId: vim_connection_info_vim_id
|
||||
- vimType: vim_connection_info_vim_type
|
||||
- interfaceInfo: vim_connection_info_interface_info
|
||||
- accessInfo: vim_connection_info_access_info
|
||||
- extra: vim_connection_info_extra
|
||||
- additionalParams: change_ext_vnf_connectivity_additional_params
|
||||
|
||||
Request Example
|
||||
---------------
|
||||
|
||||
.. literalinclude:: samples/vnflcm/change-ext-conn-request.json
|
||||
:language: javascript
|
||||
|
||||
Show VNF LCM operation occurrence (v2)
|
||||
======================================
|
||||
|
@ -631,6 +858,59 @@ Response Parameters
|
|||
- vimConnectionId: vim_connection_id
|
||||
- resourceId: resource_handle_resource_id
|
||||
- vimLevelResourceType: resource_handle_vim_level_resource_type
|
||||
- changedInfo: changed_info
|
||||
- vnfInstanceName: changed_info_vnf_instance_name
|
||||
- vnfInstanceDescription: changed_info_vnf_instance_description
|
||||
- vnfConfigurableProperties: changed_info_vnf_configurable_properties
|
||||
- metadata: changed_info_metadata
|
||||
- extensions: changed_info_extensions
|
||||
- vimConnectionInfo: changed_info_vim_connection_info
|
||||
- vimId: vim_connection_info_vim_id
|
||||
- vimType: vim_connection_info_vim_type
|
||||
- interfaceInfo: vim_connection_info_interface_info
|
||||
- accessInfo: vim_connection_info_access_info
|
||||
- extra: vim_connection_info_extra
|
||||
- vnfdId: changed_info_vnfd_id
|
||||
- vnfProvider: changed_info_vnf_provider
|
||||
- vnfProductName: changed_info_vnf_product_name
|
||||
- vnfSoftwareVersion: changed_info_vnf_software_version
|
||||
- vnfdVersion: changed_info_vnfd_version
|
||||
- vnfcInfoModifications: vnfc_info_modifications
|
||||
- id: vnfc_info_modifications_id
|
||||
- vnfcConfigurableProperties: vnfc_configurable_properties
|
||||
- changedExtConnectivity: changed_ext_connectivity
|
||||
- id: changed_ext_connectivity_id
|
||||
- resourceHandle: resource_handle
|
||||
- vimConnectionId: vim_connection_id
|
||||
- resourceProviderId: resource_provider_id
|
||||
- resourceId: resource_handle_resource_id
|
||||
- vimLevelResourceType: resource_handle_vim_level_resource_type
|
||||
- extLinkPorts: ext_link_ports
|
||||
- id: ext_link_port_id
|
||||
- resourceHandle: resource_handle
|
||||
- vimConnectionId: vim_connection_id
|
||||
- resourceProviderId: resource_provider_id
|
||||
- resourceId: resource_handle_resource_id
|
||||
- vimLevelResourceType: resource_handle_vim_level_resource_type
|
||||
- cpInstanceId: cp_instance_id
|
||||
- currentVnfExtCpData: current_vnf_ext_cp_data
|
||||
- cpdId: cpd_id
|
||||
- cpConfig: cp_config
|
||||
- parentCpConfigId: parent_cp_config_id
|
||||
- linkPortId: link_port_id
|
||||
- cpProtocolData: cp_protocol_data
|
||||
- layerProtocol: layer_protocol
|
||||
- ipOverEthernet: ip_over_ethernet
|
||||
- macAddress: mac_address
|
||||
- segmentationId: segmentation_id
|
||||
- ipAddresses: ip_addresses
|
||||
- type: ip_address_type
|
||||
- fixedAddresses: fixed_addresses
|
||||
- numDynamicAddresses: num_dynamic_addresses
|
||||
- addressRange: address_range
|
||||
- minAddress: min_address
|
||||
- maxAddress: max_address
|
||||
- subnetId: subnet_id
|
||||
- _links: vnf_instance_links
|
||||
|
||||
Response Example
|
||||
|
@ -727,6 +1007,59 @@ Response Parameters
|
|||
- vimConnectionId: vim_connection_id
|
||||
- resourceId: resource_handle_resource_id
|
||||
- vimLevelResourceType: resource_handle_vim_level_resource_type
|
||||
- changedInfo: changed_info
|
||||
- vnfInstanceName: changed_info_vnf_instance_name
|
||||
- vnfInstanceDescription: changed_info_vnf_instance_description
|
||||
- vnfConfigurableProperties: changed_info_vnf_configurable_properties
|
||||
- metadata: changed_info_metadata
|
||||
- extensions: changed_info_extensions
|
||||
- vimConnectionInfo: changed_info_vim_connection_info
|
||||
- vimId: vim_connection_info_vim_id
|
||||
- vimType: vim_connection_info_vim_type
|
||||
- interfaceInfo: vim_connection_info_interface_info
|
||||
- accessInfo: vim_connection_info_access_info
|
||||
- extra: vim_connection_info_extra
|
||||
- vnfdId: changed_info_vnfd_id
|
||||
- vnfProvider: changed_info_vnf_provider
|
||||
- vnfProductName: changed_info_vnf_product_name
|
||||
- vnfSoftwareVersion: changed_info_vnf_software_version
|
||||
- vnfdVersion: changed_info_vnfd_version
|
||||
- vnfcInfoModifications: vnfc_info_modifications
|
||||
- id: vnfc_info_modifications_id
|
||||
- vnfcConfigurableProperties: vnfc_configurable_properties
|
||||
- changedExtConnectivity: changed_ext_connectivity
|
||||
- id: changed_ext_connectivity_id
|
||||
- resourceHandle: resource_handle
|
||||
- vimConnectionId: vim_connection_id
|
||||
- resourceProviderId: resource_provider_id
|
||||
- resourceId: resource_handle_resource_id
|
||||
- vimLevelResourceType: resource_handle_vim_level_resource_type
|
||||
- extLinkPorts: ext_link_ports
|
||||
- id: ext_link_port_id
|
||||
- resourceHandle: resource_handle
|
||||
- vimConnectionId: vim_connection_id
|
||||
- resourceProviderId: resource_provider_id
|
||||
- resourceId: resource_handle_resource_id
|
||||
- vimLevelResourceType: resource_handle_vim_level_resource_type
|
||||
- cpInstanceId: cp_instance_id
|
||||
- currentVnfExtCpData: current_vnf_ext_cp_data
|
||||
- cpdId: cpd_id
|
||||
- cpConfig: cp_config
|
||||
- parentCpConfigId: parent_cp_config_id
|
||||
- linkPortId: link_port_id
|
||||
- cpProtocolData: cp_protocol_data
|
||||
- layerProtocol: layer_protocol
|
||||
- ipOverEthernet: ip_over_ethernet
|
||||
- macAddress: mac_address
|
||||
- segmentationId: segmentation_id
|
||||
- ipAddresses: ip_addresses
|
||||
- type: ip_address_type
|
||||
- fixedAddresses: fixed_addresses
|
||||
- numDynamicAddresses: num_dynamic_addresses
|
||||
- addressRange: address_range
|
||||
- minAddress: min_address
|
||||
- maxAddress: max_address
|
||||
- subnetId: subnet_id
|
||||
- _links: vnf_instance_links
|
||||
|
||||
Response Example
|
||||
|
@ -786,6 +1119,7 @@ Response Codes
|
|||
- 404
|
||||
- 406
|
||||
- 409
|
||||
- 422
|
||||
|
||||
Request Parameters
|
||||
------------------
|
||||
|
@ -841,6 +1175,59 @@ Response Parameters
|
|||
- vimConnectionId: vim_connection_id
|
||||
- resourceId: resource_handle_resource_id
|
||||
- vimLevelResourceType: resource_handle_vim_level_resource_type
|
||||
- changedInfo: changed_info
|
||||
- vnfInstanceName: changed_info_vnf_instance_name
|
||||
- vnfInstanceDescription: changed_info_vnf_instance_description
|
||||
- vnfConfigurableProperties: changed_info_vnf_configurable_properties
|
||||
- metadata: changed_info_metadata
|
||||
- extensions: changed_info_extensions
|
||||
- vimConnectionInfo: changed_info_vim_connection_info
|
||||
- vimId: vim_connection_info_vim_id
|
||||
- vimType: vim_connection_info_vim_type
|
||||
- interfaceInfo: vim_connection_info_interface_info
|
||||
- accessInfo: vim_connection_info_access_info
|
||||
- extra: vim_connection_info_extra
|
||||
- vnfdId: changed_info_vnfd_id
|
||||
- vnfProvider: changed_info_vnf_provider
|
||||
- vnfProductName: changed_info_vnf_product_name
|
||||
- vnfSoftwareVersion: changed_info_vnf_software_version
|
||||
- vnfdVersion: changed_info_vnfd_version
|
||||
- vnfcInfoModifications: vnfc_info_modifications
|
||||
- id: vnfc_info_modifications_id
|
||||
- vnfcConfigurableProperties: vnfc_configurable_properties
|
||||
- changedExtConnectivity: changed_ext_connectivity
|
||||
- id: changed_ext_connectivity_id
|
||||
- resourceHandle: resource_handle
|
||||
- vimConnectionId: vim_connection_id
|
||||
- resourceProviderId: resource_provider_id
|
||||
- resourceId: resource_handle_resource_id
|
||||
- vimLevelResourceType: resource_handle_vim_level_resource_type
|
||||
- extLinkPorts: ext_link_ports
|
||||
- id: ext_link_port_id
|
||||
- resourceHandle: resource_handle
|
||||
- vimConnectionId: vim_connection_id
|
||||
- resourceProviderId: resource_provider_id
|
||||
- resourceId: resource_handle_resource_id
|
||||
- vimLevelResourceType: resource_handle_vim_level_resource_type
|
||||
- cpInstanceId: cp_instance_id
|
||||
- currentVnfExtCpData: current_vnf_ext_cp_data
|
||||
- cpdId: cpd_id
|
||||
- cpConfig: cp_config
|
||||
- parentCpConfigId: parent_cp_config_id
|
||||
- linkPortId: link_port_id
|
||||
- cpProtocolData: cp_protocol_data
|
||||
- layerProtocol: layer_protocol
|
||||
- ipOverEthernet: ip_over_ethernet
|
||||
- macAddress: mac_address
|
||||
- segmentationId: segmentation_id
|
||||
- ipAddresses: ip_addresses
|
||||
- type: ip_address_type
|
||||
- fixedAddresses: fixed_addresses
|
||||
- numDynamicAddresses: num_dynamic_addresses
|
||||
- addressRange: address_range
|
||||
- minAddress: min_address
|
||||
- maxAddress: max_address
|
||||
- subnetId: subnet_id
|
||||
- _links: vnf_instance_links
|
||||
|
||||
Response Example
|
||||
|
|
|
@ -183,7 +183,8 @@ Result:
|
|||
| | '3091f046-de63-44c8-ad23-f86128409b27', 'cpdId': 'CP1', 'vnfExtCpId': None, 'vnfLinkPortId': '3b667826-336c-4919-889e-e6c63d959ee6'}]}]' |
|
||||
| Instantiation State | INSTANTIATED |
|
||||
| Links | heal=href=/vnflcm/v1/vnf_instances/725f625e-f6b7-4bcd-b1b7-7184039fde45/heal, self=href=/vnflcm/v1/vnf_instances/725f625e-f6b7-4bcd-b1b7-7184039fde45, |
|
||||
| | terminate=href=/vnflcm/v1/vnf_instances/725f625e-f6b7-4bcd-b1b7-7184039fde45/terminate |
|
||||
| | terminate=href=/vnflcm/v1/vnf_instances/725f625e-f6b7-4bcd-b1b7-7184039fde45/terminate, |
|
||||
| | changeExtConn=href=/vnflcm/v1/vnf_instances/725f625e-f6b7-4bcd-b1b7-7184039fde45/change_ext_conn |
|
||||
| VIM Connection Info | [] |
|
||||
| VNF Instance Description | None |
|
||||
| VNF Instance Name | None |
|
||||
|
@ -331,7 +332,43 @@ Help:
|
|||
List of VNFC instances requiring a healing action.
|
||||
|
||||
|
||||
8. Scale VNF
|
||||
8. Update VNF
|
||||
^^^^^^^^^^^^^
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ openstack vnflcm update VNF_INSTANCE_ID --I sample_param_file.json
|
||||
|
||||
|
||||
Result:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
Update vnf:725f625e-f6b7-4bcd-b1b7-7184039fde45
|
||||
|
||||
|
||||
Help:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ openstack vnflcm update --help
|
||||
usage: openstack vnflcm update [-h] [--I <param-file>] <vnf-instance>
|
||||
|
||||
Update VNF Instance
|
||||
|
||||
positional arguments:
|
||||
<vnf-instance>
|
||||
VNF instance ID to update.
|
||||
|
||||
optional arguments:
|
||||
-h, --help show this help message and exit
|
||||
--I <param-file>
|
||||
Specify update request parameters in a json file.
|
||||
|
||||
This command is provided by the python-tackerclient plugin.
|
||||
|
||||
|
||||
9. Scale VNF
|
||||
^^^^^^^^^^^^
|
||||
|
||||
The `worker_instance` is the ID for the target scaling group.
|
||||
|
@ -378,8 +415,8 @@ Help:
|
|||
Identifier of the scaling aspect.
|
||||
|
||||
|
||||
9. Change External VNF Connectivity
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
10. Change External VNF Connectivity
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
|
@ -411,7 +448,7 @@ Help:
|
|||
-h, --help show this help message and exit
|
||||
|
||||
|
||||
10. Rollback VNF Lifecycle Management Operation
|
||||
11. Rollback VNF Lifecycle Management Operation
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
The `VNF_LCM_OP_OCC_ID` is the ID for the target lifecycle temporary failed.
|
||||
|
@ -442,7 +479,7 @@ Help:
|
|||
-h, --help show this help message and exit
|
||||
|
||||
|
||||
11. Retry
|
||||
12. Retry
|
||||
^^^^^^^^^
|
||||
|
||||
The `VNF_LCM_OP_OCC_ID` is the ID for the target lifecycle temporary failed.
|
||||
|
@ -475,7 +512,7 @@ Help:
|
|||
-h, --help show this help message and exit
|
||||
|
||||
|
||||
12. Fail
|
||||
13. Fail
|
||||
^^^^^^^^
|
||||
|
||||
The `VNF_LCM_OP_OCC_ID` is the ID for the target lifecycle temporary failed.
|
||||
|
@ -603,7 +640,7 @@ Help:
|
|||
-h, --help show this help message and exit
|
||||
|
||||
|
||||
13. List LCM Operation Occurrences
|
||||
14. List LCM Operation Occurrences
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. code-block:: console
|
||||
|
@ -650,7 +687,7 @@ Help:
|
|||
tacker server will throw bad request error
|
||||
|
||||
|
||||
14. Show LCM Operation Occurrence
|
||||
15. Show LCM Operation Occurrence
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. code-block:: console
|
||||
|
@ -714,7 +751,7 @@ Help:
|
|||
-h, --help show this help message and exit
|
||||
|
||||
|
||||
15. Show VNF LCM API versions
|
||||
16. Show VNF LCM API versions
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. code-block:: console
|
||||
|
|
|
@ -64,6 +64,17 @@ Container
|
|||
|
||||
etsi_cnf_healing
|
||||
|
||||
Update
|
||||
^^^^^^
|
||||
|
||||
VM
|
||||
~~
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
etsi_vnf_update
|
||||
|
||||
Change External VNF Connectivity
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
|
|
|
@ -281,6 +281,14 @@ Rollback VNF LCM Operation
|
|||
-
|
||||
- X
|
||||
|
||||
.. note::
|
||||
| In some cases, Rollback of Change external connectivity cannot recover
|
||||
the IP address and Port Id of virtual resources.
|
||||
| If the operation fails before performing VIM processing: updating stack,
|
||||
the IP address and Port Id will be recovered by its rollback operation.
|
||||
| Otherwise, dynamic IP address and Port Id are not recovered
|
||||
by rollback operation.
|
||||
|
||||
This manual describes the following operations as use cases for
|
||||
rollback operations.
|
||||
|
||||
|
|
|
@ -64,185 +64,188 @@ Result:
|
|||
|
||||
.. code-block:: console
|
||||
|
||||
+--------------------------+-------------------------------------------------------------------------------------------+
|
||||
| Field | Value |
|
||||
+--------------------------+-------------------------------------------------------------------------------------------+
|
||||
| ID | 9e086f34-b3c9-4986-b5e5-609a5ac4c1f9 |
|
||||
| Instantiated Vnf Info | { |
|
||||
| | "flavourId": "simple", |
|
||||
| | "vnfState": "STARTED", |
|
||||
| | "extCpInfo": [ |
|
||||
| | { |
|
||||
| | "id": "241e6022-c9be-4ad6-b7a7-ecb32de20475", |
|
||||
| | "cpdId": "CP1", |
|
||||
| | "extLinkPortId": null, |
|
||||
| | "associatedVnfcCpId": "b07ba349-1366-4d14-91e9-07842cdfa7ab", |
|
||||
| | "cpProtocolInfo": [ |
|
||||
| | { |
|
||||
| | "layerProtocol": "IP_OVER_ETHERNET" |
|
||||
| | } |
|
||||
| | ] |
|
||||
| | } |
|
||||
| | ], |
|
||||
| | "extVirtualLinkInfo": [ |
|
||||
| | { |
|
||||
| | "id": "net0", |
|
||||
| | "resourceHandle": { |
|
||||
| | "vimConnectionId": null, |
|
||||
| | "resourceId": "1948231e-bbf0-4ff9-a692-40f8d6d5c90d", |
|
||||
| | "vimLevelResourceType": null |
|
||||
| | } |
|
||||
| | } |
|
||||
| | ], |
|
||||
| | "vnfcResourceInfo": [ |
|
||||
| | { |
|
||||
| | "id": "b07ba349-1366-4d14-91e9-07842cdfa7ab", |
|
||||
| | "vduId": "VDU1", |
|
||||
| | "computeResource": { |
|
||||
| | "vimConnectionId": "13bef9df-7c54-4b37-9da0-1256953e7f60", |
|
||||
| | "resourceId": "794b9460-d799-4398-98a4-413fb04d2051", |
|
||||
| | "vimLevelResourceType": "OS::Nova::Server" |
|
||||
| | }, |
|
||||
| | "storageResourceIds": [], |
|
||||
| | "vnfcCpInfo": [ |
|
||||
| | { |
|
||||
| | "id": "f7297196-a024-4a90-9393-aadeb7de1fb3", |
|
||||
| | "cpdId": "CP1", |
|
||||
| | "vnfExtCpId": null, |
|
||||
| | "vnfLinkPortId": "cf733c70-8dc2-46b8-8d76-2ebd0bb5bd07", |
|
||||
| | "cpProtocolInfo": [ |
|
||||
| | { |
|
||||
| | "layerProtocol": "IP_OVER_ETHERNET" |
|
||||
| | } |
|
||||
| | ] |
|
||||
| | }, |
|
||||
| | { |
|
||||
| | "id": "f3851831-ed25-4e73-b913-6725085c7484", |
|
||||
| | "cpdId": "CP2", |
|
||||
| | "vnfExtCpId": null, |
|
||||
| | "vnfLinkPortId": "8cc28f47-ee72-420e-b4e8-26913d60bf55" |
|
||||
| | } |
|
||||
| | ] |
|
||||
| | }, |
|
||||
| | { |
|
||||
| | "id": "aae43bc1-a54e-46e8-9371-59c1ef5fc84d", |
|
||||
| | "vduId": "VDU2", |
|
||||
| | "computeResource": { |
|
||||
| | "vimConnectionId": "13bef9df-7c54-4b37-9da0-1256953e7f60", |
|
||||
| | "resourceId": "20e10aed-16e9-4f7c-ad0c-1e885cc1200e", |
|
||||
| | "vimLevelResourceType": "OS::Nova::Server" |
|
||||
| | }, |
|
||||
| | "storageResourceIds": [ |
|
||||
| | "21703823-33b3-4f06-a52c-28b455146a4a" |
|
||||
| | ], |
|
||||
| | "vnfcCpInfo": [ |
|
||||
| | { |
|
||||
| | "id": "d0088ed3-1639-4f3b-a369-3baae7e86540", |
|
||||
| | "cpdId": "CP3", |
|
||||
| | "vnfExtCpId": null, |
|
||||
| | "vnfLinkPortId": "d5fe9f7b-f50d-49dc-a3c8-ded2843005e4" |
|
||||
| | } |
|
||||
| | ] |
|
||||
| | } |
|
||||
| | ], |
|
||||
| | "vnfVirtualLinkResourceInfo": [ |
|
||||
| | { |
|
||||
| | "id": "45588051-a413-41a0-a55c-b31fb50fb351", |
|
||||
| | "vnfVirtualLinkDescId": "internalVL2", |
|
||||
| | "networkResource": { |
|
||||
| | "vimConnectionId": "13bef9df-7c54-4b37-9da0-1256953e7f60", |
|
||||
| | "resourceId": "f45802ae-7fff-4c6e-b62f-3d55baec4c6b", |
|
||||
| | "vimLevelResourceType": "OS::Neutron::Net" |
|
||||
| | }, |
|
||||
| | "vnfLinkPorts": [ |
|
||||
| | { |
|
||||
| | "id": "8cc28f47-ee72-420e-b4e8-26913d60bf55", |
|
||||
| | "resourceHandle": { |
|
||||
| | "vimConnectionId": "13bef9df-7c54-4b37-9da0-1256953e7f60", |
|
||||
| | "resourceId": "e020ad8f-3f85-4d13-98c1-3ea476bf2d1a", |
|
||||
| | "vimLevelResourceType": "OS::Neutron::Port" |
|
||||
| | }, |
|
||||
| | "cpInstanceId": "f3851831-ed25-4e73-b913-6725085c7484" |
|
||||
| | }, |
|
||||
| | { |
|
||||
| | "id": "d5fe9f7b-f50d-49dc-a3c8-ded2843005e4", |
|
||||
| | "resourceHandle": { |
|
||||
| | "vimConnectionId": "13bef9df-7c54-4b37-9da0-1256953e7f60", |
|
||||
| | "resourceId": "8f1588e5-4410-40eb-84ee-28336a6a0212", |
|
||||
| | "vimLevelResourceType": "OS::Neutron::Port" |
|
||||
| | }, |
|
||||
| | "cpInstanceId": "d0088ed3-1639-4f3b-a369-3baae7e86540" |
|
||||
| | } |
|
||||
| | ] |
|
||||
| | }, |
|
||||
| | { |
|
||||
| | "id": "66f3fa97-4046-4fa4-b1ff-19295501021f", |
|
||||
| | "vnfVirtualLinkDescId": "net0", |
|
||||
| | "networkResource": { |
|
||||
| | "vimConnectionId": null, |
|
||||
| | "resourceId": "1948231e-bbf0-4ff9-a692-40f8d6d5c90d", |
|
||||
| | "vimLevelResourceType": "OS::Neutron::Net" |
|
||||
| | }, |
|
||||
| | "vnfLinkPorts": [ |
|
||||
| | { |
|
||||
| | "id": "cf733c70-8dc2-46b8-8d76-2ebd0bb5bd07", |
|
||||
| | "resourceHandle": { |
|
||||
| | "vimConnectionId": "13bef9df-7c54-4b37-9da0-1256953e7f60", |
|
||||
| | "resourceId": "1db39a17-bbae-4074-8623-8a8026b51647", |
|
||||
| | "vimLevelResourceType": "OS::Neutron::Port" |
|
||||
| | }, |
|
||||
| | "cpInstanceId": "f7297196-a024-4a90-9393-aadeb7de1fb3" |
|
||||
| | } |
|
||||
| | ] |
|
||||
| | } |
|
||||
| | ], |
|
||||
| | "virtualStorageResourceInfo": [ |
|
||||
| | { |
|
||||
| | "id": "21703823-33b3-4f06-a52c-28b455146a4a", |
|
||||
| | "virtualStorageDescId": "VirtualStorage", |
|
||||
| | "storageResource": { |
|
||||
| | "vimConnectionId": "13bef9df-7c54-4b37-9da0-1256953e7f60", |
|
||||
| | "resourceId": "c6231ea2-6a90-4ba4-b38b-778a5d7110ee", |
|
||||
| | "vimLevelResourceType": "OS::Cinder::Volume" |
|
||||
| | } |
|
||||
| | } |
|
||||
| | ], |
|
||||
| | "vnfcInfo": [ |
|
||||
| | { |
|
||||
| | "id": "4c999b33-3004-4b44-a826-49d07f5becb9", |
|
||||
| | "vduId": "VDU1", |
|
||||
| | "vnfcState": "STARTED" |
|
||||
| | }, |
|
||||
| | { |
|
||||
| | "id": "d8f83af0-1b4d-4f57-b53c-fd028849be8f", |
|
||||
| | "vduId": "VDU2", |
|
||||
| | "vnfcState": "STARTED" |
|
||||
| | } |
|
||||
| | ], |
|
||||
| | "additionalParams": {} |
|
||||
| | } |
|
||||
| Instantiation State | INSTANTIATED |
|
||||
| Links | { |
|
||||
| | "self": { |
|
||||
| | "href": "/vnflcm/v1/vnf_instances/9e086f34-b3c9-4986-b5e5-609a5ac4c1f9" |
|
||||
| | }, |
|
||||
| | "terminate": { |
|
||||
| | "href": "/vnflcm/v1/vnf_instances/9e086f34-b3c9-4986-b5e5-609a5ac4c1f9/terminate" |
|
||||
| | }, |
|
||||
| | "heal": { |
|
||||
| | "href": "/vnflcm/v1/vnf_instances/9e086f34-b3c9-4986-b5e5-609a5ac4c1f9/heal" |
|
||||
| | } |
|
||||
| | } |
|
||||
| VIM Connection Info | [] |
|
||||
| VNF Instance Description | None |
|
||||
| VNF Instance Name | vnf-9e086f34-b3c9-4986-b5e5-609a5ac4c1f9 |
|
||||
| VNF Product Name | Sample VNF |
|
||||
| VNF Provider | Company |
|
||||
| VNF Software Version | 1.0 |
|
||||
| VNFD ID | b1bb0ce7-ebca-4fa7-95ed-4840d70a1177 |
|
||||
| VNFD Version | 1.0 |
|
||||
| vnfPkgId | |
|
||||
+--------------------------+-------------------------------------------------------------------------------------------+
|
||||
+--------------------------+-------------------------------------------------------------------------------------------------+
|
||||
| Field | Value |
|
||||
+--------------------------+-------------------------------------------------------------------------------------------------+
|
||||
| ID | 9e086f34-b3c9-4986-b5e5-609a5ac4c1f9 |
|
||||
| Instantiated Vnf Info | { |
|
||||
| | "flavourId": "simple", |
|
||||
| | "vnfState": "STARTED", |
|
||||
| | "extCpInfo": [ |
|
||||
| | { |
|
||||
| | "id": "241e6022-c9be-4ad6-b7a7-ecb32de20475", |
|
||||
| | "cpdId": "CP1", |
|
||||
| | "extLinkPortId": null, |
|
||||
| | "associatedVnfcCpId": "b07ba349-1366-4d14-91e9-07842cdfa7ab", |
|
||||
| | "cpProtocolInfo": [ |
|
||||
| | { |
|
||||
| | "layerProtocol": "IP_OVER_ETHERNET" |
|
||||
| | } |
|
||||
| | ] |
|
||||
| | } |
|
||||
| | ], |
|
||||
| | "extVirtualLinkInfo": [ |
|
||||
| | { |
|
||||
| | "id": "net0", |
|
||||
| | "resourceHandle": { |
|
||||
| | "vimConnectionId": null, |
|
||||
| | "resourceId": "1948231e-bbf0-4ff9-a692-40f8d6d5c90d", |
|
||||
| | "vimLevelResourceType": null |
|
||||
| | } |
|
||||
| | } |
|
||||
| | ], |
|
||||
| | "vnfcResourceInfo": [ |
|
||||
| | { |
|
||||
| | "id": "b07ba349-1366-4d14-91e9-07842cdfa7ab", |
|
||||
| | "vduId": "VDU1", |
|
||||
| | "computeResource": { |
|
||||
| | "vimConnectionId": "13bef9df-7c54-4b37-9da0-1256953e7f60", |
|
||||
| | "resourceId": "794b9460-d799-4398-98a4-413fb04d2051", |
|
||||
| | "vimLevelResourceType": "OS::Nova::Server" |
|
||||
| | }, |
|
||||
| | "storageResourceIds": [], |
|
||||
| | "vnfcCpInfo": [ |
|
||||
| | { |
|
||||
| | "id": "f7297196-a024-4a90-9393-aadeb7de1fb3", |
|
||||
| | "cpdId": "CP1", |
|
||||
| | "vnfExtCpId": null, |
|
||||
| | "vnfLinkPortId": "cf733c70-8dc2-46b8-8d76-2ebd0bb5bd07", |
|
||||
| | "cpProtocolInfo": [ |
|
||||
| | { |
|
||||
| | "layerProtocol": "IP_OVER_ETHERNET" |
|
||||
| | } |
|
||||
| | ] |
|
||||
| | }, |
|
||||
| | { |
|
||||
| | "id": "f3851831-ed25-4e73-b913-6725085c7484", |
|
||||
| | "cpdId": "CP2", |
|
||||
| | "vnfExtCpId": null, |
|
||||
| | "vnfLinkPortId": "8cc28f47-ee72-420e-b4e8-26913d60bf55" |
|
||||
| | } |
|
||||
| | ] |
|
||||
| | }, |
|
||||
| | { |
|
||||
| | "id": "aae43bc1-a54e-46e8-9371-59c1ef5fc84d", |
|
||||
| | "vduId": "VDU2", |
|
||||
| | "computeResource": { |
|
||||
| | "vimConnectionId": "13bef9df-7c54-4b37-9da0-1256953e7f60", |
|
||||
| | "resourceId": "20e10aed-16e9-4f7c-ad0c-1e885cc1200e", |
|
||||
| | "vimLevelResourceType": "OS::Nova::Server" |
|
||||
| | }, |
|
||||
| | "storageResourceIds": [ |
|
||||
| | "21703823-33b3-4f06-a52c-28b455146a4a" |
|
||||
| | ], |
|
||||
| | "vnfcCpInfo": [ |
|
||||
| | { |
|
||||
| | "id": "d0088ed3-1639-4f3b-a369-3baae7e86540", |
|
||||
| | "cpdId": "CP3", |
|
||||
| | "vnfExtCpId": null, |
|
||||
| | "vnfLinkPortId": "d5fe9f7b-f50d-49dc-a3c8-ded2843005e4" |
|
||||
| | } |
|
||||
| | ] |
|
||||
| | } |
|
||||
| | ], |
|
||||
| | "vnfVirtualLinkResourceInfo": [ |
|
||||
| | { |
|
||||
| | "id": "45588051-a413-41a0-a55c-b31fb50fb351", |
|
||||
| | "vnfVirtualLinkDescId": "internalVL2", |
|
||||
| | "networkResource": { |
|
||||
| | "vimConnectionId": "13bef9df-7c54-4b37-9da0-1256953e7f60", |
|
||||
| | "resourceId": "f45802ae-7fff-4c6e-b62f-3d55baec4c6b", |
|
||||
| | "vimLevelResourceType": "OS::Neutron::Net" |
|
||||
| | }, |
|
||||
| | "vnfLinkPorts": [ |
|
||||
| | { |
|
||||
| | "id": "8cc28f47-ee72-420e-b4e8-26913d60bf55", |
|
||||
| | "resourceHandle": { |
|
||||
| | "vimConnectionId": "13bef9df-7c54-4b37-9da0-1256953e7f60", |
|
||||
| | "resourceId": "e020ad8f-3f85-4d13-98c1-3ea476bf2d1a", |
|
||||
| | "vimLevelResourceType": "OS::Neutron::Port" |
|
||||
| | }, |
|
||||
| | "cpInstanceId": "f3851831-ed25-4e73-b913-6725085c7484" |
|
||||
| | }, |
|
||||
| | { |
|
||||
| | "id": "d5fe9f7b-f50d-49dc-a3c8-ded2843005e4", |
|
||||
| | "resourceHandle": { |
|
||||
| | "vimConnectionId": "13bef9df-7c54-4b37-9da0-1256953e7f60", |
|
||||
| | "resourceId": "8f1588e5-4410-40eb-84ee-28336a6a0212", |
|
||||
| | "vimLevelResourceType": "OS::Neutron::Port" |
|
||||
| | }, |
|
||||
| | "cpInstanceId": "d0088ed3-1639-4f3b-a369-3baae7e86540" |
|
||||
| | } |
|
||||
| | ] |
|
||||
| | }, |
|
||||
| | { |
|
||||
| | "id": "66f3fa97-4046-4fa4-b1ff-19295501021f", |
|
||||
| | "vnfVirtualLinkDescId": "net0", |
|
||||
| | "networkResource": { |
|
||||
| | "vimConnectionId": null, |
|
||||
| | "resourceId": "1948231e-bbf0-4ff9-a692-40f8d6d5c90d", |
|
||||
| | "vimLevelResourceType": "OS::Neutron::Net" |
|
||||
| | }, |
|
||||
| | "vnfLinkPorts": [ |
|
||||
| | { |
|
||||
| | "id": "cf733c70-8dc2-46b8-8d76-2ebd0bb5bd07", |
|
||||
| | "resourceHandle": { |
|
||||
| | "vimConnectionId": "13bef9df-7c54-4b37-9da0-1256953e7f60", |
|
||||
| | "resourceId": "1db39a17-bbae-4074-8623-8a8026b51647", |
|
||||
| | "vimLevelResourceType": "OS::Neutron::Port" |
|
||||
| | }, |
|
||||
| | "cpInstanceId": "f7297196-a024-4a90-9393-aadeb7de1fb3" |
|
||||
| | } |
|
||||
| | ] |
|
||||
| | } |
|
||||
| | ], |
|
||||
| | "virtualStorageResourceInfo": [ |
|
||||
| | { |
|
||||
| | "id": "21703823-33b3-4f06-a52c-28b455146a4a", |
|
||||
| | "virtualStorageDescId": "VirtualStorage", |
|
||||
| | "storageResource": { |
|
||||
| | "vimConnectionId": "13bef9df-7c54-4b37-9da0-1256953e7f60", |
|
||||
| | "resourceId": "c6231ea2-6a90-4ba4-b38b-778a5d7110ee", |
|
||||
| | "vimLevelResourceType": "OS::Cinder::Volume" |
|
||||
| | } |
|
||||
| | } |
|
||||
| | ], |
|
||||
| | "vnfcInfo": [ |
|
||||
| | { |
|
||||
| | "id": "4c999b33-3004-4b44-a826-49d07f5becb9", |
|
||||
| | "vduId": "VDU1", |
|
||||
| | "vnfcState": "STARTED" |
|
||||
| | }, |
|
||||
| | { |
|
||||
| | "id": "d8f83af0-1b4d-4f57-b53c-fd028849be8f", |
|
||||
| | "vduId": "VDU2", |
|
||||
| | "vnfcState": "STARTED" |
|
||||
| | } |
|
||||
| | ], |
|
||||
| | "additionalParams": {} |
|
||||
| | } |
|
||||
| Instantiation State | INSTANTIATED |
|
||||
| Links | { |
|
||||
| | "self": { |
|
||||
| | "href": "/vnflcm/v1/vnf_instances/9e086f34-b3c9-4986-b5e5-609a5ac4c1f9" |
|
||||
| | }, |
|
||||
| | "terminate": { |
|
||||
| | "href": "/vnflcm/v1/vnf_instances/9e086f34-b3c9-4986-b5e5-609a5ac4c1f9/terminate" |
|
||||
| | }, |
|
||||
| | "heal": { |
|
||||
| | "href": "/vnflcm/v1/vnf_instances/9e086f34-b3c9-4986-b5e5-609a5ac4c1f9/heal" |
|
||||
| | }, |
|
||||
| | "changeExtConn": { |
|
||||
| | "href": "/vnflcm/v1/vnf_instances/9e086f34-b3c9-4986-b5e5-609a5ac4c1f9/change_ext_conn" |
|
||||
| | } |
|
||||
| | } |
|
||||
| VIM Connection Info | [] |
|
||||
| VNF Instance Description | None |
|
||||
| VNF Instance Name | vnf-9e086f34-b3c9-4986-b5e5-609a5ac4c1f9 |
|
||||
| VNF Product Name | Sample VNF |
|
||||
| VNF Provider | Company |
|
||||
| VNF Software Version | 1.0 |
|
||||
| VNFD ID | b1bb0ce7-ebca-4fa7-95ed-4840d70a1177 |
|
||||
| VNFD Version | 1.0 |
|
||||
| vnfPkgId | |
|
||||
+--------------------------+-------------------------------------------------------------------------------------------------+
|
||||
|
||||
.. note::
|
||||
The value set for 'VNF Instance Name' corresponds to 'Stack Name'
|
||||
|
@ -270,6 +273,43 @@ There are two main methods for VNF healing.
|
|||
For more information on VNFC, see `NFV-SOL002 v2.6.1`_.
|
||||
|
||||
|
||||
The client can specify the target resources for healing
|
||||
with two parameters in the API request.
|
||||
|
||||
- *vnfcInstanceId* is a list which indicates VNFC instances
|
||||
for which a healing action is requested.
|
||||
|
||||
- *all* indicates whether network resources and storage resources
|
||||
are included in the heal target. This is set in the attribute
|
||||
of *additionalParams*.
|
||||
|
||||
With the combination of these parameters,
|
||||
Tacker supports the following patterns of healing.
|
||||
|
||||
- Pattern A. *vnfcInstanceId* is included in the request.
|
||||
|
||||
- Pattern A-1. *all = False* is included in the request or *all* is not
|
||||
included in the request.
|
||||
|
||||
- Only specified VNFC instances are healed.
|
||||
- Pattern A-2. *all = True* are included in the request.
|
||||
|
||||
- Specified VNFC instances and storage resources are healed.
|
||||
- Pattern B. *vnfcInstanceId* is not included in the request.
|
||||
|
||||
- Pattern B-1. *all = False* is included in the request or *all* is not
|
||||
included in the request.
|
||||
|
||||
- All VNFC instances included in the VNF instance are healed.
|
||||
- Pattern B-2. *all = True* are included in the request.
|
||||
|
||||
- All resources included in the VNF instance are healed.
|
||||
It includes VNFC instances, network resources, and storage resources
|
||||
but not external virtual networks.
|
||||
|
||||
.. note::
|
||||
*all* option is not supported by the version 1 API.
|
||||
|
||||
How to Heal of the Entire VNF
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
|
|
|
@ -29,6 +29,11 @@ The diagram below shows an overview of the VNF scaling.
|
|||
.. figure:: ../_images/etsi_vnf_scaling.png
|
||||
:align: left
|
||||
|
||||
.. note:: Scale API version 1 supports is_reverse option.
|
||||
Scale-in operation with this option deletes VNF from the last
|
||||
registered VM. Scale API version 2 does not support this option
|
||||
because it deletes VM in this order by default.
|
||||
|
||||
|
||||
Prerequisites
|
||||
-------------
|
||||
|
|
|
@ -0,0 +1,129 @@
|
|||
=======================
|
||||
ETSI NFV-SOL VNF Update
|
||||
=======================
|
||||
|
||||
This document describes how to update VNF in Tacker.
|
||||
|
||||
Prerequisites
|
||||
-------------
|
||||
|
||||
The following packages should be installed:
|
||||
|
||||
* tacker
|
||||
* python-tackerclient
|
||||
|
||||
A default VIM should be registered according to
|
||||
:doc:`../cli/cli-legacy-vim`.
|
||||
|
||||
The VNF Package(sample_vnf_pkg.zip) used below is prepared
|
||||
by referring to :doc:`./vnf-package`.
|
||||
|
||||
Execute before "Instantiate VNF" in the procedure of
|
||||
:doc:`./etsi_vnf_deployment_as_vm_with_tosca`.
|
||||
|
||||
|
||||
VNF Update Procedures
|
||||
---------------------
|
||||
|
||||
As mentioned in Prerequisites, the VNF must be created
|
||||
before performing update.
|
||||
|
||||
Details of CLI commands are described in
|
||||
:doc:`../cli/cli-etsi-vnflcm`.
|
||||
|
||||
For update VNF instance, you need to prepare a JSON-formatted definition file.
|
||||
|
||||
.. code-block:: json
|
||||
|
||||
{
|
||||
"vnfInstanceName": "sample"
|
||||
}
|
||||
|
||||
.. note:: sample_param_file.json contains the VNF name as an example.
|
||||
|
||||
|
||||
How to Update VNF
|
||||
~~~~~~~~~~~~~~~~~
|
||||
|
||||
Execute Update CLI command and check the name of VNF instance before
|
||||
and after update. This is to confirm that the name of VNF instance has
|
||||
changed after update.
|
||||
See `Heat CLI reference`_. for details on Heat CLI commands.
|
||||
|
||||
VNF instance name before update:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ openstack vnflcm show VNF_INSTANCE_ID -c 'VNF Instance Name'
|
||||
|
||||
|
||||
Result:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
+-------------------+-------+
|
||||
| Field | Value |
|
||||
+-------------------+-------+
|
||||
| VNF Instance Name | None |
|
||||
+-------------------+-------+
|
||||
|
||||
|
||||
Update VNF can be executed by the following CLI command.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ openstack vnflcm update VNF_INSTANCE_ID --I sample_param_file.json
|
||||
|
||||
|
||||
Result:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
Update vnf:c64ea0fd-a90c-4754-95f4-dc0751db519d
|
||||
|
||||
.. note::
|
||||
Create a parameter file that describes the resource information to be
|
||||
changed in advance.
|
||||
|
||||
.. note::
|
||||
If the *vnfdId* is not changed by update operation, the current value
|
||||
shall be updated using the request parameter.
|
||||
If the *vnfdId* is requested to be changed by update operation, the
|
||||
current values of *metadata*, *extension*, and *vnfConfigurableProperties*
|
||||
are cleared and the changed request parameters are applied.
|
||||
Current Tacker only refers *metadata*, *extension* and
|
||||
*vnfConfigurableProperties* specified in the API request. It means that
|
||||
Tacker does not refer the value of these parameters specified in VNFD.
|
||||
|
||||
.. note::
|
||||
The update operation can change the vimConnectionInfo associated with an
|
||||
existing VNF instance.
|
||||
Even if instantiate operation and update operation specify multiple
|
||||
vimConnectionInfo associated with one VNF instance, only one of them will
|
||||
be used for life cycle management operations.
|
||||
It is not possible to delete the key of registered vimConnectionInfo.
|
||||
|
||||
|
||||
VNF instance name after operation:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ openstack vnflcm show VNF_INSTANCE_ID -c 'VNF Instance Name'
|
||||
|
||||
|
||||
Result:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
+-------------------+---------+
|
||||
| Field | Value |
|
||||
+-------------------+---------+
|
||||
| VNF Instance Name | sample |
|
||||
+-------------------+---------+
|
||||
|
||||
|
||||
You can confirm that the VNF Instance Name has been changed
|
||||
by the update operation.
|
||||
|
||||
|
||||
.. _Heat CLI reference : https://docs.openstack.org/python-openstackclient/latest/cli/plugin-commands/heat.html
|
|
@ -31,10 +31,7 @@ Any file name and class name are acceptable.
|
|||
userdata class must inherit "userdata_utils.AbstractUserData",
|
||||
then functions have to be implemented.
|
||||
|
||||
Since latest Tacker supports userdata script for only instantiating vnf,
|
||||
**def instantiate(req, inst, grant_req, grant, tmp_csar_dir)**
|
||||
only can be implemented.
|
||||
Followings are the requirement of **def instantiate()**
|
||||
Followings are requirements for methods supported by latest Tacker.
|
||||
|
||||
Input of instantiate()
|
||||
----------------------
|
||||
|
@ -79,6 +76,181 @@ Following shows sample output.
|
|||
return fields
|
||||
|
||||
|
||||
Input of scale()
|
||||
----------------
|
||||
|
||||
The function can use the following input data.
|
||||
The details of data types are defined in ETSI NFV SOL documents.
|
||||
|
||||
- req: InstantiateVnfRequest
|
||||
- inst: VnfInstance
|
||||
- grant_req: GrantRequest
|
||||
- grant: Grants
|
||||
- tmp_csar_dir: the temporary path of csar expanded by Tacker.
|
||||
|
||||
|
||||
Output of scale()
|
||||
-----------------
|
||||
|
||||
The function must return the following structure.
|
||||
Data are for update stack API in HEAT.
|
||||
The requirements of HEAT API are described in
|
||||
`reference of Orchestration Service API v1
|
||||
"PATCH /v1/{tenant_id}/stacks/{stack_name}/{stack_id}"`_
|
||||
|
||||
fields = {'parameters': {'nfv': {'VDU': new_vdus}}}
|
||||
|
||||
- parameters: Input parameters for Heat API.
|
||||
|
||||
Following shows sample output.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
fields = {'parameters': {'nfv': {'VDU': new_vdus}}}
|
||||
|
||||
return fields
|
||||
|
||||
|
||||
Input of scale_rollback()
|
||||
-------------------------
|
||||
|
||||
The function can use the following input data.
|
||||
The details of data types are defined in ETSI NFV SOL documents.
|
||||
|
||||
- req: InstantiateVnfRequest
|
||||
- inst: VnfInstance
|
||||
- grant_req: GrantRequest
|
||||
- grant: Grants
|
||||
- tmp_csar_dir: the temporary path of csar expanded by Tacker.
|
||||
|
||||
|
||||
Output of scale_rollback()
|
||||
--------------------------
|
||||
|
||||
The function must return the following structure.
|
||||
Data are for update stack API in HEAT.
|
||||
The requirements of HEAT API are described in
|
||||
`reference of Orchestration Service API v1
|
||||
"PATCH /v1/{tenant_id}/stacks/{stack_name}/{stack_id}"`_
|
||||
|
||||
fields = {'parameters': {'nfv': {'VDU': new_vdus}}}
|
||||
|
||||
- parameters: Input parameters for Heat API.
|
||||
|
||||
Following shows sample output.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
fields = {'parameters': {'nfv': {'VDU': new_vdus}}}
|
||||
|
||||
return fields
|
||||
|
||||
|
||||
Input of change_ext_conn_rollback()
|
||||
-----------------------------------
|
||||
|
||||
The function can use the following input data.
|
||||
The details of data types are defined in ETSI NFV SOL documents.
|
||||
|
||||
- req: InstantiateVnfRequest
|
||||
- inst: VnfInstance
|
||||
- grant_req: GrantRequest
|
||||
- grant: Grants
|
||||
- tmp_csar_dir: the temporary path of csar expanded by Tacker.
|
||||
|
||||
|
||||
Output of change_ext_conn_rollback()
|
||||
------------------------------------
|
||||
|
||||
The function must return the following structure.
|
||||
Data are for update stack API in HEAT.
|
||||
The requirements of HEAT API are described in
|
||||
`reference of Orchestration Service API v1
|
||||
"PATCH /v1/{tenant_id}/stacks/{stack_name}/{stack_id}"`_
|
||||
|
||||
fields = {'parameters': {'nfv': {'CP': new_cps}}}
|
||||
|
||||
- parameters: Input parameters for Heat API.
|
||||
|
||||
Following shows sample output.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
fields = {'parameters': {'nfv': {'CP': new_cps}}}
|
||||
|
||||
return fields
|
||||
|
||||
|
||||
Input of change_ext_conn()
|
||||
--------------------------
|
||||
|
||||
The function can use the following input data.
|
||||
The details of data types are defined in ETSI NFV SOL documents.
|
||||
|
||||
- req: InstantiateVnfRequest
|
||||
- inst: VnfInstance
|
||||
- grant_req: GrantRequest
|
||||
- grant: Grants
|
||||
- tmp_csar_dir: the temporary path of csar expanded by Tacker.
|
||||
|
||||
|
||||
Output of change_ext_conn()
|
||||
---------------------------
|
||||
|
||||
The function must return the following structure.
|
||||
Data are for update stack API in HEAT.
|
||||
The requirements of HEAT API are described in
|
||||
`reference of Orchestration Service API v1
|
||||
"PATCH /v1/{tenant_id}/stacks/{stack_name}/{stack_id}"`_
|
||||
|
||||
fields = {'parameters': {'nfv': {'CP': new_cps}}}
|
||||
|
||||
- parameters: Input parameters for Heat API.
|
||||
|
||||
Following shows sample output.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
fields = {'parameters': {'nfv': {'CP': new_cps}}}
|
||||
|
||||
return fields
|
||||
|
||||
|
||||
Input of heal()
|
||||
---------------
|
||||
|
||||
The function can use the following input data.
|
||||
The details of data types are defined in ETSI NFV SOL documents.
|
||||
|
||||
- req: InstantiateVnfRequest
|
||||
- inst: VnfInstance
|
||||
- grant_req: GrantRequest
|
||||
- grant: Grants
|
||||
- tmp_csar_dir: the temporary path of csar expanded by Tacker.
|
||||
|
||||
|
||||
Output of heal()
|
||||
----------------
|
||||
|
||||
The function must return the following structure.
|
||||
Data are for update stack API in HEAT.
|
||||
The requirements of HEAT API are described in
|
||||
`reference of Orchestration Service API v1
|
||||
"PATCH /v1/{tenant_id}/stacks/{stack_name}/{stack_id}"`_
|
||||
|
||||
fields = {'parameters': {'nfv': {}}}
|
||||
|
||||
- parameters: Input parameters for Heat API.
|
||||
|
||||
Following shows sample output.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
fields = {'parameters': {'nfv': {}}}
|
||||
|
||||
return fields
|
||||
|
||||
|
||||
Sample userdata script
|
||||
======================
|
||||
|
||||
|
@ -179,6 +351,30 @@ Get zone id of VDU.
|
|||
It returns **zone id**.
|
||||
|
||||
|
||||
def get_current_capacity(vdu_name, inst)
|
||||
----------------------------------------
|
||||
|
||||
Get desired capacity.
|
||||
|
||||
**vdu_name**: the name of VDU
|
||||
, **inst**: VnfInstance
|
||||
|
||||
It returns **desired capacity**.
|
||||
|
||||
|
||||
def get_param_capacity(vdu_name, inst, grant_req)
|
||||
-------------------------------------------------
|
||||
|
||||
Refer to addResources and removeResources in the grant request
|
||||
and get desired capacity.
|
||||
|
||||
**vdu_name**: the name of VDU
|
||||
, **inst**: VnfInstance
|
||||
, **grant_req**: GrantRequest
|
||||
|
||||
It returns **desired capacity**.
|
||||
|
||||
|
||||
def _get_fixed_ips_from_extcp(extcp)
|
||||
------------------------------------
|
||||
|
||||
|
@ -213,6 +409,28 @@ Get fixed IP addresses of CP.
|
|||
It returns fixed IP address of CP.
|
||||
|
||||
|
||||
def get_param_network_from_inst(cp_name, inst)
|
||||
----------------------------------------------
|
||||
|
||||
Get network resourceId from VnfInstance.
|
||||
|
||||
**cp_name**: the name of CP
|
||||
, **inst**: VnfInstance
|
||||
|
||||
It returns network resourceId from VnfInstance.
|
||||
|
||||
|
||||
def get_param_fixed_ips_from_inst(cp_name, inst)
|
||||
------------------------------------------------
|
||||
|
||||
Get fixed IP address of CP from VnfInstance.
|
||||
|
||||
**cp_name**: the name of CP
|
||||
, **inst**: VnfInstance
|
||||
|
||||
It returns fixed IP address of CP from VnfInstance.
|
||||
|
||||
|
||||
def apply_ext_managed_vls(hot_dict, req, grant)
|
||||
-----------------------------------------------
|
||||
|
||||
|
@ -305,5 +523,6 @@ It returns the result of json_merge_patch (IETF RFC 7396).
|
|||
.. _ETSI NFV-SOL VNF Deployment as VM with LCM Operation User Data: https://docs.openstack.org/tacker/latest/user/etsi_vnf_deployment_as_vm_with_user_data.html
|
||||
.. _VNF Package manual: https://docs.openstack.org/tacker/latest/user/vnf-package.html
|
||||
.. _reference of Orchestration Service API v1 "POST /v1/{tenant_id}/stacks": https://docs.openstack.org/api-ref/orchestration/v1/?expanded=create-stack-detail#create-stack
|
||||
.. _reference of Orchestration Service API v1 "PATCH /v1/{tenant_id}/stacks/{stack_name}/{stack_id}": https://docs.openstack.org/api-ref/orchestration/v1/?expanded=update-stack-patch-detail#update-stack-patch
|
||||
.. _**Vnfd** class: ../../../tacker/sol_refactored/common/vnfd_utils.py
|
||||
.. _ETSI NFV SOL003: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/03.03.01_60/gs_NFV-SOL003v030301p.pdf
|
||||
|
|
Loading…
Reference in New Issue