Muli Salem has uploaded a new change for review. Change subject: webadmin: Alternative Installation Address (2) ......................................................................
webadmin: Alternative Installation Address (2) This patch adds support for the above feature when adding a new host. The text box of alternative installation address is grayed out unless the relevant check box is ticked. Change-Id: I9ef6559caf9aff3b5b768be27e501a0e7fe698ea Signed-off-by: Muli Salem <msa...@redhat.com> --- M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/DataCenterGuideModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostListModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostModel.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/section/main/presenter/popup/host/HostPopupPresenterWidget.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostPopupView.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostPopupView.ui.xml 7 files changed, 121 insertions(+), 1 deletion(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/68/13168/1 diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/DataCenterGuideModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/DataCenterGuideModel.java index 6974af5..b003680 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/DataCenterGuideModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/DataCenterGuideModel.java @@ -16,6 +16,7 @@ import org.ovirt.engine.core.common.action.VdcReturnValueBase; import org.ovirt.engine.core.common.action.VdsGroupOperationParameters; import org.ovirt.engine.core.common.businessentities.ServerCpu; +import org.ovirt.engine.core.common.businessentities.StorageDomain; import org.ovirt.engine.core.common.businessentities.StorageDomainSharedStatus; import org.ovirt.engine.core.common.businessentities.StorageDomainStatic; import org.ovirt.engine.core.common.businessentities.StorageDomainType; @@ -26,7 +27,6 @@ import org.ovirt.engine.core.common.businessentities.VDS; import org.ovirt.engine.core.common.businessentities.VDSGroup; import org.ovirt.engine.core.common.businessentities.VDSStatus; -import org.ovirt.engine.core.common.businessentities.StorageDomain; import org.ovirt.engine.core.common.businessentities.storage_pool; import org.ovirt.engine.core.common.interfaces.SearchType; import org.ovirt.engine.core.common.queries.SearchParameters; @@ -1629,6 +1629,7 @@ addVdsParams.setVdsId(host.getId()); addVdsParams.setvds(host); addVdsParams.setRootPassword((String) model.getRootPassword().getEntity()); + addVdsParams.setInstallationAddress((String) model.getAlternativeInstallationAddress().getEntity()); model.StartProgress(null); diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostListModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostListModel.java index 3b8157a..85569f5 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostListModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostListModel.java @@ -834,6 +834,12 @@ parameters.setVdsId(host.getId()); parameters.setvds(host); parameters.setRootPassword((String) model.getRootPassword().getEntity()); + + if ((Boolean) model.getHasAlternativeInstallationAddress().getEntity()) + { + parameters.setInstallationAddress((String) model.getAlternativeInstallationAddress().getEntity()); + } + parameters.setOverrideFirewall((Boolean) model.getOverrideIpTables().getEntity()); Frontend.RunAction(VdcActionType.AddVds, parameters, @@ -855,6 +861,7 @@ parameters.setvds(host); parameters.setVdsId(host.getId()); parameters.setRootPassword(""); //$NON-NLS-1$ + parameters.setInstallationAddress(null); parameters.setInstallVds(false); if (!oldClusterId.equals(newClusterId)) @@ -1141,6 +1148,8 @@ boolean isEditWithPMemphasis) { model.setHostId(vds.getId()); + model.getHasAlternativeInstallationAddress().setIsAvailable(false); + model.getAlternativeInstallationAddress().setIsAvailable(false); model.getRootPassword().setIsAvailable(false); model.getOverrideIpTables().setIsAvailable(false); model.setSpmPriorityValue(vds.getVdsSpmPriority()); diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostModel.java index b50af8f..0bd72f7 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostModel.java @@ -165,6 +165,30 @@ privatePort = value; } + private EntityModel privateHasAlternativeInstallationAddress; + + public EntityModel getHasAlternativeInstallationAddress() + { + return privateHasAlternativeInstallationAddress; + } + + private void setHasAlternativeInstallationAddress(EntityModel value) + { + privateHasAlternativeInstallationAddress = value; + } + + private EntityModel privateAlternativeInstallationAddress; + + public EntityModel getAlternativeInstallationAddress() + { + return privateAlternativeInstallationAddress; + } + + private void setAlternativeInstallationAddress(EntityModel value) + { + privateAlternativeInstallationAddress = value; + } + private EntityModel privateRootPassword; public EntityModel getRootPassword() @@ -622,6 +646,10 @@ getCluster().getSelectedItemChangedEvent().addListener(this); setPort(new EntityModel()); setRootPassword(new EntityModel()); + setAlternativeInstallationAddress(new EntityModel()); + EntityModel hasAlternativeInstallationAddress = new EntityModel(); + hasAlternativeInstallationAddress.setEntity(false); + setHasAlternativeInstallationAddress(hasAlternativeInstallationAddress); setOverrideIpTables(new EntityModel()); getOverrideIpTables().setEntity(false); 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 c3eb792..d7adcaf 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 @@ -388,6 +388,9 @@ @DefaultStringValue("Root Password") String hostPopupRootPasswordLabel(); + @DefaultStringValue("Alternative Installation Address") + String hostPopupAlternativeInstallationAddressLabel(); + @DefaultStringValue("Automatically configure host firewall") String hostPopupOverrideIpTablesLabel(); @@ -2578,4 +2581,7 @@ @DefaultStringValue("Cluster Node Type") String clusterType(); + + @DefaultStringValue("Use if management address is not yet accessible, e.g. if it is over a VLAN") + String alternativeInstallationAddressHelpMessage(); } diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/popup/host/HostPopupPresenterWidget.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/popup/host/HostPopupPresenterWidget.java index 30ab218..514a861 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/popup/host/HostPopupPresenterWidget.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/popup/host/HostPopupPresenterWidget.java @@ -2,6 +2,7 @@ import org.ovirt.engine.ui.common.presenter.AbstractModelBoundPopupPresenterWidget; import org.ovirt.engine.ui.common.widget.HasUiCommandClickHandlers; +import org.ovirt.engine.ui.uicommonweb.models.EntityModel; import org.ovirt.engine.ui.uicommonweb.models.hosts.HostModel; import org.ovirt.engine.ui.uicompat.Event; import org.ovirt.engine.ui.uicompat.EventArgs; @@ -24,6 +25,8 @@ */ void showPowerManagement(); + void setAlternativeInstallationAddressEnabled(Boolean isEnabled); + } @Inject @@ -37,7 +40,23 @@ addTestButtonListener(); addPowerManagementListener(model); + addAlternativeInstallationAddressListener(model); + } + private void addAlternativeInstallationAddressListener(HostModel model) { + Boolean hasAlternativeInstallationAddressValue = + (Boolean) model.getHasAlternativeInstallationAddress().getEntity(); + getView().setAlternativeInstallationAddressEnabled(hasAlternativeInstallationAddressValue); + + model.getHasAlternativeInstallationAddress().getEntityChangedEvent().addListener(new IEventListener() { + @Override + public void eventRaised(Event ev, Object sender, EventArgs args) { + EntityModel hasAlternativeInstallationAddressEntity = (EntityModel) sender; + Boolean hasAlternativeInstallationAddressValue = + (Boolean) hasAlternativeInstallationAddressEntity.getEntity(); + getView().setAlternativeInstallationAddressEnabled(hasAlternativeInstallationAddressValue); + } + }); } private void addPowerManagementListener(final HostModel model) { diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostPopupView.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostPopupView.java index 0daac11..f145fb7 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostPopupView.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostPopupView.java @@ -19,6 +19,7 @@ import org.ovirt.engine.ui.common.widget.editor.EntityModelCheckBoxEditor; import org.ovirt.engine.ui.common.widget.editor.EntityModelPasswordBoxEditor; import org.ovirt.engine.ui.common.widget.editor.EntityModelTextBoxEditor; +import org.ovirt.engine.ui.common.widget.editor.EntityModelTextBoxOnlyEditor; import org.ovirt.engine.ui.common.widget.editor.ListModelListBoxEditor; import org.ovirt.engine.ui.common.widget.editor.ListModelListBoxOnlyEditor; import org.ovirt.engine.ui.common.widget.renderer.NullSafeRenderer; @@ -47,6 +48,7 @@ import com.google.gwt.uibinder.client.UiBinder; import com.google.gwt.uibinder.client.UiField; import com.google.gwt.user.client.ui.FlowPanel; +import com.google.gwt.user.client.ui.HorizontalPanel; import com.google.gwt.user.client.ui.Label; import com.google.gwt.user.client.ui.ListBox; import com.google.gwt.user.client.ui.RadioButton; @@ -103,6 +105,18 @@ @Path(value = "host.entity") @WithElementId("host") EntityModelTextBoxEditor hostAddressEditor; + + @UiField(provided = true) + @Path(value = "hasAlternativeInstallationAddress.entity") + public EntityModelCheckBoxEditor hasAlternativeInstallationAddressEditor; + + @UiField(provided = true) + @Ignore + public InfoIcon alternativeInstallationAddressInfoIcon; + + @UiField + @Path(value = "alternativeInstallationAddress.entity") + public EntityModelTextBoxOnlyEditor alternativeInstallationAddressEditor; @UiField @Path(value = "rootPassword.entity") @@ -272,6 +286,9 @@ @Path(value = "consoleAddressEnabled.entity") EntityModelCheckBoxEditor consoleAddressEnabled; + @UiField + protected HorizontalPanel alternativeInstallationAddressPanel; + private final CommonApplicationTemplates applicationTemplates; private final ApplicationResources resources; @@ -295,10 +312,15 @@ private void initInfoIcon(ApplicationConstants constants) { consoleAddressInfoIcon = new InfoIcon(applicationTemplates.italicText(constants.enableConsoleAddressOverrideHelpMessage()), resources); //$NON-NLS-1$ + alternativeInstallationAddressInfoIcon = + new InfoIcon(applicationTemplates.italicText(constants.alternativeInstallationAddressHelpMessage()), + resources); } private void addStyles() { overrideIpTablesEditor.addContentWidgetStyleName(style.overrideIpStyle()); + hasAlternativeInstallationAddressEditor.addContentWidgetStyleName(style.hasAlternativeInstallationAddressEditorContent()); + alternativeInstallationAddressEditor.addContentWidgetStyleName(style.alternativeInstallationAddressEditorContent()); } private void initEditors() { @@ -340,6 +362,7 @@ // Check boxes pmEnabledEditor = new EntityModelCheckBoxEditor(Align.RIGHT); + hasAlternativeInstallationAddressEditor = new EntityModelCheckBoxEditor(Align.RIGHT); } void localize(ApplicationConstants constants) { @@ -350,6 +373,7 @@ nameEditor.setLabel(constants.hostPopupNameLabel()); hostAddressEditor.setLabel(constants.hostPopupHostAddressLabel()); rootPasswordEditor.setLabel(constants.hostPopupRootPasswordLabel()); + hasAlternativeInstallationAddressEditor.setLabel(constants.hostPopupAlternativeInstallationAddressLabel()); overrideIpTablesEditor.setLabel(constants.hostPopupOverrideIpTablesLabel()); // Power Management tab @@ -586,7 +610,16 @@ String radioButton(); + String hasAlternativeInstallationAddressEditorContent(); + + String alternativeInstallationAddressEditorContent(); + String overrideIpStyle(); } + @Override + public void setAlternativeInstallationAddressEnabled(Boolean isEnabled) { + alternativeInstallationAddressEditor.setEnabled(isEnabled); + } + } diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostPopupView.ui.xml b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostPopupView.ui.xml index 3b5d25d..8411a5b 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostPopupView.ui.xml +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/HostPopupView.ui.xml @@ -9,6 +9,9 @@ <ui:with field='constants' type='org.ovirt.engine.ui.common.CommonApplicationConstants'/> <ui:style type="org.ovirt.engine.ui.webadmin.section.main.view.popup.host.HostPopupView.Style"> + + @external .gwt-CheckBox; + .generalTabTopDecorator { background-color: #D3D3D3; margin-bottom: 8px; @@ -100,6 +103,22 @@ float: right; width: 230px; } + + .hasAlternativeInstallationAddressEditorContent .gwt-CheckBox{ + padding: 0px !important; + border-width: 0px !important; + } + + .hasAlternativeInstallationAddressEditorContent { + padding: 0px; + } + + .alternativeInstallationAddressEditorContent { + float: right; + width: 230px; + } + + </ui:style> <d:SimpleDialogPanel width="650px" height="500px"> @@ -115,6 +134,11 @@ </g:FlowPanel> <e:EntityModelTextBoxEditor ui:field="nameEditor"/> <e:EntityModelTextBoxEditor ui:field="hostAddressEditor"/> + <g:HorizontalPanel ui:field="alternativeInstallationAddressPanel" width="100%"> + <e:EntityModelCheckBoxEditor ui:field="hasAlternativeInstallationAddressEditor" /> + <d:InfoIcon ui:field="alternativeInstallationAddressInfoIcon" /> + <e:EntityModelTextBoxOnlyEditor ui:field="alternativeInstallationAddressEditor" /> + </g:HorizontalPanel> <e:EntityModelPasswordBoxEditor ui:field="rootPasswordEditor"/> <e:EntityModelCheckBoxEditor ui:field="overrideIpTablesEditor"/> </g:FlowPanel> -- To view, visit http://gerrit.ovirt.org/13168 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I9ef6559caf9aff3b5b768be27e501a0e7fe698ea Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Muli Salem <msa...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches