13 Query LCM Operation
This resource represents VNF lifecycle management operation occurrences. This resource can be used to query status information about multiple VNF lifecycle management operation occurrences.
Figure 13-1 VNF LCM Operation

Query LCM Operation, using the following two ways:
- Query individual LCM Operation
- Query All LCM Operation
13.1 Query Individual LCM Operation
If the NFVO intends to read information about a particular LCM
Operation, it sends a GET request to the "Individual LCM operation" resource,
addressed by the appropriate VNF LCM Operation occurrence identifier
(vnfLcmOpOccId
) in its resource URI.
The VNFM returns a
200 OK response to the NFVO, and includes specific data structure
of type "
VnfLcmOpOcc
" related to the VNF LCM Operation occurrence
identifier (vnfLcmOpOccId
) in the payload body.
Sample Request
Query individual LCM Operation
URL:
GET: https://<<VNFM HOST
IP>>:8443/vnflcm/v1/vnf_lcm_op_occs
/<<{vnfLcmOpOccId}>>
Sample Response
URL: GET: https://<<VNFM HOST IP>>:8443/vnflcm/v1/vnf_lcm_op_occs/<<{vnfLcmOpOccId}>>
Accept: application/json
Content-Type: application/json
X-Token: Token generated after login
{
"id": "lcmOp-00301ea4-a7b2-4334-8b93-190377700ab0",
"operationState": "COMPLETED",
"stateEnteredTime": "2019/02/08 07:33:00 UTC",
"startTime": "2019/02/08 07:31:19 UTC",
"vnfInstanceId": "dsrNetworkOam-cf67bff6-e9c9-4213-b6fa-b5337c3d30b6",
"operation": "TERMINATE",
"operationParams": {
"terminationType": "FORCEFUL",
"gracefulTerminationTimeout": null,
"additionalParams": null
},
"links": {
"self": {
"href": "https://localhost:8443/vnflcm/v1/vnf_lcm_op_occs/lcmOp-00301ea4-a7b2-4334-8b93-190377700ab0"
},
"vnfInstance": {
"href": "https://localhost:8443/vnflcm/v1/vnf_instances/dsrNetworkOam-cf67bff6-e9c9-4213-b6fa-b5337c3d30b6"
}
},
"isCancelPending": false,
"isAutomaticInvocation": false
}
13.2 Query All LCM Operation
If the NFVO intends to query all LCM Operation, it sends a GET request to the LCM operation resource.
The VNFM returns a
200 OK response to
the NFVO, and includes zero or more data structures of type "
VnfLcmOpOcc
" in the
payload body.
Sample Request
Query All LCM Operation
URL: GET:
https://<<VNFM HOST IP>>:8443/vnflcm/v1/vnf_lcm_op_occs
Sample Response
URL: GET: https://<<VNFM HOST IP>>:8443/vnflcm/v1/vnf_lcm_op_occs
Response Body for No VNF Instances
[]
Response Body for Query All LCM Operation
[
{
"id": "lcmOp-ec72c7b4-7cea-4201-a0ab-5c0cec66cfa6",
"operationState": "STARTING",
"stateEnteredTime": "2019/01/16 05:53:31 UTC",
"startTime": "2019/01/16 05:53:31 UTC",
"vnfInstanceId": "dsrNetworkOam-dfc4dcd2-2752-48b4-875d-6cf703ba4134",
"operation": "INSTANTIATE",
"operationParams": {
"flavourId": "DSR NOAM",
"instantiationLevelId": "smalll",
"extVirtualLinks": "extVirtualLinks",
"extManagedVirtualLinks": [],
"vimConnectionInfo": [
{
"id": "vimid",
"vimType": "OpenStack",
"interfaceInfo": {
"controllerUri": "https://oortcloud.us.oracle.com:5000/v3"
},
"accessInfo": {
"username": "dsrat.user",
"password": "xxxxx",
“userDomain”: “Default”,
"projectDomain": "default",
"tenant": "DSR AT Dev 2"
},
"extra": null
}
],
"localizationLanguage": "localizationLanguage",
"additionalParams": {
"ntpServerIp": "10.250.32.10",
"xmiNetwork": {
"name": "ext-net7",
"ipVersion": "IPv4",
"xmiSubnetName":"ext-net7-subnet"
}
}
},
"links": {
"self": {
"href": "https://localhost:8443/vnflcm/v1/vnf_lcm_op_occs/lcmOp-ec72c7b4-7cea-4201-a0ab-5c0cec66cfa6"
},
"vnfInstance": {
"href": "https://localhost:8443/vnflcm/v1/vnf_instances/dsrNetworkOam-dfc4dcd2-2752-48b4-875d-6cf703ba4134"
}
},
"isAutomaticInvocation": false,
"isCancelPending": false
},
{
"id": "lcmOp-00574fa7-8c4a-45ac-b7a8-816bfaf70985",
"operationState": "STARTING",
"stateEnteredTime": "2019/01/16 06:05:32 UTC",
"startTime": "2019/01/16 06:05:32 UTC",
"vnfInstanceId": "dsrSignaling-08db63da-6cac-495f-8480-baf368d21cf7",
"operation": "INSTANTIATE",
"operationParams": {
"flavourId": "DIAMETER",
"instantiationLevelId": "small",
"extVirtualLinks": "extVirtualLinks",
"extManagedVirtualLinks": [
{
"id": "id1",
"resourceId": "31ae9c8b-519e-4316-9a24-45c619646d69"
},
{
"id": "id2",
"resourceId": "aa9d142d-89d4-40e7-a701-559a993aa5ea"
}
],
"vimConnectionInfo": [
{
"id": "vimid",
"vimType": "OpenStack",
"interfaceInfo": {
"controllerUri": "https://oortcloud.us.oracle.com:5000/v3"
},
"accessInfo": {
"username": "dsrat.user",
"password": "xxxxxx",
“userDomain”: “Default”,
"projectDomain": "default",
"tenant": "DSR AT Dev 2"
},
"extra": null
}
],
"localizationLanguage": "localizationLanguage",
"additionalParams": {
"xmiNetwork": {
"name": "ext-net7",
"ipVersion": "IPv4",
"xmiSubnetName":"ext-net7-subnet"
},
"xsiNetwork": {
"name": "ext-net7",
"ipVersion": "IPv4",
"xsiSubnetName":"ext-net7-subnet"
},
"ntpServerIp": "10.250.32.10",
"primaryNoamVmName": "NOAM00-03ba4134",
"noamSgName": "dsrNetworkOam_NOAM_03ba4134_SG"
}
},
"links": {
"self": {
"href": "https://localhost:8443/vnflcm/v1/vnf_lcm_op_occs/lcmOp-00574fa7-8c4a-45ac-b7a8-816bfaf70985"
},
"vnfInstance": {
"href": "https://localhost:8443/vnflcm/v1/vnf_instances/dsrSignaling-08db63da-6cac-495f-8480-baf368d21cf7"
}
},
"isAutomaticInvocation": false,
"isCancelPending": false
}
]
13.3 VNFM Get Operation Status
VNFM supports the SOL003 operation 'Get Operation Status'. The Get Operation Status operation is compliant to SOL003 version 3.3.1
NFVO invokes Get Operation Status in VNF Life cycle management operations towards VNFM. The VNFM queries the VNF for all life cycle management operation occurance.
Figure 13-2 Get Operation Status LCM operation

The Get Operations Status operation is as follows.
- If the NFVO intends to query all VNF lifecycle management operation occurrences, it sends a GET request to the VNF LCM operation occurrences resource.
- The VNFM returns a 200 OK response to the NFVO and includes zero or more data structures of type VnfLcmOpOcc in the payload body.
- If the NFVO intends to read information about a particular VNF LCM operation occurrence, it sends a GET request to the Individual VNF LCM operation occurrence resource, addressed by the appropriate VNF LCM operation occurrence identifier in its resource URI.
- The VNFM returns a 200 OK response to the NFVO and includes one data structure of type VnfLcmOpOcc in the payload body.
The new fields added and their definitions are mentioned in the following table:
Table 13-1 New fields and their definitions
New fields | Sub fields | Definitions |
---|---|---|
error | If "operationState" is "FAILED_TEMP" or "FAILED" or "operationState" is "PROCESSING" or "ROLLING_BACK" and previous value of "operationState" was "FAILED_TEMP", this attribute is present and contains the error information, unless it has been requested to be excluded through an attribute selector. | |
resourceChanges | This attribute contains information about the cumulative changes to virtualised resources that were performed so far by the LCM operation since its start, if applicable. | |
affectedVnfcs | Information about VNFC instances that were affected during the lifecycle operation. | |
affectedVirtualLinks | Information about VL instances that were affected during the lifecycle operation. | |
affectedExtLinkPorts | Information about external VNF link ports that were affected during the lifecycle operation. | |
affectedVirtualStorages | Information about virtualised storage instances that were affected during the lifecycle operation. | |
changedInfo | Information about the changed VNF instance information, including VNF configurable properties, if applicable. | |
changedExtConnectivity | Information about changed external connectivity, if applicable. | |
modificationsTriggeredByVnfPkgChange | Information about performed changes of "VnfInstance" attributes triggered by changing the current VNF package, if applicable. Shall be absent if the "operation" attribute is different from "CHANGE_VNFPKG" | |
vnfSnapshotInfoId | Identifier of the "Individual VNF snapshot" resource. Shall be present if applicable to the type of LCM operation, i.e. if the value of the "operation" attribute is either "CREATE_SNAPSHOT" or "REVERT_TO_SNAPSHOT". | |
_links | Links to resources related to this resource. | |
self | URI of this resource. | |
vnfInstance | Link to the VNF instance that the operation applies to. | |
grant | Link to the grant for this operation, if one exists. | |
cancel | Link to the task resource that represents the "cancel" operation for this VNF LCM operation occurrence, if cancelling is currently allowed. | |
retry | Link to the task resource that represents the "retry" operation for this VNF LCM operation occurrence, if retrying is currently allowed. | |
rollback | Link to the task resource that represents the "rollback" operation for this VNF LCM operation occurrence, if rolling back is currently allowed. | |
fail | Link to the task resource that represents the "fail" operation for this VNF LCM operation occurrence, if declaring as failed is currently allowed. | |
vnfSnapshot | Link to the VNF snapshot resource, if the VNF LCM operation occurrence is related to a VNF snapshot. Shall be present if operation="CREATE_SNAPSHOT" or operation="REVERT_TO_SNAPSHOT". |
Note:
- This allows the NFVO to obtain the information contained in the latest "result" notification if it has not received it due to an error or a wrongly configured subscription filter.
- Not more than one of changedInfo and modificationsTriggeredByVnfPkgChange shall be present.
- For a particular affected VL, there shall be as many "AffectedVirtualLink" entries as needed for signalling the different types of changes, i.e. one per virtual link and change type. For instance, in the case of signaling affected VL instances involving the addition of a particular VL instance with links ports, one "AffectedVirtualLink" entry signals the addition of the VL by using the "changeType" attribute of "AffectedVirtualLink" structure equal to "ADDED", and another "AffectedVirtualLink" entry signals the addition of externally visible VNF link ports of the VL by using the "changeType" equal to "LINK_PORT_ADDED".
Example of an LCM successful scenario
{
"id": "lcmOp-55233499-078b-4eba-91fd-a58752ce23a4",
"operationState": "COMPLETED",
"stateEnteredTime": "2021/07/20 06:23:22 GMT",
"startTime": "2021/07/20 06:22:58 GMT",
"vnfInstanceId": "dsrIdih-16d883d6-0dd6-476c-aad7-a529054bb0c0",
"operation": "TERMINATE",
"operationParams": {
"terminationType": "FORCEFUL",
"gracefulTerminationTimeout": null,
"additionalParams": null
},
"resourceChanges": {
"affectedVnfcs": [
{
"id": "FT--a82db823-IDAPP00",
"changeType": "REMOVED",
"computeResource": {
"vimConnectionId": "vimid",
"resourceId": "06f682d9-9146-4989-9489-aebf33ecd7b3"
}
},
{
"id": "FT--a82db823-IDMED00",
"changeType": "REMOVED",
"computeResource": {
"vimConnectionId": "vimid",
"resourceId": "946ae36b-2378-4609-b72e-7e14f6f0d430"
}
},
{
"id": "FT--a82db823-IDDB00",
"changeType": "REMOVED",
"computeResource": {
"vimConnectionId": "vimid",
"resourceId": "143c4019-416b-49d4-9bcd-ee8b321ce731"
}
}
]
},
"links": {
"self": {
"href": "https://[2606:b400:605:b813::b]:8443/vnflcm/v1/vnf_lcm_op_occs/lcmOp-55233499-078b-4eba-91fd-a58752ce23a4"
},
"vnfInstance": {
"href": "https://[2606:b400:605:b813::b]:8443/vnflcm/v1/vnf_instances/dsrIdih-16d883d6-0dd6-476c-aad7-a529054bb0c0"
}
},
"isAutomaticInvocation": false,
"isCancelPending": false
}
Example of a failed LCM scenario
{
"id": "lcmOp-536b138e-192d-4659-8457-b9306d4ced88",
"operationState": "FAILED",
"stateEnteredTime": "2021/07/20 07:12:00 GMT",
"startTime": "2021/07/20 06:27:45 GMT",
"vnfInstanceId": "dsrNetworkOam-cb8802a0-6358-4e78-805d-392f8bc9848b",
"operation": "INSTANTIATE",
"operationParams": {
"flavourId": "DSR NOAM",
"instantiationLevelId": "ha",
"extVirtualLinks": "extVirtualLinks",
"extManagedVirtualLinks": [],
"vimConnectionInfo": [
{
"id": "vimid",
"vimType": "OpenStack",
"interfaceInfo": {
"controllerUri": "https://mvl-dev1.us.oracle.com:5000/v3"
},
"accessInfo": {
"username": "dsrvnfm",
"password": "xxxxxxx",
"userDomain": "default",
"projectDomain": "default",
"tenant": "VNFM_FT1"
},
"extra": {}
}
],
"localizationLanguage": "localizationLanguage",
"additionalParams": {
"ntpServerIp": "10.250.32.10",
"xmiNetwork": {
"name": "ext-net5-dual",
"subnet": [
{
"ipVersion": "IPv4",
"name": "ext-net5-ipv4"
}
]
},
"imiNetwork": {
"name": "imi-private",
"subnet": [
{
"ipVersion": "IPv4",
"name": "imi-private-sub"
}
]
}
}
},
"error": {
"title": "DsrVnfmGenException",
"status": 500,
"detail": "There is cloud-init failure."
},
"resourceChanges": {
"affectedVnfcs": [
{
"id": "FT--8716b8dc-DNO00",
"changeType": "ADDED",
"computeResource": {
"vimConnectionId": "vimid",
"resourceId": "ad5b378e-40b7-4a83-a31d-ed7b9ddf2501"
}
},
{
"id": "FT--8716b8dc-DNO01",
"changeType": "ADDED",
"computeResource": {
"vimConnectionId": "vimid",
"resourceId": "dfae8cfd-94c4-4e1a-9322-6fc3e583243b"
}
}
]
},
"links": {
"self": {
"href": "https://[2606:b400:605:b813::b]:8443/vnflcm/v1/vnf_lcm_op_occs/lcmOp-536b138e-192d-4659-8457-b9306d4ced88"
},
"vnfInstance": {
"href": "https://[2606:b400:605:b813::b]:8443/vnflcm/v1/vnf_instances/dsrNetworkOam-cb8802a0-6358-4e78-805d-392f8bc9848b"
}
},
"isAutomaticInvocation": false,
"isCancelPending": false
}
Example of an LCM operation after MODIFY VNF
{
"id": "lcmOp-ea2f46e7-5721-49a2-8770-e4002180169c",
"operationState": "COMPLETED",
"stateEnteredTime": "2021/07/19 17:40:28 GMT",
"startTime": "2021/07/19 17:40:28 GMT",
"vnfInstanceId": "vnfmSecondary-2b9f3114-51c3-4b8a-a51d-2d826c8354be",
"operation": "MODIFY_INFO",
"operationParams": {
"vnfInstanceDescription": "Modify VNF",
"vimConnectionInfo": null
},
"changedInfo": {
"vnfInstanceDescription": "Modify VNF"
},
"links": {
"self": {
"href": "https://[2606:b400:605:b813::b]:8443/vnflcm/v1/vnf_lcm_op_occs/lcmOp-ea2f46e7-5721-49a2-8770-e4002180169c"
},
"vnfInstance": {
"href": "https://[2606:b400:605:b813::b]:8443/vnflcm/v1/vnf_instances/vnfmSecondary-2b9f3114-51c3-4b8a-a51d-2d826c8354be"
}
},
"isAutomaticInvocation": false,
"isCancelPending": false
}