Bug 1430754

Summary: Exception selecting Direct LUN radio button on new VM
Product: [oVirt] ovirt-engine Reporter: Sandro Bonazzola <sbonazzo>
Component: Frontend.WebAdminAssignee: Idan Shaby <ishaby>
Status: CLOSED CURRENTRELEASE QA Contact: Raz Tamir <ratamir>
Severity: high Docs Contact:
Priority: unspecified    
Version: 4.1.1.4CC: amureini, bugs, eedri, rhv-bugzilla-bot, sbendavi, tnisan
Target Milestone: ovirt-4.1.1Flags: rule-engine: ovirt-4.1+
rule-engine: exception+
Target Release: 4.1.1.5   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-04-21 09:52:48 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 collector report none

Description Sandro Bonazzola 2017-03-09 13:56:50 UTC
Created attachment 1261578 [details]
log collector report

Description of problem:


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


How reproducible:


Steps to Reproduce:
1. installed 4.1.1 RC2 on a clean system
2. imported CirrOS disk
3. trying to create a new VM, hit attach disk
4. instead of just selecting the imported disk I selected Direct LUN radio button

Actual results:
ui.log:
2017-03-09 08:43:38,087-05 ERROR [org.ovirt.engine.ui.frontend.server.gwt.OvirtRemoteLoggingService] (default task-22) [] Permutation name: 000078C61C363369650D25F6D15E4351
2017-03-09 08:43:38,087-05 ERROR [org.ovirt.engine.ui.frontend.server.gwt.OvirtRemoteLoggingService] (default task-22) [] Uncaught exception: com.google.gwt.event.shared.UmbrellaException: Exception caught: (Typ
eError) 
 __gwt$exception: <skipped>: Cannot read property 'd' of undefined
        at java.lang.Throwable.fillInStackTrace(Throwable.java:114) [rt.jar:1.8.0_121]
        at java.lang.RuntimeException.RuntimeException(RuntimeException.java:32) [rt.jar:1.8.0_121]
        at com.google.web.bindery.event.shared.UmbrellaException.UmbrellaException(UmbrellaException.java:70) [gwt-servlet.jar:]
        at com.google.gwt.event.shared.UmbrellaException.UmbrellaException(UmbrellaException.java:25) [gwt-servlet.jar:]
        at com.google.gwt.event.shared.HandlerManager.$fireEvent(HandlerManager.java:117) [gwt-servlet.jar:]
        at com.google.gwt.user.client.ui.Widget.$fireEvent(Widget.java:127) [gwt-servlet.jar:]
        at com.google.gwt.user.client.ui.Widget.fireEvent(Widget.java:127) [gwt-servlet.jar:]
        at com.google.gwt.event.dom.client.DomEvent.fireNativeEvent(DomEvent.java:110) [gwt-servlet.jar:]
        at com.google.gwt.user.client.ui.Widget.$onBrowserEvent(Widget.java:163) [gwt-servlet.jar:]
        at com.google.gwt.user.client.ui.RadioButton.$onBrowserEvent(RadioButton.java:202) [gwt-servlet.jar:]
        at com.google.gwt.user.client.ui.RadioButton.onBrowserEvent(RadioButton.java:202) [gwt-servlet.jar:]
        at com.google.gwt.user.client.DOM.dispatchEvent(DOM.java:1648) [gwt-servlet.jar:]
        at com.google.gwt.user.client.impl.DOMImplStandard.dispatchEvent(DOMImplStandard.java:320) [gwt-servlet.jar:]
        at com.google.gwt.core.client.impl.Impl.apply(Impl.java:296) [gwt-servlet.jar:]
        at com.google.gwt.core.client.impl.Impl.entry0(Impl.java:335) [gwt-servlet.jar:]
        at Unknown.eval(webadmin-0.js@54)
Caused by: com.google.gwt.core.client.JavaScriptException: (TypeError) 
 __gwt$exception: <skipped>: Cannot read property 'd' of undefined
        at org.ovirt.engine.ui.uicommonweb.models.vms.AbstractDiskModel.$isLunSupportDiscard(AbstractDiskModel.java:814)
        at org.ovirt.engine.ui.uicommonweb.models.vms.AbstractDiskModel.$updatePassDiscardChangeabilityForDirectLun(AbstractDiskModel.java:794)
        at org.ovirt.engine.ui.uicommonweb.models.vms.AbstractDiskModel.$diskStorageType_EntityChanged(AbstractDiskModel.java:694)
        at org.ovirt.engine.ui.uicommonweb.models.vms.NewDiskModel.diskStorageType_EntityChanged(NewDiskModel.java:267)
        at org.ovirt.engine.ui.uicommonweb.models.vms.AbstractDiskModel.eventRaised(AbstractDiskModel.java:1163)
        at org.ovirt.engine.ui.uicompat.Event.$raise(Event.java:99)
        at org.ovirt.engine.ui.uicommonweb.models.EntityModel.$setEntity(EntityModel.java:35)
        at org.ovirt.engine.ui.uicommonweb.models.EntityModel.setEntity(EntityModel.java:35)
        at org.ovirt.engine.ui.common.widget.uicommon.popup.vm.VmDiskAttachPopupWidget$24.onClick(VmDiskAttachPopupWidget.java:448)
        at com.google.gwt.event.dom.client.ClickEvent.dispatch(ClickEvent.java:55) [gwt-servlet.jar:]
        at com.google.gwt.event.shared.GwtEvent.dispatch(GwtEvent.java:76) [gwt-servlet.jar:]
        at com.google.web.bindery.event.shared.SimpleEventBus.$doFire(SimpleEventBus.java:173) [gwt-servlet.jar:]
        ... 12 more


Expected results:
No exception

Additional info:
ovirt-engine-4.1.1.4-1.el7.centos.noarch

Comment 1 Greg Sheremeta 2017-03-09 20:16:38 UTC
in AbstractDiskModel:

 // Edit an existing direct lun.
 getPassDiscard().setIsChangeable(isLunSupportDiscard(getLunDisk().getLun()),
                    constants.discardIsNotSupportedByUnderlyingStorage());

Looks like that getLun() returns null, causing this NPE. Moving to Storage. Let us know if you need UX team help.

Comment 2 Eyal Edri 2017-03-19 07:54:18 UTC
This bug should have moved to ON_QA, we are investigating why the bot didn't move it.

Shlomi, can you please update once we know the cause?

Comment 3 Raz Tamir 2017-03-28 14:47:41 UTC
Verified on rhevm-4.1.1.6-0.1.el7
Attaching a direct lun to a new VM works fine