Bug 827820 - [ovirt-engine-backend] Livesnapshot fails for VM
[ovirt-engine-backend] Livesnapshot fails for VM
Status: CLOSED CURRENTRELEASE
Product: Red Hat Enterprise Virtualization Manager
Classification: Red Hat
Component: ovirt-engine (Show other bugs)
unspecified
x86_64 Linux
urgent Severity urgent
: ---
: 3.1.0
Assigned To: Allon Mureinik
Leonid Natapov
storage
: TestBlocker
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2012-06-03 03:48 EDT by Kiril Nesenko
Modified: 2016-02-10 12:16 EST (History)
11 users (show)

See Also:
Fixed In Version: SI6
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2012-12-04 15:13:05 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: Storage
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
logs (201.40 KB, application/x-bzip)
2012-06-03 03:48 EDT, Kiril Nesenko
no flags Details
engine.log_1 (21.48 KB, application/x-bzip)
2012-06-06 04:50 EDT, Kiril Nesenko
no flags Details
engine.log_2 (28.11 KB, application/x-bzip)
2012-06-11 07:50 EDT, Kiril Nesenko
no flags Details

  None (edit)
Description Kiril Nesenko 2012-06-03 03:48:28 EDT
Created attachment 588795 [details]
logs

Description of problem:
Livesnapshot fails for vm that was created from template

2012-06-03 10:35:50,535 INFO  [org.ovirt.engine.core.vdsbroker.vdsbroker.SnapshotVDSCommand] (ajp--0.0.0.0-8009-2) ------- [7c80fb50] START, SnapshotVDSCommand(vdsId = f80ecca4-aa2c-11e1-816c-001a4a23101e, vmId=b5cc226b-5d43-4d2d-a8eb-530cde055127), log id: 331f594e
2012-06-03 10:35:50,545 INFO  [org.ovirt.engine.core.vdsbroker.vdsbroker.SnapshotVDSCommand] (ajp--0.0.0.0-8009-2) ------- [7c80fb50] FINISH, SnapshotVDSCommand, log id: 331f594e
2012-06-03 10:35:50,550 INFO  [org.ovirt.engine.core.vdsbroker.irsbroker.UpdateVMVDSCommand] (ajp--0.0.0.0-8009-2) ------- [7c80fb50] START, UpdateVMVDSCommand(storagePoolId = 7a844083-ce09-4cdf-b5d9-c699657c4b8a, ignoreFailoverLimit = false, compatabilityVersion = null, storageDomainId = 00000000-0000-0000-0000-000000000000, infoDictionary.size = 1), log id: 42ecd273
2012-06-03 10:35:50,570 INFO  [org.ovirt.engine.core.vdsbroker.irsbroker.UpdateVMVDSCommand] (ajp--0.0.0.0-8009-2) ------- [7c80fb50] FINISH, UpdateVMVDSCommand, log id: 42ecd273
2012-06-03 10:35:50,572 ERROR [org.ovirt.engine.core.bll.CreateAllSnapshotsFromVmCommand] (ajp--0.0.0.0-8009-2) ------- [7c80fb50] Transaction rolled-back for command: org.ovirt.engine.core.bll.CreateAllSnapshotsFromVmCommand.
2012-06-03 10:35:50,573 INFO  [org.ovirt.engine.core.utils.transaction.TransactionSupport] (ajp--0.0.0.0-8009-2) ------- [7c80fb50] transaction rolled back




Version-Release number of selected component (if applicable):
si5

How reproducible:
Always

Steps to Reproduce:
1. Create a vm from template and run it.
2. Try to create a livesnapshot for a vm
3.
  
Actual results:
livesnapshot fails

Expected results:


Additional info:
tested on iscsi storage
Comment 1 Mike Kolesnik 2012-06-06 02:26:00 EDT
Looks like VM has no "snapshotable" disks - i.e. no disks were taken in snapshot, and it jumped straight to end action.

There are a few problems here:
1. No disk snapshot support is shaky and needs to be improved (or blocked).
2. The end action should be changed - either should ignore the live part if no disks sent, or it should not be called but instead just unlock the snapshots and continue.
3. I have no idea why the transaction is failing, probably due to #1. You need to find the cause but it's not clear from the logs (you just see that it gets rolled-back).
Comment 2 Ayal Baron 2012-06-06 04:13:42 EDT
Kiril, can you verify that indeed the snapshot you took was of a VM with no snapshotable disks?
Thanks.
Comment 3 Kiril Nesenko 2012-06-06 04:50:22 EDT
(In reply to comment #2)
> Kiril, can you verify that indeed the snapshot you took was of a VM with no
> snapshotable disks?
> Thanks.

I can not reproduce the scenario, but I have NPE after a snapshot creation finishes.

2012-06-06 11:44:48,766 WARN  [org.ovirt.engine.core.vdsbroker.VdsManager] (QuartzScheduler_Worker-96) ------- ResourceManager::refreshVdsRunTimeInfo::Failed to refresh VDS , vds = f22d5710-aa2c-11e1-902c-001a4a23101e : white-vdsg.eng.lab.tlv.redhat.com, error = NullPointerException: , continuing.
2012-06-06 11:44:48,767 ERROR [org.ovirt.engine.core.vdsbroker.VdsManager] (QuartzScheduler_Worker-96) ------- ResourceManager::refreshVdsRunTimeInfo: java.lang.NullPointerException
        at org.ovirt.engine.core.vdsbroker.VdsUpdateRunTimeInfo.updateVmDevices(VdsUpdateRunTimeInfo.java:939) [engine-vdsbroker.jar:]
        at org.ovirt.engine.core.vdsbroker.VdsUpdateRunTimeInfo.updateVmDevices(VdsUpdateRunTimeInfo.java:921) [engine-vdsbroker.jar:]
        at org.ovirt.engine.core.vdsbroker.VdsUpdateRunTimeInfo.handleVmDeviceChange(VdsUpdateRunTimeInfo.java:910) [engine-vdsbroker.jar:]
        at org.ovirt.engine.core.vdsbroker.VdsUpdateRunTimeInfo.refreshVmStats(VdsUpdateRunTimeInfo.java:861) [engine-vdsbroker.jar:]
        at org.ovirt.engine.core.vdsbroker.VdsUpdateRunTimeInfo.refreshVdsRunTimeInfo(VdsUpdateRunTimeInfo.java:421) [engine-vdsbroker.jar:]
        at org.ovirt.engine.core.vdsbroker.VdsUpdateRunTimeInfo.Refresh(VdsUpdateRunTimeInfo.java:256) [engine-vdsbroker.jar:]
        at org.ovirt.engine.core.vdsbroker.VdsManager$1.runInTransaction(VdsManager.java:234) [engine-vdsbroker.jar:]
        at org.ovirt.engine.core.utils.transaction.TransactionSupport.executeInSuppressed(TransactionSupport.java:168) [engine-utils.jar:]
        at org.ovirt.engine.core.utils.transaction.TransactionSupport.executeInScope(TransactionSupport.java:107) [engine-utils.jar:]
        at org.ovirt.engine.core.vdsbroker.VdsManager.OnTimer(VdsManager.java:215) [engine-vdsbroker.jar:]
        at sun.reflect.GeneratedMethodAccessor11.invoke(Unknown Source) [:1.6.0_24]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.6.0_24]
        at java.lang.reflect.Method.invoke(Method.java:616) [rt.jar:1.6.0_24]
        at org.ovirt.engine.core.utils.timer.JobWrapper.execute(JobWrapper.java:64) [engine-scheduler.jar:]
        at org.quartz.core.JobRunShell.run(JobRunShell.java:213) [quartz-2.1.2.jar:]
        at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:557) [quartz-2.1.2.jar:]

Attaching new logs.
Comment 4 Kiril Nesenko 2012-06-06 04:50:59 EDT
Created attachment 589778 [details]
engine.log_1
Comment 5 Kiril Nesenko 2012-06-11 07:49:58 EDT
Reproduced the oissue with a regular vm (not from template)

2012-06-11 14:01:55,821 WARN  [org.ovirt.engine.core.vdsbroker.VdsManager] (QuartzScheduler_Worker-12) ResourceManager::refreshVdsRunTimeInfo::Failed to refresh VDS , vds = 07babe40-b2d6-11e1-b84d-001a4a231020 :
 white-vdsg.eng.lab.tlv.redhat.com, error = NullPointerException: , continuing.
2012-06-11 14:01:55,822 ERROR [org.ovirt.engine.core.vdsbroker.VdsManager] (QuartzScheduler_Worker-12) ResourceManager::refreshVdsRunTimeInfo: java.lang.NullPointerException
        at org.ovirt.engine.core.vdsbroker.VdsUpdateRunTimeInfo.updateVmDevices(VdsUpdateRunTimeInfo.java:939) [engine-vdsbroker.jar:]
        at org.ovirt.engine.core.vdsbroker.VdsUpdateRunTimeInfo.updateVmDevices(VdsUpdateRunTimeInfo.java:921) [engine-vdsbroker.jar:]
        at org.ovirt.engine.core.vdsbroker.VdsUpdateRunTimeInfo.handleVmDeviceChange(VdsUpdateRunTimeInfo.java:910) [engine-vdsbroker.jar:]
        at org.ovirt.engine.core.vdsbroker.VdsUpdateRunTimeInfo.refreshVmStats(VdsUpdateRunTimeInfo.java:861) [engine-vdsbroker.jar:]
        at org.ovirt.engine.core.vdsbroker.VdsUpdateRunTimeInfo.refreshVdsRunTimeInfo(VdsUpdateRunTimeInfo.java:421) [engine-vdsbroker.jar:]
        at org.ovirt.engine.core.vdsbroker.VdsUpdateRunTimeInfo.Refresh(VdsUpdateRunTimeInfo.java:256) [engine-vdsbroker.jar:]
        at org.ovirt.engine.core.vdsbroker.VdsManager$1.runInTransaction(VdsManager.java:234) [engine-vdsbroker.jar:]
        at org.ovirt.engine.core.utils.transaction.TransactionSupport.executeInSuppressed(TransactionSupport.java:168) [engine-utils.jar:]
        at org.ovirt.engine.core.utils.transaction.TransactionSupport.executeInScope(TransactionSupport.java:107) [engine-utils.jar:]
        at org.ovirt.engine.core.vdsbroker.VdsManager.OnTimer(VdsManager.java:215) [engine-vdsbroker.jar:]
        at sun.reflect.GeneratedMethodAccessor8.invoke(Unknown Source) [:1.6.0_24]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.6.0_24]
        at java.lang.reflect.Method.invoke(Method.java:616) [rt.jar:1.6.0_24]
        at org.ovirt.engine.core.utils.timer.JobWrapper.execute(JobWrapper.java:64) [engine-scheduler.jar:]
        at org.quartz.core.JobRunShell.run(JobRunShell.java:213) [quartz-2.1.2.jar:]
        at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:557) [quartz-2.1.2.jar:]
Comment 6 Kiril Nesenko 2012-06-11 07:50:53 EDT
Created attachment 590907 [details]
engine.log_2
Comment 7 Allon Mureinik 2012-06-11 12:38:19 EDT
Uploaded a patch that should have solved this:
http://gerrit.ovirt.org/#/c/5256/
Comment 8 Allon Mureinik 2012-06-12 03:11:53 EDT
wrong status - patch is in gerrit but not merged yet, should have been POST, not MODIFIED.
my bad.
Comment 10 Allon Mureinik 2012-06-13 11:48:05 EDT
patch was merged.
Comment 11 Leonid Natapov 2012-06-19 05:20:55 EDT
fixed in SI6. Live snapshot can be created both from regular VM and from VM that was created from template.

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