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