Bug 827820 - [ovirt-engine-backend] Livesnapshot fails for VM
Summary: [ovirt-engine-backend] Livesnapshot fails for VM
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat Enterprise Virtualization Manager
Classification: Red Hat
Component: ovirt-engine
Version: unspecified
Hardware: x86_64
OS: Linux
urgent
urgent
Target Milestone: ---
: 3.1.0
Assignee: Allon Mureinik
QA Contact: Leonid Natapov
URL:
Whiteboard: storage
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2012-06-03 07:48 UTC by Kiril Nesenko
Modified: 2016-02-10 17:16 UTC (History)
11 users (show)

Fixed In Version: SI6
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2012-12-04 20:13:05 UTC
oVirt Team: Storage
Target Upstream Version:
Embargoed:


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

Description Kiril Nesenko 2012-06-03 07:48:28 UTC
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 06:26:00 UTC
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 08:13:42 UTC
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 08:50:22 UTC
(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 08:50:59 UTC
Created attachment 589778 [details]
engine.log_1

Comment 5 Kiril Nesenko 2012-06-11 11:49:58 UTC
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 11:50:53 UTC
Created attachment 590907 [details]
engine.log_2

Comment 7 Allon Mureinik 2012-06-11 16:38:19 UTC
Uploaded a patch that should have solved this:
http://gerrit.ovirt.org/#/c/5256/

Comment 8 Allon Mureinik 2012-06-12 07:11:53 UTC
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 15:48:05 UTC
patch was merged.

Comment 11 Leonid Natapov 2012-06-19 09:20:55 UTC
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.