Merge "Add documents for error handling operations in V2"
This commit is contained in:
commit
ef9384cc1b
|
@ -621,6 +621,14 @@ graceful_termination_timeout:
|
|||
in: body
|
||||
required: false
|
||||
type: integer
|
||||
grant_id:
|
||||
description: |
|
||||
Identifier of the grant related to this VNF LCM operation occurrence.
|
||||
Shall be set to the value of the "id" attribute in the "Grant"
|
||||
representing the associated "Individual Grant", if such grant exists.
|
||||
in: body
|
||||
required: false
|
||||
type: string
|
||||
instantiated_vnf_info:
|
||||
description: |
|
||||
Information specific to an instantiated VNF instance. This attribute shall
|
||||
|
@ -718,7 +726,7 @@ link_port_id:
|
|||
in: body
|
||||
required: false
|
||||
type: string
|
||||
localizataion_language:
|
||||
localization_language:
|
||||
description: |
|
||||
Localization language of the VNF to be instantiated.
|
||||
The value shall comply with the format defined in
|
||||
|
@ -801,6 +809,19 @@ parent_cp_config_id:
|
|||
in: body
|
||||
required: false
|
||||
type: string
|
||||
removed_storage_resource_ids:
|
||||
description: |
|
||||
References to VirtualStorage resources that
|
||||
have been removed.
|
||||
The value contains the identifier of a
|
||||
VirtualStorageResourceInfo item that has been
|
||||
removed from the VNFC, and might no longer
|
||||
exist in the VnfInstance.
|
||||
It shall be provided if at least one storage
|
||||
resource was removed from the VNFC.
|
||||
in: body
|
||||
required: false
|
||||
type: array
|
||||
resource_changes:
|
||||
description: |
|
||||
This attribute contains information about the cumulative
|
||||
|
|
|
@ -0,0 +1,248 @@
|
|||
{
|
||||
"_links": {
|
||||
"fail": {
|
||||
"href": "http://127.0.0.1:9890/v2/vnflcm/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"
|
||||
},
|
||||
"rollback": {
|
||||
"href": "http://127.0.0.1:9890/v2/vnflcm/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"
|
||||
},
|
||||
"vnfInstance": {
|
||||
"href": "http://127.0.0.1:9890/v2/vnflcm/vnf_instances/10ed068e-1284-48f2-9b6e-1c443ace9cc6"
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
"detail": "instantiate_end failed: b'test instantiate_end error'",
|
||||
"status": 422,
|
||||
"title": "Mgmt driver execution failed"
|
||||
},
|
||||
"grantId": "f7437546-5c4d-4860-85b4-9e7dc5fe8e67",
|
||||
"id": "9b475d28-5acb-4c3b-95dd-fec2b2319643",
|
||||
"isAutomaticInvocation": false,
|
||||
"isCancelPending": false,
|
||||
"operation": "INSTANTIATE",
|
||||
"operationParams": {
|
||||
"additionalParams": {
|
||||
"lcm-operation-user-data": "./UserData/userdata_default.py",
|
||||
"lcm-operation-user-data-class": "DefaultUserData"
|
||||
},
|
||||
"extManagedVirtualLinks": [
|
||||
{
|
||||
"id": "ac9eff82-9406-42f0-88ae-1be9d89eb917",
|
||||
"resourceId": "b3f18cea-a773-4f46-8fa1-9357df2ce360",
|
||||
"vnfVirtualLinkDescId": "internalVL1"
|
||||
}
|
||||
],
|
||||
"extVirtualLinks": [
|
||||
{
|
||||
"extCps": [
|
||||
{
|
||||
"cpConfig": {
|
||||
"VDU1_CP1_1": {
|
||||
"cpProtocolData": [
|
||||
{
|
||||
"ipOverEthernet": {
|
||||
"ipAddresses": [
|
||||
{
|
||||
"numDynamicAddresses": 1,
|
||||
"type": "IPV4"
|
||||
}
|
||||
]
|
||||
},
|
||||
"layerProtocol": "IP_OVER_ETHERNET"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"cpdId": "VDU1_CP1"
|
||||
},
|
||||
{
|
||||
"cpConfig": {
|
||||
"VDU2_CP1_1": {
|
||||
"cpProtocolData": [
|
||||
{
|
||||
"ipOverEthernet": {
|
||||
"ipAddresses": [
|
||||
{
|
||||
"fixedAddresses": [
|
||||
"10.10.0.102"
|
||||
],
|
||||
"type": "IPV4"
|
||||
}
|
||||
]
|
||||
},
|
||||
"layerProtocol": "IP_OVER_ETHERNET"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"cpdId": "VDU2_CP1"
|
||||
}
|
||||
],
|
||||
"id": "789ecc10-4285-43fe-b8e3-b0e7d4a5cd79",
|
||||
"resourceId": "7d16f94d-d4c9-412b-a2f5-0321131e9e4d"
|
||||
},
|
||||
{
|
||||
"extCps": [
|
||||
{
|
||||
"cpConfig": {
|
||||
"VDU1_CP2_1": {
|
||||
"cpProtocolData": [
|
||||
{
|
||||
"ipOverEthernet": {
|
||||
"ipAddresses": [
|
||||
{
|
||||
"numDynamicAddresses": 1,
|
||||
"subnetId": "f6208fae-87fa-473f-bc96-441a75a19d09",
|
||||
"type": "IPV4"
|
||||
}
|
||||
]
|
||||
},
|
||||
"layerProtocol": "IP_OVER_ETHERNET"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"cpdId": "VDU1_CP2"
|
||||
},
|
||||
{
|
||||
"cpConfig": {
|
||||
"VDU2_CP2_1": {
|
||||
"cpProtocolData": [
|
||||
{
|
||||
"ipOverEthernet": {
|
||||
"ipAddresses": [
|
||||
{
|
||||
"fixedAddresses": [
|
||||
"10.10.1.102"
|
||||
],
|
||||
"subnetId": "f6208fae-87fa-473f-bc96-441a75a19d09",
|
||||
"type": "IPV4"
|
||||
}
|
||||
]
|
||||
},
|
||||
"layerProtocol": "IP_OVER_ETHERNET"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"cpdId": "VDU2_CP2"
|
||||
}
|
||||
],
|
||||
"id": "cd8aa4ce-a17f-47d8-b3fb-6102ce17f355",
|
||||
"resourceId": "67f4ca33-4142-4d1a-afb0-978365e31aa2"
|
||||
}
|
||||
],
|
||||
"flavourId": "simple",
|
||||
"instantiationLevelId": "instantiation_level_1",
|
||||
"vimConnectionInfo": {
|
||||
"vim1": {
|
||||
"accessInfo": {
|
||||
"password": "devstack",
|
||||
"project": "nfv",
|
||||
"projectDomain": "Default",
|
||||
"region": "RegionOne",
|
||||
"userDomain": "Default",
|
||||
"username": "nfv_user"
|
||||
},
|
||||
"interfaceInfo": {
|
||||
"endpoint": "http://localhost/identity/v3"
|
||||
},
|
||||
"vimId": "0f093d21-cd8f-4826-aeee-27cd9305a209",
|
||||
"vimType": "ETSINFV.OPENSTACK_KEYSTONE.V_3"
|
||||
}
|
||||
}
|
||||
},
|
||||
"operationState": "FAILED",
|
||||
"resourceChanges": {
|
||||
"affectedVirtualLinks": [
|
||||
{
|
||||
"changeType": "ADDED",
|
||||
"id": "e2cc5431-eb8d-4208-b8e1-3b766c123279",
|
||||
"networkResource": {
|
||||
"resourceId": "d2565a88-aea8-4999-b52f-a220b59df5ea",
|
||||
"vimConnectionId": "0f093d21-cd8f-4826-aeee-27cd9305a209",
|
||||
"vimLevelResourceType": "OS::Neutron::Net"
|
||||
},
|
||||
"vnfLinkPortIds": [
|
||||
"69081627-7f06-42fd-af9c-3f79d44fb8c3",
|
||||
"46dd1aec-0ae1-4cff-8d5d-81c671f4aaad"
|
||||
],
|
||||
"vnfVirtualLinkDescId": "internalVL3"
|
||||
},
|
||||
{
|
||||
"changeType": "ADDED",
|
||||
"id": "b5d1f4b8-fb87-4155-a4e9-6619a1b7097f",
|
||||
"networkResource": {
|
||||
"resourceId": "d785e039-215c-4e6e-951c-79959d8c531c",
|
||||
"vimConnectionId": "0f093d21-cd8f-4826-aeee-27cd9305a209",
|
||||
"vimLevelResourceType": "OS::Neutron::Net"
|
||||
},
|
||||
"vnfLinkPortIds": [
|
||||
"7d244233-7244-4a40-9e4f-7aec929401ab",
|
||||
"fd61f725-28b7-44a5-ba02-652846bef719"
|
||||
],
|
||||
"vnfVirtualLinkDescId": "internalVL2"
|
||||
}
|
||||
],
|
||||
"affectedVirtualStorages": [
|
||||
{
|
||||
"changeType": "ADDED",
|
||||
"id": "55cf75b7-6c73-455e-8bd2-07f31047672d",
|
||||
"storageResource": {
|
||||
"resourceId": "5c6956bc-9e1b-490f-8592-a490da200a2c",
|
||||
"vimConnectionId": "0f093d21-cd8f-4826-aeee-27cd9305a209",
|
||||
"vimLevelResourceType": "OS::Cinder::Volume"
|
||||
},
|
||||
"virtualStorageDescId": "VirtualStorage"
|
||||
}
|
||||
],
|
||||
"affectedVnfcs": [
|
||||
{
|
||||
"affectedVnfcCpIds": [
|
||||
"a84df9fb-b81a-49be-a010-3082e6d2adbe",
|
||||
"77bfa29d-9fbe-42f2-9892-af98a2507d59",
|
||||
"4f0173ce-a624-4173-8e4b-a37667e04a80",
|
||||
"3057e251-8546-4f61-96e4-ea6c1af886cf",
|
||||
"7b31dd26-a2af-4e47-921d-5695ac101028"
|
||||
],
|
||||
"changeType": "ADDED",
|
||||
"computeResource": {
|
||||
"resourceId": "c9920a04-cf74-4e42-be89-a2fec2f89e48",
|
||||
"vimConnectionId": "0f093d21-cd8f-4826-aeee-27cd9305a209",
|
||||
"vimLevelResourceType": "OS::Nova::Server"
|
||||
},
|
||||
"id": "43c29ba1-6037-49a6-a73a-b83484e7dc4e",
|
||||
"vduId": "VDU2"
|
||||
},
|
||||
{
|
||||
"addedStorageResourceIds": [
|
||||
"55cf75b7-6c73-455e-8bd2-07f31047672d"
|
||||
],
|
||||
"affectedVnfcCpIds": [
|
||||
"defd21b3-d0e2-4eb4-8433-e4b555e5926b",
|
||||
"60eb1d2b-11cf-4bb3-90c6-83096bd7d2a0",
|
||||
"d7c68605-3022-41a4-a4bf-44cc76aa9d28",
|
||||
"efb91c15-9ddc-435b-aded-33203b9061b6",
|
||||
"95ad30b9-87e9-4695-be38-59298dc86cb6"
|
||||
],
|
||||
"changeType": "ADDED",
|
||||
"computeResource": {
|
||||
"resourceId": "dd5731bb-50f1-47e5-b1bf-ae0c34fd646e",
|
||||
"vimConnectionId": "0f093d21-cd8f-4826-aeee-27cd9305a209",
|
||||
"vimLevelResourceType": "OS::Nova::Server"
|
||||
},
|
||||
"id": "d9d06660-35d2-4c90-b9f0-139f38731e75",
|
||||
"vduId": "VDU1"
|
||||
}
|
||||
]
|
||||
},
|
||||
"startTime": "2021-12-20T15:36:13Z",
|
||||
"stateEnteredTime": "2021-12-20T15:36:13Z",
|
||||
"vnfInstanceId": "10ed068e-1284-48f2-9b6e-1c443ace9cc6"
|
||||
}
|
|
@ -2,6 +2,15 @@
|
|||
[
|
||||
{
|
||||
"_links": {
|
||||
"fail": {
|
||||
"href": "http://127.0.0.1:9890/v2/vnflcm/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"
|
||||
},
|
||||
"rollback": {
|
||||
"href": "http://127.0.0.1:9890/v2/vnflcm/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"
|
||||
},
|
||||
|
@ -9,11 +18,16 @@
|
|||
"href": "http://127.0.0.1:9890/v2/vnflcm/vnf_instances/e00f0d64-d7a3-459b-8a51-b402d5344296"
|
||||
}
|
||||
},
|
||||
"grantId": "30bdaa69-ef80-4545-9298-428b70ce8e4a",
|
||||
"id": "a790879c-05f9-4475-9c90-1677452d3eb5",
|
||||
"isAutomaticInvocation": false,
|
||||
"isCancelPending": false,
|
||||
"operation": "INSTANTIATE",
|
||||
"operationParams": {
|
||||
"additionalParams": {
|
||||
"lcm-operation-user-data": "./UserData/userdata_default.py",
|
||||
"lcm-operation-user-data-class": "DefaultUserData"
|
||||
},
|
||||
"extManagedVirtualLinks": [
|
||||
{
|
||||
"id": "7a6fe192-c34b-4029-937d-f1a2e7a00f5a",
|
||||
|
@ -141,6 +155,166 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"operationState": "PROCESSING",
|
||||
"startTime": "2021-12-20T07:55:55Z",
|
||||
"stateEnteredTime": "2021-12-20T07:55:55Z",
|
||||
"vnfInstanceId": "f68c329d-2fca-4178-9a38-e21ee8c01606"
|
||||
},
|
||||
{
|
||||
"_links": {
|
||||
"fail": {
|
||||
"href": "http://127.0.0.1:9890/v2/vnflcm/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"
|
||||
},
|
||||
"rollback": {
|
||||
"href": "http://127.0.0.1:9890/v2/vnflcm/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"
|
||||
},
|
||||
"vnfInstance": {
|
||||
"href": "http://127.0.0.1:9890/v2/vnflcm/vnf_instances/c256d5c2-f29e-474c-bced-cbc6d9e2b00b"
|
||||
}
|
||||
},
|
||||
"grantId": "3aa7d8cd-6f85-4d7f-859a-eb26481157e6",
|
||||
"id": "fdd8bdf4-8f7b-4237-99d3-c87c0910571d",
|
||||
"isAutomaticInvocation": false,
|
||||
"isCancelPending": false,
|
||||
"operation": "INSTANTIATE",
|
||||
"operationParams": {
|
||||
"additionalParams": {
|
||||
"lcm-operation-user-data": "./UserData/userdata_default.py",
|
||||
"lcm-operation-user-data-class": "DefaultUserData"
|
||||
},
|
||||
"extManagedVirtualLinks": [
|
||||
{
|
||||
"id": "46653630-2b7f-493c-8dec-c2c6e2fd98c8",
|
||||
"resourceId": "6c85c8bd-91f3-48b4-bc4b-030bbdfb1a8d",
|
||||
"vnfVirtualLinkDescId": "internalVL1"
|
||||
}
|
||||
],
|
||||
"extVirtualLinks": [
|
||||
{
|
||||
"extCps": [
|
||||
{
|
||||
"cpConfig": {
|
||||
"VDU1_CP1_1": {
|
||||
"cpProtocolData": [
|
||||
{
|
||||
"ipOverEthernet": {
|
||||
"ipAddresses": [
|
||||
{
|
||||
"numDynamicAddresses": 1,
|
||||
"type": "IPV4"
|
||||
}
|
||||
]
|
||||
},
|
||||
"layerProtocol": "IP_OVER_ETHERNET"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"cpdId": "VDU1_CP1"
|
||||
},
|
||||
{
|
||||
"cpConfig": {
|
||||
"VDU2_CP1_1": {
|
||||
"cpProtocolData": [
|
||||
{
|
||||
"ipOverEthernet": {
|
||||
"ipAddresses": [
|
||||
{
|
||||
"fixedAddresses": [
|
||||
"10.10.0.102"
|
||||
],
|
||||
"type": "IPV4"
|
||||
}
|
||||
]
|
||||
},
|
||||
"layerProtocol": "IP_OVER_ETHERNET"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"cpdId": "VDU2_CP1"
|
||||
}
|
||||
],
|
||||
"id": "bec04b02-273f-4eb3-a18d-af695c4399bf",
|
||||
"resourceId": "576075c2-d33e-4002-8d85-9c906cf63ed7"
|
||||
},
|
||||
{
|
||||
"extCps": [
|
||||
{
|
||||
"cpConfig": {
|
||||
"VDU1_CP2_1": {
|
||||
"cpProtocolData": [
|
||||
{
|
||||
"ipOverEthernet": {
|
||||
"ipAddresses": [
|
||||
{
|
||||
"numDynamicAddresses": 1,
|
||||
"subnetId": "afc77fd6-1bf6-4db9-b285-6799642cbfd2",
|
||||
"type": "IPV4"
|
||||
}
|
||||
]
|
||||
},
|
||||
"layerProtocol": "IP_OVER_ETHERNET"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"cpdId": "VDU1_CP2"
|
||||
},
|
||||
{
|
||||
"cpConfig": {
|
||||
"VDU2_CP2_1": {
|
||||
"cpProtocolData": [
|
||||
{
|
||||
"ipOverEthernet": {
|
||||
"ipAddresses": [
|
||||
{
|
||||
"fixedAddresses": [
|
||||
"10.10.1.102"
|
||||
],
|
||||
"subnetId": "afc77fd6-1bf6-4db9-b285-6799642cbfd2",
|
||||
"type": "IPV4"
|
||||
}
|
||||
]
|
||||
},
|
||||
"layerProtocol": "IP_OVER_ETHERNET"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"cpdId": "VDU2_CP2"
|
||||
}
|
||||
],
|
||||
"id": "625f6da9-6a01-480e-8ecb-1ef8122ad224",
|
||||
"resourceId": "c84bc776-69ed-4ec9-886e-c594d9ebe38f"
|
||||
}
|
||||
],
|
||||
"flavourId": "simple",
|
||||
"instantiationLevelId": "instantiation_level_1",
|
||||
"vimConnectionInfo": {
|
||||
"vim1": {
|
||||
"accessInfo": {
|
||||
"password": "devstack",
|
||||
"project": "nfv",
|
||||
"projectDomain": "Default",
|
||||
"region": "RegionOne",
|
||||
"userDomain": "Default",
|
||||
"username": "nfv_user"
|
||||
},
|
||||
"interfaceInfo": {
|
||||
"endpoint": "http://localhost/identity/v3"
|
||||
},
|
||||
"vimId": "fc734abb-2d1b-4032-b594-88c33634e023",
|
||||
"vimType": "ETSINFV.OPENSTACK_KEYSTONE.V_3"
|
||||
}
|
||||
}
|
||||
},
|
||||
"operationState": "COMPLETED",
|
||||
"resourceChanges": {
|
||||
"affectedVirtualLinks": [
|
||||
|
|
|
@ -1,5 +1,14 @@
|
|||
{
|
||||
"_links": {
|
||||
"fail": {
|
||||
"href": "http://127.0.0.1:9890/v2/vnflcm/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"
|
||||
},
|
||||
"rollback": {
|
||||
"href": "http://127.0.0.1:9890/v2/vnflcm/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"
|
||||
},
|
||||
|
@ -7,11 +16,16 @@
|
|||
"href": "http://127.0.0.1:9890/v2/vnflcm/vnf_instances/e00f0d64-d7a3-459b-8a51-b402d5344296"
|
||||
}
|
||||
},
|
||||
"grantId": "f848dd6c-6393-4104-8bfe-df764a042563",
|
||||
"id": "a790879c-05f9-4475-9c90-1677452d3eb5",
|
||||
"isAutomaticInvocation": false,
|
||||
"isCancelPending": false,
|
||||
"operation": "INSTANTIATE",
|
||||
"operationParams": {
|
||||
"additionalParams": {
|
||||
"lcm-operation-user-data": "./UserData/userdata_default.py",
|
||||
"lcm-operation-user-data-class": "DefaultUserData"
|
||||
},
|
||||
"extManagedVirtualLinks": [
|
||||
{
|
||||
"id": "7a6fe192-c34b-4029-937d-f1a2e7a00f5a",
|
||||
|
|
|
@ -9,14 +9,8 @@ This interface manages the VNF lifecycle management operations of VNF instances.
|
|||
This interface allows the NFVO to invoke VNF lifecycle management operations
|
||||
of VNF instances towards the VNFM.
|
||||
|
||||
.. note::
|
||||
TODO: Xena release does not support version 2 vnflcm APIs of
|
||||
scale vnf, heal vnf, change external vnf connectivity,
|
||||
rollback, retry and fail.
|
||||
The version 2 of these APIs will be supported in future releases.
|
||||
|
||||
Creates a new VNF instance resource (v2)
|
||||
========================================
|
||||
Create a new VNF instance resource (v2)
|
||||
=======================================
|
||||
|
||||
.. rest_method:: POST /vnflcm/v2/vnf_instances
|
||||
|
||||
|
@ -167,7 +161,7 @@ Request Parameters
|
|||
- interfaceInfo: vim_connection_info_interface_info
|
||||
- accessInfo: vim_connection_info_access_info
|
||||
- extra: vim_connection_info_extra
|
||||
- localizationLanguage: localizataion_language
|
||||
- localizationLanguage: localization_language
|
||||
- additionalParams: vnf_instance_additional_params
|
||||
- extensions: vnf_instance_extensions
|
||||
- vnfConfigurableProperties: vnf_instance_vnf_configurable_properties
|
||||
|
@ -258,7 +252,7 @@ Request Parameters
|
|||
|
||||
- vnfInstanceId: vnf_instance_id
|
||||
|
||||
Show VNF Instance (v2)
|
||||
Show VNF instance (v2)
|
||||
======================
|
||||
|
||||
.. rest_method:: GET /vnflcm/v2/vnf_instances/{vnfInstanceId}
|
||||
|
@ -404,7 +398,7 @@ Response Example
|
|||
.. literalinclude:: samples/vnflcm/show-vnf-instance-response.json
|
||||
:language: javascript
|
||||
|
||||
List VNF Instance (v2)
|
||||
List VNF instance (v2)
|
||||
======================
|
||||
|
||||
.. rest_method:: GET /vnflcm/v2/vnf_instances
|
||||
|
@ -599,6 +593,7 @@ Response Parameters
|
|||
- stateEnteredTime: state_entered_time
|
||||
- startTime: start_time
|
||||
- vnfInstanceId: vnf_lcm_vnf_instance_id
|
||||
- grantId: grant_id
|
||||
- operation: operation
|
||||
- isAutomaticInvocation: is_automatic_invocation
|
||||
- operationParams: operation_params
|
||||
|
@ -618,6 +613,7 @@ Response Parameters
|
|||
- vimLevelResourceType: resource_handle_vim_level_resource_type
|
||||
- affectedVnfcCpIds: affected_vnfc_cp_ids
|
||||
- addedStorageResourceIds: added_storage_resource_ids
|
||||
- removedStorageResourceIds: removed_storage_resource_ids
|
||||
- affectedVirtualLinks: affected_virtual_links
|
||||
- id: affected_virtual_links_id
|
||||
- vnfVirtualLinkDescId: vnf_virtual_link_resource_info_vnf_virtual_link_desc_id
|
||||
|
@ -693,6 +689,7 @@ Response Parameters
|
|||
- stateEnteredTime: state_entered_time
|
||||
- startTime: start_time
|
||||
- vnfInstanceId: vnf_lcm_vnf_instance_id
|
||||
- grantId: grant_id
|
||||
- operation: operation
|
||||
- isAutomaticInvocation: is_automatic_invocation
|
||||
- operationParams: operation_params
|
||||
|
@ -712,6 +709,7 @@ Response Parameters
|
|||
- vimLevelResourceType: resource_handle_vim_level_resource_type
|
||||
- affectedVnfcCpIds: affected_vnfc_cp_ids
|
||||
- addedStorageResourceIds: added_storage_resource_ids
|
||||
- removedStorageResourceIds: removed_storage_resource_ids
|
||||
- affectedVirtualLinks: affected_virtual_links
|
||||
- id: affected_virtual_links_id
|
||||
- vnfVirtualLinkDescId: vnf_virtual_link_resource_info_vnf_virtual_link_desc_id
|
||||
|
@ -737,6 +735,154 @@ Response Example
|
|||
.. literalinclude:: samples/vnflcm/list-vnflcm-operation-occurrence-response.json
|
||||
:language: javascript
|
||||
|
||||
Retry a VNF LCM operation occurrence (v2)
|
||||
=========================================
|
||||
|
||||
.. rest_method:: POST /vnflcm/v2/vnf_lcm_op_occs/{vnfLcmOpOccId}/retry
|
||||
|
||||
The POST method starts retrying a VNF lifecycle operation if that operation
|
||||
has experienced a temporary failure, i.e. the related
|
||||
"Individual VNF LCM operation occurrence" resource is in "FAILED_TEMP" state.
|
||||
|
||||
Response Codes
|
||||
--------------
|
||||
|
||||
.. rest_status_code:: success status.yaml
|
||||
|
||||
- 202
|
||||
|
||||
.. rest_status_code:: error status.yaml
|
||||
|
||||
- 401
|
||||
- 404
|
||||
- 409
|
||||
- 422
|
||||
|
||||
Request Parameters
|
||||
------------------
|
||||
|
||||
.. rest_parameters:: parameters_vnflcm.yaml
|
||||
|
||||
- vnfLcmOpOccId: vnf_lcm_op_occ_id
|
||||
|
||||
Fail a VNF LCM operation occurrence (v2)
|
||||
========================================
|
||||
|
||||
.. rest_method:: POST /vnflcm/v2/vnf_lcm_op_occs/{vnfLcmOpOccId}/fail
|
||||
|
||||
The POST method marks a VNF lifecycle management operation occurrence
|
||||
as "finally failed" if that operation occurrence is in "FAILED_TEMP" state.
|
||||
|
||||
Response Codes
|
||||
--------------
|
||||
|
||||
.. rest_status_code:: success status.yaml
|
||||
|
||||
- 200
|
||||
|
||||
.. rest_status_code:: error status.yaml
|
||||
|
||||
- 401
|
||||
- 404
|
||||
- 406
|
||||
- 409
|
||||
|
||||
Request Parameters
|
||||
------------------
|
||||
|
||||
.. rest_parameters:: parameters_vnflcm.yaml
|
||||
|
||||
- vnfLcmOpOccId: vnf_lcm_op_occ_id
|
||||
|
||||
Response Parameters
|
||||
-------------------
|
||||
|
||||
.. rest_parameters:: parameters_vnflcm.yaml
|
||||
|
||||
- id: vnf_lcm_op_occ_id_response
|
||||
- operationState: operation_state
|
||||
- stateEnteredTime: state_entered_time
|
||||
- startTime: start_time
|
||||
- vnfInstanceId: vnf_instance_id
|
||||
- grantId: grant_id
|
||||
- operation: operation
|
||||
- isAutomaticInvocation: is_automatic_invocation
|
||||
- operationParams: operation_params
|
||||
- isCancelPending: is_cancel_pending
|
||||
- error: error
|
||||
- title: error_title
|
||||
- status: error_status
|
||||
- detail: error_detail
|
||||
- resourceChanges: resource_changes
|
||||
- affectedVnfcs: affected_vnfcs
|
||||
- id: affected_vnfcs_id
|
||||
- vduId: affected_vnfcs_vdu_id
|
||||
- changeType: affected_vnfcs_change_type
|
||||
- computeResource: vnfc_resource_info_compute_resource
|
||||
- vimConnectionId: vim_connection_id
|
||||
- resourceId: resource_handle_resource_id
|
||||
- vimLevelResourceType: resource_handle_vim_level_resource_type
|
||||
- affectedVnfcCpIds: affected_vnfc_cp_ids
|
||||
- addedStorageResourceIds: added_storage_resource_ids
|
||||
- removedStorageResourceIds: removed_storage_resource_ids
|
||||
- affectedVirtualLinks: affected_virtual_links
|
||||
- id: affected_virtual_links_id
|
||||
- vnfVirtualLinkDescId: vnf_virtual_link_resource_info_vnf_virtual_link_desc_id
|
||||
- changeType: affected_virtual_links_change_type
|
||||
- networkResource: vnf_virtual_link_resource_info_network_resource
|
||||
- vimConnectionId: vim_connection_id
|
||||
- resourceId: resource_handle_resource_id
|
||||
- vimLevelResourceType: resource_handle_vim_level_resource_type
|
||||
- affectedVirtualStorages: affected_virtual_storages
|
||||
- id: affected_virtual_storages_id
|
||||
- virtualStorageDescId: affected_virtual_storages_virtual_storage_desc_id
|
||||
- changeType: affected_virtual_storages_change_type
|
||||
- storageResource: virtual_storage_resource_info_storage_resource
|
||||
- vimConnectionId: vim_connection_id
|
||||
- resourceId: resource_handle_resource_id
|
||||
- vimLevelResourceType: resource_handle_vim_level_resource_type
|
||||
- _links: vnf_instance_links
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: samples/vnflcm/fail-vnflcm-operation-occurrence-response.json
|
||||
:language: javascript
|
||||
|
||||
Rollback a VNF LCM operation occurrence (v2)
|
||||
============================================
|
||||
|
||||
.. rest_method:: POST /vnflcm/v2/vnf_lcm_op_occs/{vnfLcmOpOccId}/rollback
|
||||
|
||||
The POST method starts rolling back a VNF lifecycle operation if that operation
|
||||
has experienced a temporary failure, i.e. the related
|
||||
"Individual VNF LCM operation occurrence" resource is in "FAILED_TEMP" state.
|
||||
In case of rolling back an occurrence of the "InstantiateVnf" operation,
|
||||
the VNFM shall request to the VIM the release of the virtualised
|
||||
resources that were allocated for the related VNF instance.
|
||||
The "rollback" task shall be supported by the VNFM for any VNF LCM operation occurrence
|
||||
that represents an "InstantiateVnf" operation in FAILED_TEMP state.
|
||||
|
||||
Response Codes
|
||||
--------------
|
||||
|
||||
.. rest_status_code:: success status.yaml
|
||||
|
||||
- 202
|
||||
|
||||
.. rest_status_code:: error status.yaml
|
||||
|
||||
- 401
|
||||
- 404
|
||||
- 409
|
||||
- 422
|
||||
|
||||
Request Parameters
|
||||
------------------
|
||||
|
||||
.. rest_parameters:: parameters_vnflcm.yaml
|
||||
|
||||
- vnfLcmOpOccId: vnf_lcm_op_occ_id
|
||||
|
||||
Create a new subscription (v2)
|
||||
==============================
|
||||
|
|
|
@ -24,13 +24,10 @@ CLI Reference for VNF Lifecycle Management
|
|||
Commands with **\-\-os-tacker-api-version 2** call version 2 vnflcm APIs.
|
||||
|
||||
.. note::
|
||||
Xena release does not support version 2 vnflcm APIs of
|
||||
scale vnf, heal vnf, change external vnf connectivity,
|
||||
rollback, retry and fail.
|
||||
The version 2 of these APIs will be supported in future releases.
|
||||
Also, in Xena release, version 2 vnflcm APIs of instantiate vnf
|
||||
and terminate vnf only support VNF, not CNF.
|
||||
CNF will be supported by version 2 vnflcm APIs in future releases.
|
||||
In Yoga release, version 2 vnflcm APIs of instantiate vnf,
|
||||
terminate vnf, scale vnf, heal vnf, change external vnf connectivity,
|
||||
rollback, retry and fail only support VNF, not CNF. CNF will be supported
|
||||
by version 2 vnflcm APIs in future releases.
|
||||
|
||||
1. Create VNF Identifier
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
@ -412,6 +409,8 @@ Help:
|
|||
10. Rollback VNF Lifecycle Management Operation
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
The `VNF_LCM_OP_OCC_ID` is the ID for the target lifecycle temporary failed.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ openstack vnflcm op rollback VNF_LCM_OP_OCC_ID
|
||||
|
@ -441,7 +440,7 @@ Help:
|
|||
11. Retry
|
||||
^^^^^^^^^
|
||||
|
||||
The `VNF_LCM_OP_OCC_ID` is the ID for the target lifecycle temporary failed.
|
||||
The `VNF_LCM_OP_OCC_ID` is the ID for the target lifecycle temporary failed.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
|
@ -474,7 +473,7 @@ Help:
|
|||
12. Fail
|
||||
^^^^^^^^
|
||||
|
||||
The `VNF_LCM_OP_OCC_ID` is the ID for the target lifecycle temporary failed.
|
||||
The `VNF_LCM_OP_OCC_ID` is the ID for the target lifecycle temporary failed.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
|
|
|
@ -4,12 +4,6 @@ ETSI NFV-SOL VNF error-handling
|
|||
|
||||
This document describes how to error-handling VNF in Tacker.
|
||||
|
||||
.. note::
|
||||
Rollback and retry are NOT supported in version 2 vnflcm APIs in Xena yet.
|
||||
So, You should recover it by yourself instead if instantiation is failed via v2 API.
|
||||
The recovering process may include deleting a stack via HEAT API.
|
||||
|
||||
|
||||
Prerequisites
|
||||
-------------
|
||||
|
||||
|
@ -237,12 +231,56 @@ the **callbackUri** set in 'Create a new subscription'.
|
|||
**vnfLcmOpOccId** included in this 'Notification' corresponds
|
||||
to VNF_LCM_OP_OCC_ID.
|
||||
|
||||
See `Tacker API reference`_. for details on the APIs used here.
|
||||
See `VNF LCM v1 API`_ and `VNF LCM v2 API`_
|
||||
for details on the APIs used here.
|
||||
|
||||
|
||||
Rollback VNF LCM Operation
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. note::
|
||||
Rollback of Scale-Out has a difference in operation result between v1 and v2.
|
||||
In v1, the oldest VNFc(VM) is deleted. In v2, the newest VNFc(VM) is deleted.
|
||||
|
||||
.. list-table::
|
||||
:widths: 10 40 15 15 10 10
|
||||
:header-rows: 1
|
||||
|
||||
* - LCM Operation
|
||||
- Description of Rollback
|
||||
- Precondition
|
||||
- Postcondition
|
||||
- Support in v1
|
||||
- Support in v2
|
||||
* - Instantiate
|
||||
- | VNFM removes all VMs and resources.
|
||||
| e.g. Tacker executes Heat stack-delete for deletion of the target VM.
|
||||
- FAILED_TEMP
|
||||
- ROLLED_BACK or FAILED_TEMP
|
||||
- X
|
||||
- X
|
||||
* - Scale-out
|
||||
- | VNFM reverts changes of VMs and resources specified in the middle of scale-out operation.
|
||||
| There are differences in the operation results of v1 and v2. See note.
|
||||
| e.g. Tacker reverts desired_capacity and executes Heat stack-update.
|
||||
- FAILED_TEMP
|
||||
- ROLLED_BACK or FAILED_TEMP
|
||||
- X
|
||||
- X
|
||||
* - Modify
|
||||
- VNFM reverts the update of the VNF instance information.
|
||||
- FAILED_TEMP
|
||||
- ROLLED_BACK or FAILED_TEMP
|
||||
-
|
||||
- X
|
||||
* - Change external connectivity
|
||||
- | VNFM reverts changes of the external connectivity for VNF instances.
|
||||
| e.g. Tacker reverts stack parameters and executes Heat stack-update.
|
||||
- FAILED_TEMP
|
||||
- ROLLED_BACK or FAILED_TEMP
|
||||
-
|
||||
- X
|
||||
|
||||
This manual describes the following operations as use cases for
|
||||
rollback operations.
|
||||
|
||||
|
@ -296,7 +334,54 @@ Result:
|
|||
|
||||
|
||||
Fail VNF LCM Operation
|
||||
~~~~~~~~~~~~~~~~~~~~~~~
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. list-table::
|
||||
:widths: 10 40 15 15 10 10
|
||||
:header-rows: 1
|
||||
|
||||
* - LCM Operation
|
||||
- Description of Fail
|
||||
- Precondition
|
||||
- Postcondition
|
||||
- Support in v1
|
||||
- Support in v2
|
||||
* - Instantiate
|
||||
- Tacker simply changes LCM operation state to "FAILED" on Tacker-DB.
|
||||
- FAILED_TEMP
|
||||
- FAILED
|
||||
- X
|
||||
- X
|
||||
* - Terminate
|
||||
- Tacker simply changes LCM operation state to "FAILED" on Tacker-DB.
|
||||
- FAILED_TEMP
|
||||
- FAILED
|
||||
- X
|
||||
- X
|
||||
* - Heal
|
||||
- Tacker simply changes LCM operation state to "FAILED" on Tacker-DB.
|
||||
- FAILED_TEMP
|
||||
- FAILED
|
||||
- X
|
||||
- X
|
||||
* - Scale
|
||||
- Tacker simply changes LCM operation state to "FAILED" on Tacker-DB.
|
||||
- FAILED_TEMP
|
||||
- FAILED
|
||||
- X
|
||||
- X
|
||||
* - Modify
|
||||
- Tacker simply changes LCM operation state to "FAILED" on Tacker-DB.
|
||||
- FAILED_TEMP
|
||||
- FAILED
|
||||
- X
|
||||
- X
|
||||
* - Change external connectivity
|
||||
- Tacker simply changes LCM operation state to "FAILED" on Tacker-DB.
|
||||
- FAILED_TEMP
|
||||
- FAILED
|
||||
- X
|
||||
- X
|
||||
|
||||
This manual describes the following operations as use cases for
|
||||
fail operations.
|
||||
|
@ -353,6 +438,53 @@ Result:
|
|||
Retry VNF LCM Operation
|
||||
~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. list-table::
|
||||
:widths: 10 40 15 15 10 10
|
||||
:header-rows: 1
|
||||
|
||||
* - LCM Operation
|
||||
- Description of Fail
|
||||
- Precondition
|
||||
- Postcondition
|
||||
- Support in v1
|
||||
- Support in v2
|
||||
* - Instantiate
|
||||
- VNFM retries a Instantiate operation.
|
||||
- FAILED_TEMP
|
||||
- COMPLETED or FAILED_TEMP
|
||||
- X
|
||||
- X
|
||||
* - Terminate
|
||||
- VNFM retries a Terminate operation.
|
||||
- FAILED_TEMP
|
||||
- COMPLETED or FAILED_TEMP
|
||||
- X
|
||||
- X
|
||||
* - Heal
|
||||
- VNFM retries a Heal operation.
|
||||
- FAILED_TEMP
|
||||
- COMPLETED or FAILED_TEMP
|
||||
- X
|
||||
- X
|
||||
* - Scale
|
||||
- VNFM retries a Scale operation.
|
||||
- FAILED_TEMP
|
||||
- COMPLETED or FAILED_TEMP
|
||||
- X
|
||||
- X
|
||||
* - Modify
|
||||
- VNFM retries a Modify operation.
|
||||
- FAILED_TEMP
|
||||
- COMPLETED or FAILED_TEMP
|
||||
- X
|
||||
- X
|
||||
* - Change external connectivity
|
||||
- VNFM retries a Change external connectivity operation.
|
||||
- FAILED_TEMP
|
||||
- COMPLETED or FAILED_TEMP
|
||||
- X
|
||||
- X
|
||||
|
||||
This manual describes the following operations as use cases for
|
||||
retry operations.
|
||||
|
||||
|
@ -380,6 +512,7 @@ Result:
|
|||
If "Retry VNF lifecycle management operation" is successful,
|
||||
then another LCM can be operational.
|
||||
|
||||
.. _Tacker API reference : https://docs.openstack.org/api-ref/nfv-orchestration/v1/index.html
|
||||
.. _VNF LCM v1 API : https://docs.openstack.org/api-ref/nfv-orchestration/v1/vnflcm.html
|
||||
.. _VNF LCM v2 API : https://docs.openstack.org/api-ref/nfv-orchestration/v2/vnflcm.html
|
||||
.. _Keystone API reference : https://docs.openstack.org/api-ref/identity/v3/#password-authentication-with-scoped-authorization
|
||||
|
||||
|
|
Loading…
Reference in New Issue