Add documents for enhance operations in V2
This patch provides Tacker documents for enhance operations(heal, scale, update, changeextconn) in V2-API. The specification about new API is added to API Reference. Also, update operation is added to Tacker Use Cases Guide and CLI Reference. This patch also includes changes to the user data script. Implements: blueprint support-nfv-solv3-change-external-connectivity Implements: blueprint support-nfv-solv3-heal-vnf Implements: blueprint support-nfv-solv3-modify-vnf Implements: blueprint support-nfv-solv3-scale-vnf Change-Id: I6adefc59903a4c8305a66c224c086af4b86812df
This commit is contained in:
parent
ea92f6e6d9
commit
6ec6106417
|
@ -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