Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 876109

Summary: Ovirt-engine-backend: AuditLog throws exception when attempting to Add Direct-Lun to VM.
Product: Red Hat Enterprise Virtualization Manager Reporter: Omri Hochman <ohochman>
Component: ovirt-engineAssignee: Liron Aravot <laravot>
Status: CLOSED ERRATA QA Contact: Leonid Natapov <lnatapov>
Severity: medium Docs Contact:
Priority: medium    
Version: 3.1.0CC: abaron, hateya, iheim, sgrinber, thildred, yeylon, ykaul
Target Milestone: ---   
Target Release: 3.2.0   
Hardware: x86_64   
OS: Linux   
Whiteboard: storage
Fixed In Version: SF6 Doc Type: Bug Fix
Doc Text:
When adding disks to a virtual machine without specifying the storage domain, the engine attempted to get the storage domain ID from the first disk. If the first disk is a LUN disk, it does not have a storage domain ID and could not be added to the virtual machine. The engine now recognizes LUN disks and can add them to virtual machines.
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-06-10 21:20:01 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:

Description Omri Hochman 2012-11-13 10:36:52 UTC
Ovirt-engine-backend: AuditLog throws exception when attempting to Add Direct-Lun to VM.

Scenario:
**********
1) VM tab and select VM --> sub tab Disks -> 'Add' External (Direct Lun)->Ok
2) Repeat the action for the second time. (Add another Direct Lun to VM)

Results : 
*********
From the second added direct-lun,  AuditLog will throws exception in engine.log when attempt to produce the following event : "The Disk 'X' was successfully added to VM 'Y.  The Event will be missing from 'Event Tab'.  

Engine.log:
************
2012-11-13 10:03:50,448 INFO  [org.ovirt.engine.core.bll.AddDiskCommand] (pool-4-thread-41) [1da9fc54] Running command: AddDiskCommand internal: false. Entities affected 
:  ID: e300a271-1320-4284-8895-7de72d190efd Type: VM,  ID: aaa00000-0000-0000-0000-123456789aaa Type: System
2012-11-13 10:03:50,499 INFO  [org.ovirt.engine.core.bll.AddDiskCommand] (pool-4-thread-41) [1da9fc54] Lock freed to object EngineLock [exclusiveLocks= , sharedLocks= key
: e300a271-1320-4284-8895-7de72d190efd value: VM
]
2012-11-13 10:03:53,259 ERROR [org.ovirt.engine.core.engineencryptutils.EncryptionUtils] (QuartzScheduler_Worker-96) Failed to decrypt Data must not be longer than 256 by
tes
2012-11-13 10:03:53,259 ERROR [org.ovirt.engine.core.engineencryptutils.EncryptionUtils] (QuartzScheduler_Worker-74) Failed to decrypt Data must not be longer than 256 by
tes
2012-11-13 10:05:00,001 INFO  [org.ovirt.engine.core.bll.AutoRecoveryManager] (QuartzScheduler_Worker-62) Checking autorecoverable hosts
2012-11-13 10:05:00,013 INFO  [org.ovirt.engine.core.bll.AutoRecoveryManager] (QuartzScheduler_Worker-62) Autorecovering 0 hosts
2012-11-13 10:05:00,013 INFO  [org.ovirt.engine.core.bll.AutoRecoveryManager] (QuartzScheduler_Worker-62) Checking autorecoverable hosts done
2012-11-13 10:05:00,013 INFO  [org.ovirt.engine.core.bll.AutoRecoveryManager] (QuartzScheduler_Worker-62) Autorecovering storage domains is disabled, skipping
2012-11-13 10:05:41,631 ERROR [org.ovirt.engine.core.engineencryptutils.EncryptionUtils] (QuartzScheduler_Worker-22) Failed to decrypt Data must not be longer than 256 by
tes
2012-11-13 10:05:41,631 ERROR [org.ovirt.engine.core.engineencryptutils.EncryptionUtils] (QuartzScheduler_Worker-4) Failed to decrypt Data must not be longer than 256 byt
es
2012-11-13 10:06:53,549 ERROR [org.ovirt.engine.core.engineencryptutils.EncryptionUtils] (QuartzScheduler_Worker-25) Failed to decrypt Data must not be longer than 256 by2012-11-13 10:06:53,549 ERROR [org.ovirt.engine.core.engineencryptutils.EncryptionUtils] (QuartzScheduler_Worker-25) Failed to decrypt Data must not be longer than 256 by
tes
2012-11-13 10:06:53,549 ERROR [org.ovirt.engine.core.engineencryptutils.EncryptionUtils] (QuartzScheduler_Worker-33) Failed to decrypt Data must not be longer than 256 bytes
2012-11-13 10:07:36,830 ERROR [org.ovirt.engine.core.engineencryptutils.EncryptionUtils] (QuartzScheduler_Worker-21) Failed to decrypt Data must not be longer than 256 bytes
2012-11-13 10:07:36,830 ERROR [org.ovirt.engine.core.engineencryptutils.EncryptionUtils] (QuartzScheduler_Worker-8) Failed to decrypt Data must not be longer than 256 bytes
2012-11-13 10:09:50,156 ERROR [org.ovirt.engine.core.engineencryptutils.EncryptionUtils] (QuartzScheduler_Worker-35) Failed to decrypt Data must not be longer than 256 bytes
2012-11-13 10:09:50,156 ERROR [org.ovirt.engine.core.engineencryptutils.EncryptionUtils] (QuartzScheduler_Worker-40) Failed to decrypt Data must not be longer than 256 bytes
2012-11-13 10:10:00,001 INFO  [org.ovirt.engine.core.bll.AutoRecoveryManager] (QuartzScheduler_Worker-27) [3140be45] Checking autorecoverable hosts
2012-11-13 10:10:00,002 INFO  [org.ovirt.engine.core.bll.AutoRecoveryManager] (QuartzScheduler_Worker-27) [3140be45] Autorecovering 0 hosts
2012-11-13 10:10:00,002 INFO  [org.ovirt.engine.core.bll.AutoRecoveryManager] (QuartzScheduler_Worker-27) [3140be45] Checking autorecoverable hosts done
2012-11-13 10:10:00,002 INFO  [org.ovirt.engine.core.bll.AutoRecoveryManager] (QuartzScheduler_Worker-27) [3140be45] Autorecovering storage domains is disabled, skipping
2012-11-13 10:10:30,100 WARN  [org.ovirt.engine.core.compat.backendcompat.PropertyInfo] (pool-4-thread-41) Unable to get value of property: storageDomain for class org.ovirt.engine.core.bll.AddDiskCommand
2012-11-13 10:10:31,187 WARN  [org.ovirt.engine.core.compat.backendcompat.PropertyInfo] (pool-4-thread-41) Unable to get value of property: storageDomainId for class org.ovirt.engine.core.bll.AddDiskCommand
2012-11-13 10:10:31,539 WARN  [org.ovirt.engine.core.compat.backendcompat.PropertyInfo] (pool-4-thread-41) Unable to get value of property: storageDomainName for class org.ovirt.engine.core.bll.AddDiskCommand
2012-11-13 10:10:31,859 WARN  [org.ovirt.engine.core.compat.backendcompat.PropertyInfo] (pool-4-thread-41) Unable to get value of property: storagePool for class org.ovirt.engine.core.bll.AddDiskCommand
2012-11-13 10:10:32,163 WARN  [org.ovirt.engine.core.compat.backendcompat.PropertyInfo] (pool-4-thread-41) Unable to get value of property: storagePoolId for class org.ovirt.engine.core.bll.AddDiskCommand
2012-11-13 10:10:32,824 WARN  [org.ovirt.engine.core.compat.backendcompat.PropertyInfo] (pool-4-thread-41) Unable to get value of property: storagePoolName for class org.ovirt.engine.core.bll.AddDiskCommand
2012-11-13 10:10:32,955 ERROR [org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogableBase] (pool-4-thread-41) [1da9fc54] Error during log command: org.ovirt.engine.core.bll.AddDiskCommand. Exception java.lang.ClassCastException: org.ovirt.engine.core.common.businessentities.LunDisk cannot be cast to org.ovirt.engine.core.common.businessentities.DiskImage: java.lang.ClassCastException: org.ovirt.engine.core.common.businessentities.LunDisk cannot be cast to org.ovirt.engine.core.common.businessentities.DiskImage
  at org.ovirt.engine.core.bll.AddDiskCommand.getDisksStorageDomainId(AddDiskCommand.java:254) [engine-bll.jar:]
        at org.ovirt.engine.core.bll.AddDiskCommand.getStorageDomainId(AddDiskCommand.java:264) [engine-bll.jar:]
        at org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogDirector.log(AuditLogDirector.java:762) [engine-dal.jar:]
        at org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogDirector.log(AuditLogDirector.java:741) [engine-dal.jar:]
        at org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogDirector.log(AuditLogDirector.java:737) [engine-dal.jar:]
        at org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogableBase.log(AuditLogableBase.java:393) [engine-dal.jar:]
        at org.ovirt.engine.core.bll.CommandBase.logCommand(CommandBase.java:1035) [engine-bll.jar:]
        at org.ovirt.engine.core.bll.CommandBase.execute(CommandBase.java:1000) [engine-bll.jar:]
        at org.ovirt.engine.core.bll.CommandBase.executeAction(CommandBase.java:291) [engine-bll.jar:]
        at org.ovirt.engine.core.bll.MultipleActionsRunner.executeValidatedCommands(MultipleActionsRunner.java:182) [engine-bll.jar:]
        at org.ovirt.engine.core.bll.MultipleActionsRunner.RunCommands(MultipleActionsRunner.java:162) [engine-bll.jar:]
        at org.ovirt.engine.core.bll.MultipleActionsRunner$1.run(MultipleActionsRunner.java:84) [engine-bll.jar:]
        at org.ovirt.engine.core.utils.threadpool.ThreadPoolUtil$InternalWrapperRunnable.run(ThreadPoolUtil.java:64) [engine-utils.jar:]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) [rt.jar:1.7.0_09-icedtea]
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) [rt.jar:1.7.0_09-icedtea]
        at java.util.concurrent.FutureTask.run(FutureTask.java:166) [rt.jar:1.7.0_09-icedtea]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) [rt.jar:1.7.0_09-icedtea]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [rt.jar:1.7.0_09-icedtea]
        at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_09-icedtea]

Comment 1 Ayal Baron 2012-11-14 10:15:34 UTC
Omri, just to be clear, is this a log issue? or do you fail in attaching the second direct LUN?

Comment 2 Omri Hochman 2012-11-14 12:01:55 UTC
(In reply to comment #1)
> Omri, just to be clear, is this a log issue? or do you fail in attaching the
> second direct LUN?


It's an Audit Log issue,(The second direct lun attached successfully), the bug is about rhevm engine that fail to produce the 'Event' - <The Disk 'X' was successfully added to VM 'Y'>  and throws ugly exception in engine.log.

Comment 3 Ayal Baron 2012-12-19 21:24:20 UTC
Liron, does this still happen?

Comment 4 Liron Aravot 2012-12-24 12:41:15 UTC
Ayal, indeed..the problem was more than just a log, but a general problem when adding disk without specifing storage domain when the first added disk to the vm was LUN disk.

merged patch upstream to solve the issue
http://gerrit.ovirt.org/#/c/10289/

Comment 5 Leonid Natapov 2013-02-13 09:45:03 UTC
sf6. fixed.

Comment 7 errata-xmlrpc 2013-06-10 21:20:01 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHSA-2013-0888.html