Ramesh N has uploaded a new change for review.

Change subject: webadmin: change defaults in create brick popup
......................................................................

webadmin: change defaults in create brick popup

 Change the default RAID type and stripe size used in
Create Brick Pop Up. Also add a note saying RAID config should
match with the values which is used while creating the RAID volumes.

Bug-Url: https://bugzilla.redhat.com/1228499
Change-Id: Ife6e71a1ff79298bcd68f514263c2f394b3acf54
Signed-off-by: Ramesh Nachimuthu <rnach...@redhat.com>
---
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/gluster/CreateBrickModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/gluster/HostGlusterStorageDevicesListModel.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationMessages.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/popup/gluster/CreateBrickPopupPresenterWidget.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/gluster/CreateBrickPopupView.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/gluster/CreateBrickPopupView.ui.xml
7 files changed, 90 insertions(+), 26 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/94/42194/1

diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/gluster/CreateBrickModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/gluster/CreateBrickModel.java
index 5a67535..a19af3f 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/gluster/CreateBrickModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/gluster/CreateBrickModel.java
@@ -46,7 +46,6 @@
         setDefaultMountFolder(new EntityModel<String>());
         List<RaidType> list = Arrays.asList(RaidType.values());
         getRaidTypeList().setItems(list);
-        getRaidTypeList().setSelectedItem(RaidType.NONE);
         getNoOfPhysicalDisksInRaidVolume().setIsAvailable(false);
         getStripeSize().setIsAvailable(false);
         initSize();
@@ -71,10 +70,14 @@
         getRaidTypeList().getSelectedItemChangedEvent().addListener(new 
IEventListener<EventArgs>() {
             @Override
             public void eventRaised(Event<? extends EventArgs> ev, Object 
sender, EventArgs args) {
-                if (getRaidTypeList().getSelectedItem() != RaidType.NONE
-                        && getRaidTypeList().getSelectedItem() != 
RaidType.RAID0) {
+                if (getRaidTypeList().getSelectedItem() == RaidType.RAID6) {
                     getNoOfPhysicalDisksInRaidVolume().setIsAvailable(true);
                     getStripeSize().setIsAvailable(true);
+                    getStripeSize().setEntity(128);
+                } else if (getRaidTypeList().getSelectedItem() == 
RaidType.RAID10) {
+                    getNoOfPhysicalDisksInRaidVolume().setIsAvailable(true);
+                    getStripeSize().setIsAvailable(true);
+                    getStripeSize().setEntity(256);
                 } else {
                     getNoOfPhysicalDisksInRaidVolume().setIsAvailable(false);
                     getStripeSize().setIsAvailable(false);
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/gluster/HostGlusterStorageDevicesListModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/gluster/HostGlusterStorageDevicesListModel.java
index 0f001d8..d28553d 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/gluster/HostGlusterStorageDevicesListModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/gluster/HostGlusterStorageDevicesListModel.java
@@ -8,6 +8,7 @@
 import org.ovirt.engine.core.common.action.VdcReturnValueBase;
 import org.ovirt.engine.core.common.action.VdsActionParameters;
 import org.ovirt.engine.core.common.action.gluster.CreateBrickParameters;
+import org.ovirt.engine.core.common.businessentities.RaidType;
 import org.ovirt.engine.core.common.businessentities.VDS;
 import org.ovirt.engine.core.common.businessentities.VDSStatus;
 import org.ovirt.engine.core.common.businessentities.gluster.StorageDevice;
@@ -132,6 +133,7 @@
         lvModel.setHashName("create_brick"); //$NON-NLS-1$
         
lvModel.startProgress(ConstantsManager.getInstance().getConstants().fetchingDataMessage());
         setWindow(lvModel);
+        lvModel.getRaidTypeList().setSelectedItem(RaidType.RAID6);
         List<StorageDevice> selectedDevices = getSelectedItems();
         lvModel.getStorageDevices().setItems(selectedDevices);
         lvModel.setSelectedDevices(selectedDevices);
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java
index 39c72a1..bf6a6e0 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java
@@ -4270,6 +4270,9 @@
     @DefaultStringValue("Extend Brick")
     String extendBrick();
 
+    @DefaultStringValue("RAID Parameters")
+    String raidParameters();
+
     @DefaultStringValue("RAID Type")
     String raidType();
 
@@ -4279,8 +4282,8 @@
     @DefaultStringValue("Stripe Size (KB)")
     String stripeSize();
 
-    @DefaultStringValue("Choose storage devices of RAID type: ")
-    String getStorageDeviceSelectionInfo();
+    @DefaultStringValue("RAID parameters should match exactly with RAID 
Controller setup for RAID volumes")
+    String raidConfigurationWarning();
 
     @DefaultStringValue("Auto-start geo-replication session after creation")
     String geoRepSessionCreateAndStart();
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationMessages.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationMessages.java
index 73da26c..dccc3d3 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationMessages.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationMessages.java
@@ -115,4 +115,10 @@
 
     @DefaultMessage("{0}% ({1} GB)")
     String percentWithValueInGB(int percent, int value);
+
+    @DefaultMessage("Stripe Size {0} KB is recommended for {1} device")
+    String stripSizeInfoForGlusterBricks(int stripeSize, String raidType);
+
+    @DefaultMessage("(Choose storage devices of RAID type: {0})")
+    String getStorageDeviceSelectionInfo(String raidType);
 }
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/popup/gluster/CreateBrickPopupPresenterWidget.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/popup/gluster/CreateBrickPopupPresenterWidget.java
index 6985cc8..888c3aa 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/popup/gluster/CreateBrickPopupPresenterWidget.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/popup/gluster/CreateBrickPopupPresenterWidget.java
@@ -13,8 +13,8 @@
 public class CreateBrickPopupPresenterWidget extends 
AbstractModelBoundPopupPresenterWidget<CreateBrickModel, 
CreateBrickPopupPresenterWidget.ViewDef> {
 
     public interface ViewDef extends 
AbstractModelBoundPopupPresenterWidget.ViewDef<CreateBrickModel> {
-        void setDeviceInfoText(String raidType);
-        void setDeviceInfoVisibility(boolean isVisiable);
+        public void setRaidInfoMessages(String raidType, int stripeSize);
+        void setRaidParamsVisibility(boolean isVisiable);
     }
 
     @Inject
@@ -34,10 +34,11 @@
                 if ("raidTypeChanged".equals(propName)) { //$NON-NLS-1$
                     if (model.getRaidTypeList().getSelectedItem() != 
RaidType.NONE
                             && model.getRaidTypeList().getSelectedItem() != 
RaidType.RAID0) {
-                        
getView().setDeviceInfoText(model.getRaidTypeList().getSelectedItem().name());
-                        getView().setDeviceInfoVisibility(true);
+                        
getView().setRaidInfoMessages(model.getRaidTypeList().getSelectedItem().name(),
+                                model.getStripeSize().getEntity());
+                        getView().setRaidParamsVisibility(true);
                     } else {
-                        getView().setDeviceInfoVisibility(false);
+                        getView().setRaidParamsVisibility(false);
                     }
                 }
             }
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/gluster/CreateBrickPopupView.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/gluster/CreateBrickPopupView.java
index 219f535..0686129 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/gluster/CreateBrickPopupView.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/gluster/CreateBrickPopupView.java
@@ -8,10 +8,14 @@
 import org.ovirt.engine.ui.common.idhandler.ElementIdHandler;
 import org.ovirt.engine.ui.common.idhandler.WithElementId;
 import org.ovirt.engine.ui.common.view.popup.AbstractModelBoundPopupView;
+import org.ovirt.engine.ui.common.widget.EntityModelWidgetWithInfo;
+import org.ovirt.engine.ui.common.widget.dialog.InfoIcon;
 import org.ovirt.engine.ui.common.widget.dialog.SimpleDialogPanel;
 import org.ovirt.engine.ui.common.widget.editor.ListModelListBoxEditor;
 import org.ovirt.engine.ui.common.widget.editor.ListModelObjectCellTable;
 import 
org.ovirt.engine.ui.common.widget.editor.generic.IntegerEntityModelTextBoxEditor;
+import 
org.ovirt.engine.ui.common.widget.editor.generic.IntegerEntityModelTextBoxOnlyEditor;
+import org.ovirt.engine.ui.common.widget.editor.generic.StringEntityModelLabel;
 import 
org.ovirt.engine.ui.common.widget.editor.generic.StringEntityModelLabelEditor;
 import 
org.ovirt.engine.ui.common.widget.editor.generic.StringEntityModelTextBoxEditor;
 import org.ovirt.engine.ui.common.widget.renderer.EnumRenderer;
@@ -21,6 +25,8 @@
 import org.ovirt.engine.ui.uicompat.ConstantsManager;
 import org.ovirt.engine.ui.uicompat.UIMessages;
 import org.ovirt.engine.ui.webadmin.ApplicationConstants;
+import org.ovirt.engine.ui.webadmin.ApplicationMessages;
+import org.ovirt.engine.ui.webadmin.ApplicationTemplates;
 import org.ovirt.engine.ui.webadmin.gin.AssetProvider;
 import 
org.ovirt.engine.ui.webadmin.section.main.presenter.popup.gluster.CreateBrickPopupPresenterWidget;
 
@@ -78,6 +84,14 @@
     @WithElementId
     StringEntityModelLabelEditor sizeEditor;
 
+    @UiField
+    @Ignore
+    Label raidParamsLabel;
+
+    @UiField(provided = true)
+    @Ignore
+    InfoIcon raidParamsInfoIcon;
+
     @UiField(provided = true)
     @Path(value = "raidTypeList.selectedItem")
     @WithElementId
@@ -92,10 +106,17 @@
     @WithElementId
     IntegerEntityModelTextBoxEditor noOfPhysicalDisksEditor;
 
-    @UiField
+    @UiField(provided = true)
+    @WithElementId("stripeSize")
+    public EntityModelWidgetWithInfo<String> stripeSizeWithInfo;
+
+    @Ignore
+    @WithElementId("stripeSizeLabel")
+    public StringEntityModelLabel stripeSizeLabel;
+
     @Path(value = "stripeSize.entity")
-    @WithElementId
-    IntegerEntityModelTextBoxEditor stripeSizeEditor;
+    @WithElementId("stripeSizeEditor")
+    IntegerEntityModelTextBoxOnlyEditor stripeSizeEditor;
 
     @UiField
     @Ignore
@@ -103,6 +124,8 @@
 
     private final static ApplicationConstants constants = 
AssetProvider.getConstants();
     private final static UIMessages messages = 
ConstantsManager.getInstance().getMessages();
+    private final static ApplicationTemplates templates = 
AssetProvider.getTemplates();
+    private final static ApplicationMessages applicationMessages = 
AssetProvider.getMessages();
 
     private final Driver driver = GWT.create(Driver.class);
 
@@ -110,7 +133,11 @@
     public CreateBrickPopupView(EventBus eventBus) {
         super(eventBus);
         initListBoxEditors();
+        initInfoIcon();
         deviceTable = new ListModelObjectCellTable<StorageDevice, 
ListModel<StorageDevice>>(true, false);
+        stripeSizeLabel = new StringEntityModelLabel();
+        stripeSizeEditor = new IntegerEntityModelTextBoxOnlyEditor();
+        stripeSizeWithInfo = new 
EntityModelWidgetWithInfo<String>(stripeSizeLabel, stripeSizeEditor);
         initWidget(ViewUiBinder.uiBinder.createAndBindUi(this));
         ViewIdHandler.idHandler.generateAndSetIds(this);
         localize();
@@ -151,11 +178,15 @@
         lvNameEditor.setLabel(constants.logicalVolume());
         mountPointEditor.setLabel(constants.mountPoint());
         sizeEditor.setLabel(constants.lvSize());
+        raidParamsLabel.setText(constants.raidParameters());
         raidTypeEditor.setLabel(constants.raidType());
         
noOfPhysicalDisksEditor.setLabel(constants.noOfPhysicalDisksInRaidVolume());
-        stripeSizeEditor.setLabel(constants.stripeSize());
+        stripeSizeLabel.setText(constants.stripeSize());
         deviceHeader.setText(constants.storageDevices());
-        deviceSelectionInfo.setText(constants.getStorageDeviceSelectionInfo());
+    }
+
+    private void initInfoIcon() {
+        raidParamsInfoIcon = new 
InfoIcon(templates.italicText(constants.raidConfigurationWarning()));
     }
 
     @Override
@@ -163,7 +194,7 @@
         deviceTable.asEditor().edit(object.getStorageDevices());
         driver.edit(object);
         deviceSelectionInfo.setText(null);
-        setDeviceInfoVisibility(false);
+        setRaidParamsVisibility(false);
     }
 
     @Override
@@ -177,13 +208,17 @@
     }
 
     @Override
-    public void setDeviceInfoText(String raidType) {
-        deviceSelectionInfo.setText("(" + 
constants.getStorageDeviceSelectionInfo() + raidType + ")"); //$NON-NLS-1$ 
//$NON-NLS-2$
+    public void setRaidInfoMessages(String raidType, int stripeSize) {
+        
deviceSelectionInfo.setText(applicationMessages.getStorageDeviceSelectionInfo(raidType));
 //$NON-NLS-1$ //$NON-NLS-2$
+        
this.stripeSizeWithInfo.setExplanation(templates.italicText(applicationMessages.stripSizeInfoForGlusterBricks(stripeSize,
+                raidType)));
+
     }
 
     @Override
-    public void setDeviceInfoVisibility(boolean isVisiable) {
+    public void setRaidParamsVisibility(boolean isVisiable) {
         deviceSelectionInfo.setVisible(isVisiable);
+        stripeSizeWithInfo.setVisible(isVisiable);
     }
 
     @Override
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/gluster/CreateBrickPopupView.ui.xml
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/gluster/CreateBrickPopupView.ui.xml
index 2ab30f4..8032fe9 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/gluster/CreateBrickPopupView.ui.xml
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/gluster/CreateBrickPopupView.ui.xml
@@ -3,13 +3,10 @@
 <ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
        xmlns:g="urn:import:com.google.gwt.user.client.ui" 
xmlns:d="urn:import:org.ovirt.engine.ui.common.widget.dialog"
        xmlns:e="urn:import:org.ovirt.engine.ui.common.widget.editor"
-    xmlns:ge="urn:import:org.ovirt.engine.ui.common.widget.editor.generic">
+    xmlns:ge="urn:import:org.ovirt.engine.ui.common.widget.editor.generic"
+    xmlns:w="urn:import:org.ovirt.engine.ui.common.widget">
 
        <ui:style>
-               .headerLabel {
-                       font-weight: bold;
-                       padding: 5px;
-               }
                .messageLabel {
                        color: #FF0000;
                        left: 10px;
@@ -22,6 +19,21 @@
                        padding-bottom: 15px;
                        border: 1px solid #CED8DF;
                }
+               .headerDeviceLabel {
+            font-weight: bold;
+            margin-top: 10px;
+        }
+        .headerRaidParamsLabel {
+               font-weight: bold;
+            font-size: 14px;
+            padding-left: 3px;
+            padding-bottom: 10px;
+            display: inline-block;
+        }
+        .raidParamsWarning {
+            display: inline-block;
+            margin-left: 5px;
+        }
                .explanationLabel {
                        font-style: italic;
                        padding-bottom: 10px;
@@ -33,10 +45,12 @@
                        <g:FlowPanel>
                                <ge:StringEntityModelTextBoxEditor 
ui:field="lvNameEditor" />
                                <ge:StringEntityModelTextBoxEditor 
ui:field="mountPointEditor" />
+                               <g:Label ui:field="raidParamsLabel" 
addStyleNames="{style.headerRaidParamsLabel}"/>
+                               <d:InfoIcon ui:field="raidParamsInfoIcon" 
addStyleNames="{style.raidParamsWarning}"/>
                                <e:ListModelListBoxEditor  
ui:field="raidTypeEditor" />
                                <ge:IntegerEntityModelTextBoxEditor 
ui:field="noOfPhysicalDisksEditor" />
-                               <ge:IntegerEntityModelTextBoxEditor 
ui:field="stripeSizeEditor" />
-                               <g:Label ui:field="deviceHeader" 
addStyleNames="{style.headerLabel}"/>
+                               <w:EntityModelWidgetWithInfo 
ui:field="stripeSizeWithInfo"/>
+                               <g:Label ui:field="deviceHeader" 
addStyleNames="{style.headerDeviceLabel}"/>
                                <g:Label ui:field="deviceSelectionInfo" 
addStyleNames="{style.explanationLabel}"/>
                                <g:HorizontalPanel spacing="5" 
verticalAlignment="ALIGN_MIDDLE">
                                        <g:VerticalPanel>


-- 
To view, visit https://gerrit.ovirt.org/42194
To unsubscribe, visit https://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ife6e71a1ff79298bcd68f514263c2f394b3acf54
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Ramesh N <rnach...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to