Bug 1270726

Summary: [Cinder] Stateless VM fails to start with NullPointerException, operation does not rollback
Product: [oVirt] ovirt-engine Reporter: Ori Gofen <ogofen>
Component: Backend.CoreAssignee: Maor <mlipchuk>
Status: CLOSED DUPLICATE QA Contact: Aharon Canan <acanan>
Severity: high Docs Contact:
Priority: unspecified    
Version: 3.6.0CC: acanan, amureini, bugs
Target Milestone: ovirt-3.6.1Flags: amureini: ovirt-3.6.z?
ogofen: planning_ack?
ogofen: devel_ack?
ogofen: testing_ack?
Target Release: 3.6.1   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: storage
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-10-12 10:32:30 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: Storage RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
log none

Description Ori Gofen 2015-10-12 09:22:46 UTC
Description of problem:
Cinder with ceph backend is not yet support a stateless VM functionality.
When attaching a cinder disk to a stateless VM and starting it, the operation fails with NullPointer:
"2015-10-12 11:56:07,020 INFO  [org.ovirt.engine.core.bll.CreateAllSnapshotsFromVmCommand] (DefaultQuartzScheduler_Worker-6) [] Lock freed to object 'EngineLock:{exclusiveLock
s='[a0dcfb3d-591e-47e1-8dba-c6353fbd9cd5=<VM, ACTION_TYPE_FAILED_SNAPSHOT_IS_BEING_TAKEN_FOR_VM$VmName n_vm>]', sharedLocks='null'}'
2015-10-12 11:56:07,150 ERROR [org.ovirt.engine.core.bll.tasks.CommandExecutor] (DefaultQuartzScheduler_Worker-6) [] Error invoking callback method 'onSucceeded' for 'SUCCEED
ED' command '1f191124-b705-45c3-843a-48991d879e5f'
2015-10-12 11:56:07,151 ERROR [org.ovirt.engine.core.bll.tasks.CommandExecutor] (DefaultQuartzScheduler_Worker-6) [] Exception: javax.ejb.EJBException: java.lang.NullPointerE
xception
        at org.jboss.as.ejb3.tx.CMTTxInterceptor.handleExceptionInNoTx(CMTTxInterceptor.java:216) [jboss-as-ejb3.jar:7.5.3.Final-redhat-2]
        at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInNoTx(CMTTxInterceptor.java:268) [jboss-as-ejb3.jar:7.5.3.Final-redhat-2]
        at org.jboss.as.ejb3.tx.CMTTxInterceptor.supports(CMTTxInterceptor.java:377) [jboss-as-ejb3.jar:7.5.3.Final-redhat-2]
        at org.jboss.as.ejb3.tx.CMTTxInterceptor.processInvocation(CMTTxInterceptor.java:246) [jboss-as-ejb3.jar:7.5.3.Final-redhat-2]
        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation.jar:1.1.2.Final-redhat-1]
        at org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41) [jboss-as-ejb3.jar:7.5.3.Final-redhat-2]
        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation.jar:1.1.2.Final-redhat-1]
        at org.jboss.as.ejb3.component.invocationmetrics.WaitTimeInterceptor.processInvocation(WaitTimeInterceptor.java:43) [jboss-as-ejb3.jar:7.5.3.Final-redhat-2]
        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation.jar:1.1.2.Final-redhat-1]
        at org.jboss.as.ejb3.component.interceptors.ShutDownInterceptorFactory$1.processInvocation(ShutDownInterceptorFactory.java:64) [jboss-as-ejb3.jar:7.5.3.Final-redhat-2]"

Webadmin's message is wrong:
"VM n_vm was run as stateless with one or more of disks that do not allow snapshots"

Cinder with ceph backend does support snapshots thus, this operation should be successful.
After the operation failed I have removed the VM, cinder reported on one redundant "leftover" snapshot.

[root@ogofen-cinder ~(keystone_admin)]# cinder snapshot-list
+--------------------------------------+--------------------------------------+-----------+--------------+------+
|                  ID                  |              Volume ID               |   Status  | Display Name | Size |
+--------------------------------------+--------------------------------------+-----------+--------------+------+
| b2a5029b-07b3-43b8-8072-bc0feee26085 | fe7b1961-a714-464a-9606-cbfa4bd785fd | available |     None     |  8   |
+--------------------------------------+--------------------------------------+-----------+--------------+------+

Version-Release number of selected component (if applicable):
rhevm-3.6-14

How reproducible:
100%

Steps to Reproduce:
1.have a powered off VM with one cinder disk
2.edit VM as stateless
3.attach 2 cinder disk to the VM and launch the VM
4.after failure attempt to remove the VM and it's disks

Actual results:
stateless VM is not supported, the operation described above ends with unused ceph volume

Expected results:
operation successful

Additional info:

Comment 1 Ori Gofen 2015-10-12 09:23:31 UTC
Created attachment 1081928 [details]
log

Comment 2 Allon Mureinik 2015-10-12 10:32:30 UTC

*** This bug has been marked as a duplicate of bug 1270725 ***