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

Bug 1176854

Summary: [engine-backend] NullPointerException when executing AddDiskCommand on a newly created storage domain with N/A available space
Product: Red Hat Enterprise Virtualization Manager Reporter: Elad <ebenahar>
Component: ovirt-engineAssignee: Vered Volansky <vered>
Status: CLOSED CURRENTRELEASE QA Contact: Elad <ebenahar>
Severity: urgent Docs Contact:
Priority: unspecified    
Version: 3.5.0CC: acanan, amureini, ebenahar, gklein, lpeer, lsurette, rbalakri, Rhev-m-bugs, scohen, tnisan, vered, yeylon, ykaul
Target Milestone: ovirt-3.6.0-rcKeywords: ZStream
Target Release: 3.6.0   
Hardware: x86_64   
OS: Unspecified   
Whiteboard:
Fixed In Version: ovirt-engine-3.6.0_qa1 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 1183298 (view as bug list) Environment:
Last Closed: 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:
Bug Depends On:    
Bug Blocks: 1182012, 1183298    
Attachments:
Description Flags
logs from host and engine (DEBUG log level) none

Description Elad 2014-12-23 14:06:18 UTC
Created attachment 972395 [details]
logs from host and engine (DEBUG log level)

Description of problem:
Tried to create a disk right after the domain was activated, the operation failed with:


2014-12-23 15:49:57,544 ERROR [org.ovirt.engine.core.bll.AddDiskCommand] (ajp-/127.0.0.1:8702-1) [7d27c9c8] Error during CanDoActionFailure.: java.lang.NullPointerException
        at org.ovirt.engine.core.common.businessentities.StorageDomain.getAvailableDiskSizeInBytes(StorageDomain.java:137) [common.jar:]
        at org.ovirt.engine.core.bll.validator.StorageDomainValidator.hasSpaceForNewDisks(StorageDomainValidator.java:216) [bll.jar:]
        at org.ovirt.engine.core.bll.validator.StorageDomainValidator.hasSpaceForNewDisk(StorageDomainValidator.java:254) [bll.jar:]
        at org.ovirt.engine.core.bll.AddDiskCommand.checkIfImageDiskCanBeAdded(AddDiskCommand.java:186) [bll.jar:]
        at org.ovirt.engine.core.bll.AddDiskCommand.canDoAction(AddDiskCommand.java:121) [bll.jar:]
        at org.ovirt.engine.core.bll.CommandBase.internalCanDoAction(CommandBase.java:767) [bll.jar:]
        at org.ovirt.engine.core.bll.CommandBase.executeAction(CommandBase.java:346) [bll.jar:]
        at org.ovirt.engine.core.bll.Backend.runAction(Backend.java:430) [bll.jar:]
        at org.ovirt.engine.core.bll.Backend.runActionImpl(Backend.java:411) [bll.jar:]
        at org.ovirt.engine.core.bll.Backend.runAction(Backend.java:369) [bll.jar:]


Version-Release number of selected component (if applicable):
rhev 3.5 vt13.4

How reproducible:
Tried once

Steps to Reproduce:
1. Had 2 storage domains in the DC: 1 iscsi, was active (master) and 1 nfs, inactive because I blocked connection.
2. Resumed connectivity to the storage server where the master domain was, activated the domain
3. Tried to create disk on the domain

Actual results:
Add disk operation failed with the mentioned exception. Right after, the domain where I tried to create the disk became inactive:

 2014-12-23 15:50:26,470 ERROR [org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogDirector] (org.ovirt.thread.pool-7-thread-34) [e39c08a] Correlation ID: e39c08a, Job ID: fedc810a-25a3-45fd-8209-9b9dfddad
b0f, Call Stack: null, Custom Event ID: -1, Message: Failed to activate Storage Domain lion2 (Data Center dc2) by admin

Expected results:
Add disk operation should work

Additional info:
logs from host and engine (DEBUG log level)

Comment 1 Elad 2014-12-23 22:18:48 UTC
Correction:
In steps to reproduce:
2. Resumed connectivity to the storage server where the NON-MASTER domain was, activated the domain

Comment 2 Elad 2015-01-13 14:01:07 UTC
When the available disk size is N/A, disk creation is blocked on CanDoAction.
The CanDoAction message is a bit problematic and doesn't seem to be related:

2015-01-13 15:34:51,443 WARN  [org.ovirt.engine.core.bll.AddDiskCommand] (ajp-/127.0.0.1:8702-3) [14c3cbb4] CanDoAction of action AddDisk failed. Reasons:VAR__ACTION__ADD,VAR__TYPE__VM_DISK,ACTION_TYPE_FAILED_DISK
_SPACE_LOW_ON_STORAGE_DOMAIN,$storageName vnx-3


Vered, does engine suppose to block in this scenario? And if so, is it the desired failure message?

Comment 3 Vered Volansky 2015-01-14 07:31:31 UTC
No this is not. In this scenario we don't want to block from CDA.
What probably slipped in there is the threshold validation, which uses disk size 0 though it's null. Will post another fix.

Comment 4 Vered Volansky 2015-01-14 07:57:00 UTC
Elad, this should be a new bug, and please refer to comment 3 above in the new bz. Thanks.

Comment 5 Elad 2015-01-18 09:11:07 UTC
Moving to ASSIGNED as we're waiting for a fix in order to re-check and also to verify 1182012

Comment 6 Allon Mureinik 2015-01-18 10:53:34 UTC
(In reply to Elad from comment #5)
> Moving to ASSIGNED as we're waiting for a fix in order to re-check and also
> to verify 1182012
This bug hasn't failed qa because it was never qa-ed (as bug 1182012 blocks it, as you mentioned).
This they cannot be verified separately, I'm pushing this one out to 3.5.1.

Comment 8 Elad 2015-04-20 07:14:48 UTC
Disk creation, while the domain's available disk size is null, doesn't fail on engine. 
Tested using ovirt-engine-3.6.0-0.0.master.20150412172306.git55ba764.el6.noarch

Comment 9 Allon Mureinik 2016-03-10 10:47:28 UTC
RHEV 3.6.0 has been released, setting status to CLOSED CURRENTRELEASE

Comment 10 Allon Mureinik 2016-03-10 10:50:05 UTC
RHEV 3.6.0 has been released, setting status to CLOSED CURRENTRELEASE

Comment 11 Allon Mureinik 2016-03-10 12:06:34 UTC
RHEV 3.6.0 has been released, setting status to CLOSED CURRENTRELEASE