Bug 1421619 - Command proceed to perform the next execution phase although execute() failed
Summary: Command proceed to perform the next execution phase although execute() failed
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: ovirt-engine
Classification: oVirt
Component: Backend.Core
Version: 4.1.0
Hardware: Unspecified
OS: Unspecified
unspecified
medium
Target Milestone: ovirt-4.1.1
: 4.1.1.2
Assignee: Liron Aravot
QA Contact: Kevin Alon Goldblatt
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2017-02-13 09:29 UTC by Liron Aravot
Modified: 2017-04-21 09:33 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-04-21 09:33:27 UTC
oVirt Team: Storage
Embargoed:
rule-engine: ovirt-4.1+


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
oVirt gerrit 72140 0 ovirt-engine-4.1 MERGED core: SerialChildCommandsExecutionCallback - performNextOperation() 2020-09-18 01:22:30 UTC

Description Liron Aravot 2017-02-13 09:29:26 UTC
Description of problem:
Command which is using the SerialChildCommandsExecutionCallback and fails during its execute() will proceed to perform the next operation.

Comment 1 Red Hat Bugzilla Rules Engine 2017-02-13 09:32:03 UTC
Target release should be placed once a package build is known to fix a issue. Since this bug is not modified, the target version has been reset. Please use target milestone to plan a fix for a oVirt release.

Comment 2 Raz Tamir 2017-02-16 14:46:16 UTC
Liron,
can you provide steps to verify this?

Comment 3 Liron Aravot 2017-02-22 11:05:10 UTC
1. Create a VM with 1 disk
2. Create a template from that VM (with the disk on NFS domain)
3. Delete the template disk manually from the storage.
4. Add "Server" VM based on that template

Look for similar message to:
 [org.ovirt.engine.core.bll.SerialChildCommandsExecutionCallback] (DefaultQuartzScheduler8) [62c5f460] Command 'CopyImageGroupWithData' id: 'be0f838f-0785-44a9-8847-52a732084ee7' execution didn't complete, not proceeding to perform the next operatio

Comment 4 Kevin Alon Goldblatt 2017-03-09 21:10:40 UTC
Verified with the following code:
--------------------------------------------------------
ovirt-engine-4.1.1.3-0.1.el7.noarc
rhevm-4.1.1.3-0.1.el7.noarch
vdsm-4.19.7-1.el7ev.x86_64

Verified with the following scenario:
--------------------------------------------------------
1. Create a VM with 1 disk
2. Create a template from that VM (with the disk on NFS domain)
3. Delete the template disk manually from the storage.
4. Add "Server" VM based on that template

Add VM based on template fails - does no move on to next step

Moving to VERIFIED!

Engine.log
-----------------------
2017-03-09 23:04:43,121+02 ERROR [org.ovirt.engine.core.vdsbroker.vdsbroker.HSMGetAllTasksStatusesVDSCommand] (DefaultQuartzScheduler8) [7eb50eff] Failed in 'HSMGetAllTasksStatusesVDS' method
2017-03-09 23:04:43,156+02 ERROR [org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogDirector] (DefaultQuartzScheduler8) [7eb50eff] EVENT_ID: VDS_BROKER_COMMAND_FAILURE(10,802), Correlation ID: null, Call Stack: null, Custom Event ID: -1, Message: VDSM purple-vds2.qa.lab.tlv.redhat.com command HSMGetAllTasksStatusesVDS failed: Image path does not exist or cannot be accessed/created
2017-03-09 23:04:43,156+02 INFO  [org.ovirt.engine.core.bll.tasks.SPMAsyncTask] (DefaultQuartzScheduler8) [7eb50eff] SPMAsyncTask::PollTask: Polling task 'd69491a2-c356-4761-bf99-023d415c8bff' (Parent Command 'CreateSnapshotFromTemplate', Parameters Type 'org.ovirt.engine.core.common.asynctasks.AsyncTaskParameters') returned status 'finished', result 'cleanSuccess'.
2017-03-09 23:04:43,164+02 ERROR [org.ovirt.engine.core.bll.tasks.SPMAsyncTask] (DefaultQuartzScheduler8) [7eb50eff] BaseAsyncTask::logEndTaskFailure: Task 'd69491a2-c356-4761-bf99-023d415c8bff' (Parent Command 'CreateSnapshotFromTemplate', Parameters Type 'org.ovirt.engine.core.common.asynctasks.AsyncTaskParameters') ended with failure:
-- Result: 'cleanSuccess'
-- Message: 'VDSGenericException: VDSErrorException: Failed to HSMGetAllTasksStatusesVDS, error = Image path does not exist or cannot be accessed/created, code = 254',
-- Exception: 'VDSGenericException: VDSErrorException: Failed to HSMGetAllTasksStatusesVDS, error = Image path does not exist or cannot be accessed/created, code = 254'
2017-03-09 23:04:43,165+02 INFO  [org.ovirt.engine.core.bll.tasks.CommandAsyncTask] (DefaultQuartzScheduler8) [7eb50eff] CommandAsyncTask::endActionIfNecessary: All tasks of command 'ecc1a374-b289-470c-816b-5dc34f514855' has ended -> executing 'endAction'
2017-03-09 23:04:43,165+02 INFO  [org.ovirt.engine.core.bll.tasks.CommandAsyncTask] (DefaultQuartzScheduler8) [7eb50eff] CommandAsyncTask::endAction: Ending action for '1' tasks (command ID: 'ecc1a374-b289-470c-816b-5dc34f514855'): calling endAction '.
2017-03-09 23:04:43,166+02 INFO  [org.ovirt.engine.core.bll.tasks.CommandAsyncTask] (org.ovirt.thread.pool-7-thread-14) [7eb50eff] CommandAsyncTask::endCommandAction [within thread] context: Attempting to endAction 'CreateSnapshotFromTemplate',
2017-03-09 23:04:43,180+02 INFO  [org.ovirt.engine.core.bll.snapshots.CreateSnapshotFromTemplateCommand] (org.ovirt.thread.pool-7-thread-14) [3a25ba09] Command [id=ecc1a374-b289-470c-816b-5dc34f514855]: Updating status to 'FAILED', The command end method logic will be executed by one of its parent commands.
2017-03-09 23:04:43,181+02 INFO  [org.ovirt.engine.core.bll.tasks.CommandAsyncTask] (org.ovirt.thread.pool-7-thread-14) [3a25ba09] CommandAsyncTask::HandleEndActionResult [within thread]: endAction for action type 'CreateSnapshotFromTemplate' completed, handling the result.
2017-03-09 23:04:43,181+02 INFO  [org.ovirt.engine.core.bll.tasks.CommandAsyncTask] (org.ovirt.thread.pool-7-thread-14) [3a25ba09] CommandAsyncTask::HandleEndActionResult [within thread]: endAction for action type 'CreateSnapshotFromTemplate' succeeded, clearing tasks.
2017-03-09 23:04:43,181+02 INFO  [org.ovirt.engine.core.bll.tasks.SPMAsyncTask] (org.ovirt.thread.pool-7-thread-14) [3a25ba09] SPMAsyncTask::ClearAsyncTask: Attempting to clear task 'd69491a2-c356-4761-bf99-023d415c8bff'
2017-03-09 23:04:43,185+02 INFO  [org.ovirt.engine.core.vdsbroker.irsbroker.SPMClearTaskVDSCommand] (org.ovirt.thread.pool-7-thread-14) [3a25ba09] START, SPMClearTaskVDSCommand( SPMTaskGuidBaseVDSCommandParameters:{runAsync='true', storagePoolId='00000001-0001-0001-0001-000000000311', ignoreFailoverLimit='false', taskId='d69491a2-c356-4761-bf99-023d415c8bff'}), log id: 8ed0ee6
2017-03-09 23:04:43,187+02 INFO  [org.ovirt.engine.core.vdsbroker.vdsbroker.HSMClearTaskVDSCommand] (org.ovirt.thread.pool-7-thread-14) [3a25ba09] START, HSMClearTaskVDSCommand(HostName = purple-vds2.qa.lab.tlv.redhat.com, HSMTaskGuidBaseVDSCommandParameters:{runAsync='true', hostId='c82979b9-9c8c-4f66-92f8-2172ec54f99e', taskId='d69491a2-c356-4761-bf99-023d415c8bff'}), log id: 7090902e
2017-03-09 23:04:44,207+02 INFO  [org.ovirt.engine.core.vdsbroker.vdsbroker.HSMClearTaskVDSCommand] (org.ovirt.thread.pool-7-thread-14) [3a25ba09] FINISH, HSMClearTaskVDSCommand, log id: 7090902e
2017-03-09 23:04:44,207+02 INFO  [org.ovirt.engine.core.vdsbroker.irsbroker.SPMClearTaskVDSCommand] (org.ovirt.thread.pool-7-thread-14) [3a25ba09] FINISH, SPMClearTaskVDSCommand, log id: 8ed0ee6
2017-03-09 23:04:44,252+02 INFO  [org.ovirt.engine.core.bll.tasks.SPMAsyncTask] (org.ovirt.thread.pool-7-thread-14) [3a25ba09] BaseAsyncTask::removeTaskFromDB: Removed task 'd69491a2-c356-4761-bf99-023d415c8bff' from DataBase
2017-03-09 23:04:44,252+02 INFO  [org.ovirt.engine.core.bll.tasks.CommandAsyncTask] (org.ovirt.thread.pool-7-thread-14) [3a25ba09] CommandAsyncTask::HandleEndActionResult [within thread]: Removing CommandMultiAsyncTasks object for entity 'ecc1a374-b289-470c-816b-5dc34f514855'
2017-03-09 23:04:44,563+02 INFO  [org.ovirt.engine.core.bll.ConcurrentChildCommandsExecutionCallback] (DefaultQuartzScheduler9) [3a25ba09] Command 'AddVm' id: '35f23bce-942d-4c0a-b082-013b690701ad' child commands '[ecc1a374-b289-470c-816b-5dc34f514855]' executions were completed, status 'FAILED'
2017-03-09 23:04:45,646+02 ERROR [org.ovirt.engine.core.bll.AddVmCommand] (DefaultQuartzScheduler1) [3a25ba09] Ending command 'org.ovirt.engine.core.bll.AddVmCommand' with failure.
2017-03-09 23:04:45,665+02 ERROR [org.ovirt.engine.core.bll.snapshots.CreateSnapshotFromTemplateCommand] (DefaultQuartzScheduler1) [3a25ba09] Ending command 'org.ovirt.engine.core.bll.snapshots.CreateSnapshotFromTemplateCommand' with failure.
2017-03-09 23:04:45,942+02 INFO  [org.ovirt.engine.core.bll.AddVmCommand] (DefaultQuartzScheduler1) [] Lock freed to object 'EngineLock:{exclusiveLocks='[server=<VM_NAME, ACTION_TYPE_FAILED_OBJECT_LOCKED>]', sharedLocks='[b6b9b11e-c640-430c-b515-11b3a26e7504=<TEMPLATE, ACTION_TYPE_FAILED_TEMPLATE_IS_USED_FOR_CREATE_VM$VmName server>, bd9b7a6e-8c3e-4748-bbb9-e42902e5b0a9=<DISK, ACTION_TYPE_FAILED_DISK_IS_USED_FOR_CREATE_VM$VmName server>]'}'
2017-03-09 23:04:46,023+02 ERROR [org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogDirector] (DefaultQuartzScheduler1) [] EVENT_ID: USER_ADD_VM_FINISHED_FAILURE(60), Correlation ID: 5b64de1e-725a-4383-a22d-0113eae6de3e, Job ID: f820488e-c353-4fc5-9551-41865ad2a8a6, Call Stack: null, Custom Event ID: -1, Message: Failed to complete VM server creation.
2017-03-09 23:06:15,595+02 INFO  [org.ovirt.engine.core.bll.tasks.AsyncTaskManager] (DefaultQuartzScheduler1) [] Setting new tasks map. The map contains now 0 tasks
2017-03-09 23:06:15,596+02 INFO  [org.ovirt.engine.core.bll.tasks.AsyncTaskManager] (DefaultQuartzScheduler1) [] Cleared all tasks of pool '00000001-0001-0001-0001-000000000311'.
~


Note You need to log in before you can comment on or make changes to this bug.