Bug 989199

Summary: glusterfs: setting new brick raised NPE
Product: Red Hat Enterprise Virtualization Manager Reporter: Yaniv Bronhaim <ybronhei>
Component: ovirt-engineAssignee: Kanagaraj <kmayilsa>
Status: CLOSED CURRENTRELEASE QA Contact: SATHEESARAN <sasundar>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 3.3.0CC: acathrow, cdhouch, grajaiya, iheim, kmayilsa, lpeer, Rhev-m-bugs, sabose, sankarshan, vbellur, yeylon
Target Milestone: ---   
Target Release: 3.3.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: gluster
Fixed In Version: is8 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-01-21 22:13:55 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: Gluster RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
engine's log none

Description Yaniv Bronhaim 2013-07-28 09:04:15 UTC
Created attachment 779292 [details]
engine's log

Description of problem:
Creating volume with 2 bricks, got "Error while executing action: General command validation failure." (hope it could be more informative).
After cancel, creating the volume again and when clicked OK nothing happened. In the log we see npe, that raises each click.

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


How reproducible:
100%

Steps to Reproduce:
1. Open create volume dialog
2. Setting /volume as local volume
3. Setting 2 bricks under it (/volume/1 and /volume/2)
4. Click OK

Actual results:
2013-07-24 14:42:15,890 INFO  [org.ovirt.engine.core.vdsbroker.gluster.GlusterVolumesListVDSCommand] (DefaultQuartzScheduler_Worker-79) FINISH, GlusterVolumesListVDSCommand, return: {}, log id: 4d32142e
2013-07-24 14:42:18,266 ERROR [org.ovirt.engine.core.bll.gluster.CreateGlusterVolumeCommand] (http--0.0.0.0-8080-4) Error during CanDoActionFailure.: java.lang.NullPointerException
        at org.ovirt.engine.core.bll.gluster.CreateGlusterVolumeCommand.getValidationGroups(CreateGlusterVolumeCommand.java:76) [bll.jar:]
        at org.ovirt.engine.core.bll.CommandBase.validateInputs(CommandBase.java:809) [bll.jar:]
        at org.ovirt.engine.core.bll.CommandBase.internalCanDoAction(CommandBase.java:742) [bll.jar:]
        at org.ovirt.engine.core.bll.CommandBase.executeAction(CommandBase.java:359) [bll.jar:]
        at org.ovirt.engine.core.bll.Backend.runAction(Backend.java:404) [bll.jar:]
        at org.ovirt.engine.core.bll.Backend.runActionImpl(Backend.java:387) [bll.jar:]
        at org.ovirt.engine.core.bll.Backend.RunAction(Backend.java:345) [bll.jar:]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_25]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_25]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_25]
        at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_25]
        at org.jboss.as.ee.component.ManagedReferenceMethodInterceptorFactory$ManagedReferenceMethodInterceptor.processInvocation(ManagedReferenceMethodInterceptorFactory.java:72) [jboss-as-ee-7.1.1.Final.jar:7.1.1.Final]
        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
        at org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:374) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
        at org.ovirt.engine.core.bll.interceptors.ThreadLocalSessionCleanerInterceptor.injectWebContextToThreadLocal(ThreadLocalSessionCleanerInterceptor.java:13) [bll.jar:]
        at sun.reflect.GeneratedMethodAccessor15.invoke(Unknown Source) [:1.7.0_25]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_25]
        at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_25]


Expected results:
The bricks should be set up

Additional info:

Comment 1 Kanagaraj 2013-07-28 11:09:30 UTC
This issue due to the parameters object received in the backend doesn't have the entity which was send from frontend. This happens when the parameters class doesn't have a no-arg constructor. 

GWT will add a class to serialization policy whitelist only if the class has a default or no-arg constructor.

Comment 2 Caerie Houchins 2013-08-01 18:41:35 UTC
Confirming that we too are seeing this outcome.  It is impossible to create a Volume from the GUI in the latest 3.3 Beta for us.

Comment 3 SATHEESARAN 2013-11-22 06:43:19 UTC
Tested with RHEVM 3.3.0-0.34.beta1.el6ev (IS 23.1) and glusterfs-3.4.0.44rhs-1

Test Steps for Verification
===========================
1. In a 3.2 compatible Datacenter, create a gluster-enabled gluster with compatibility 3.2
2. Using RHEVM UI, add 2 RHSS Nodes one by one to that cluster
3. Using RHEVM UI, create a volume

Verified the following,
1. Volume was created and able to start the volume
2. Checked the engine.log for creation of volume without any errors.

<snip_from_engine.log>
2013-11-22 01:31:51,144 INFO  [org.ovirt.engine.core.bll.gluster.CreateGlusterVolumeCommand] (ajp-/127.0.0.1:8702-3) [2468a447] Running command: CreateGlusterVolumeCommand internal: false. Entities affected :  ID: 50978383-d360-4738-9157-03d35fc82b85 Type: VdsGroups
2013-11-22 01:31:51,145 INFO  [org.ovirt.engine.core.vdsbroker.gluster.CreateGlusterVolumeVDSCommand] (ajp-/127.0.0.1:8702-3) [2468a447] START, CreateGlusterVolumeVDSCommand(HostName = rhs-node-1, HostId = 34493b5a-f126-4de9-a147-c5824eee3614), log id: 6affbc07
2013-11-22 01:31:51,513 INFO  [org.ovirt.engine.core.vdsbroker.gluster.CreateGlusterVolumeVDSCommand] (ajp-/127.0.0.1:8702-3) [2468a447] FINISH, CreateGlusterVolumeVDSCommand, return: org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeEntity@d1bb1272, log id: 6affbc07
2013-11-22 01:31:51,528 INFO  [org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogDirector] (ajp-/127.0.0.1:8702-3) [2468a447] Correlation ID: 2468a447, Job ID: 3edeef3e-305f-4827-94b7-331c30653bff, Call Stack: null, Custom Event ID: -1, Message: Gluster Volume distvol1 created.
</snip_from_engine.log>

Based on this marking this bug as VERIFIED

Comment 4 Itamar Heim 2014-01-21 22:13:55 UTC
Closing - RHEV 3.3 Released

Comment 5 Itamar Heim 2014-01-21 22:21:40 UTC
Closing - RHEV 3.3 Released