Bug 1359943 - Setting up storage domain from Data Center Guide Me causes UI exception
Summary: Setting up storage domain from Data Center Guide Me causes UI exception
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: ovirt-engine
Classification: oVirt
Component: Frontend.WebAdmin
Version: 3.6.7
Hardware: Unspecified
OS: Unspecified
medium
high
Target Milestone: ovirt-4.0.6
: 4.0.6
Assignee: Tal Nisan
QA Contact: Lilach Zitnitski
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-07-25 21:17 UTC by David
Modified: 2017-01-18 07:26 UTC (History)
8 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2017-01-18 07:26:52 UTC
oVirt Team: Storage
Embargoed:
amureini: ovirt-4.0.z?
rule-engine: planning_ack?
tnisan: devel_ack+
rule-engine: testing_ack+


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
oVirt gerrit 65902 0 master POST webadmin: Add POSIX domain creation to Data Center "Guide Me" 2016-10-31 13:28:22 UTC
oVirt gerrit 65905 0 ovirt-engine-4.0 POST webadmin: Add POSIX domain creation to Data Center "Guide Me" 2016-10-31 16:31:53 UTC

Description David 2016-07-25 21:17:45 UTC
From Data Center using Guide Me to create storage domain of type gluster received unhandled ui exception




oVirt 3.6.7 gluster 3.7.13


How reproducible: So far every time


Steps to Reproduce:
1. Create Data-center
2. use guide me
3. on attempt to finalize storage domain instead of setting up received UI exception

After Installing debug packages this was last error 

2016-07-25 13:46:54,701 ERROR [org.ovirt.engine.ui.frontend.server.gwt.OvirtRemoteLoggingService] (default task-33) [] Permutation name: 430985F23DFC1C8BE1C7FDD91EDAA785
2016-07-25 13:46:54,702 ERROR [org.ovirt.engine.ui.frontend.server.gwt.OvirtRemoteLoggingService] (default task-33) [] Uncaught exception: : java.lang.ClassCastException
        at java.lang.Throwable.fillInStackTrace(Throwable.java:114) [rt.jar:1.8.0_101]
        at java.lang.Exception.Exception(Exception.java:25) [rt.jar:1.8.0_101]
        at java.lang.RuntimeException.RuntimeException(RuntimeException.java:25) [rt.jar:1.8.0_101]
        at java.lang.ClassCastException.ClassCastException(ClassCastException.java:23) [rt.jar:1.8.0_101]
        at com.google.gwt.lang.Cast.dynamicCast(Cast.java:53)
        at org.ovirt.engine.ui.uicommonweb.models.datacenters.DataCenterGuideModel.run(DataCenterGuideModel.java:1679)
        at org.ovirt.engine.ui.uicompat.Task.$run(Task.java:19)
        at org.ovirt.engine.ui.uicommonweb.models.datacenters.DataCenterGuideModel.$saveSanStorage(DataCenterGuideModel.java:955)
        at org.ovirt.engine.ui.uicommonweb.models.datacenters.DataCenterGuideModel.$postOnAddStorage(DataCenterGuideModel.java:667)
        at org.ovirt.engine.ui.uicommonweb.models.datacenters.DataCenterGuideModel$9$1.onSuccess(DataCenterGuideModel.java:646)
        at org.ovirt.engine.ui.uicommonweb.dataprovider.AsyncDataProvider.$getConfigFromCache(AsyncDataProvider.java:2853)
        at org.ovirt.engine.ui.uicommonweb.dataprovider.AsyncDataProvider.$getStorageDomainMaxNameLength(AsyncDataProvider.java:2267)
        at org.ovirt.engine.ui.uicommonweb.models.datacenters.DataCenterGuideModel$9.onSuccess(DataCenterGuideModel.java:629)
        at org.ovirt.engine.ui.frontend.Frontend$2.$onSuccess(Frontend.java:244) [frontend.jar:]
        at org.ovirt.engine.ui.frontend.Frontend$2.onSuccess(Frontend.java:244) [frontend.jar:]
        at org.ovirt.engine.ui.frontend.communication.OperationProcessor$2.$onSuccess(OperationProcessor.java:141) [frontend.jar:]
        at org.ovirt.engine.ui.frontend.communication.OperationProcessor$2.onSuccess(OperationProcessor.java:141) [frontend.jar:]
        at org.ovirt.engine.ui.frontend.communication.GWTRPCCommunicationProvider$3$1.$onSuccess(GWTRPCCommunicationProvider.java:161) [frontend.jar:]
        at org.ovirt.engine.ui.frontend.communication.GWTRPCCommunicationProvider$3$1.onSuccess(GWTRPCCommunicationProvider.java:161) [frontend.jar:]
        at com.google.gwt.rpc.client.impl.RpcCallbackAdapter.onResponseReceived(RpcCallbackAdapter.java:72) [gwt-servlet.jar:]
        at org.ovirt.engine.ui.common.gin.BaseSystemModule$1$1.onResponseReceived(BaseSystemModule.java:140)
        at com.google.gwt.http.client.Request.$fireOnResponseReceived(Request.java:237) [gwt-servlet.jar:]
        at com.google.gwt.http.client.RequestBuilder$1.onReadyStateChange(RequestBuilder.java:409) [gwt-servlet.jar:]
        at Unknown.<anonymous>(https://ccengine2.carouselchecks.local/ovirt-engine/webadmin/430985F23DFC1C8BE1C7FDD91EDAA785.cache.html@65)     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.<anonymous>(https://ccengine2.carouselchecks.local/ovirt-engine/webadmin/430985F23DFC1C8BE1C7FDD91EDAA785.cache.html@54)

Comment 1 Red Hat Bugzilla Rules Engine 2016-07-27 13:19:24 UTC
Bug tickets must have version flags set prior to targeting them to a release. Please ask maintainer to set the correct version flags and only then set the target milestone.

Comment 2 Red Hat Bugzilla Rules Engine 2016-07-27 13:20:09 UTC
Bug tickets must have version flags set prior to targeting them to a release. Please ask maintainer to set the correct version flags and only then set the target milestone.

Comment 3 Allon Mureinik 2016-09-12 09:25:00 UTC
The issue comes from the postOnAddStorage method. Apparantly, it assumes that everything that isn't NFS or local storage is block storage (WAT?).

    public void postOnAddStorage() {
        StorageModel model = (StorageModel) getWindow();

        if (!model.validate()) {
            return;
        }

        // Save changes.
        if (model.getCurrentStorageItem() instanceof NfsStorageModel) {
            saveNfsStorage();
        }
        else if (model.getCurrentStorageItem() instanceof LocalStorageModel) {
            saveLocalStorage();
        }
        else { // ALLON: HERE!
            saveSanStorage();
        }
    }


I've also confirmed the creating a POSIX domain via the guide me screen fails in the same way.

We need to either add handling for these types, or just remove this from the guide me completely, as it's already on our radar.

Regardless, a workaround can be creating a new domain from the storage main tab.

Comment 4 Lilach Zitnitski 2016-11-22 11:58:40 UTC
--------------------------------------
Tested with the following code:
----------------------------------------
ovirt- 4.0.6
gluster- 3.7.5

Tested with the following scenario:

Steps to Reproduce:
1. Create Data-center
2. use guide me
3. on attempt to finalize storage domain instead of setting up received UI exception



Actual results:
Gluster storage domain is created successfully without any ui exception 


Moving to VERIFIED!


Note You need to log in before you can comment on or make changes to this bug.