Martin Betak has uploaded a new change for review. Change subject: frontend: Add support for auto-convergence and XBZRLE compression ......................................................................
frontend: Add support for auto-convergence and XBZRLE compression Change-Id: Iff0c082dfddf22704a0ff26593b52f1385f342ea Signed-off-by: Martin Betak <[email protected]> --- M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationConstants.java M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/AbstractVmPopupWidget.java M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/AbstractVmPopupWidget.ui.xml M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/CoreUnitToVmBaseBuilder.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/CoreVmBaseToUnitBuilder.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterListModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/UnitVmModel.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/cluster/ClusterPopupView.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/cluster/ClusterPopupView.ui.xml 10 files changed, 138 insertions(+), 1 deletion(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/95/32495/1 diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationConstants.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationConstants.java index 84be89e..fdebe6f 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationConstants.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationConstants.java @@ -1922,4 +1922,10 @@ @DefaultStringValue("SPICE-HTML5 does not support SPICE Proxy.") String spiceHtml5DoesntSupportSpiceProxy(); + + @DefaultStringValue("Auto Converge migrations") + String autoConvergeLabel(); + + @DefaultStringValue("Enable migration compression") + String migrateCompressedLabel(); } diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/AbstractVmPopupWidget.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/AbstractVmPopupWidget.java index 2ccc975..62c65f7 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/AbstractVmPopupWidget.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/AbstractVmPopupWidget.java @@ -46,7 +46,9 @@ import org.ovirt.engine.ui.common.widget.dialog.InfoIcon; import org.ovirt.engine.ui.common.widget.dialog.tab.DialogTab; import org.ovirt.engine.ui.common.widget.dialog.tab.DialogTabPanel; +import org.ovirt.engine.ui.common.widget.editor.BooleanEntityModelListBoxEditor; import org.ovirt.engine.ui.common.widget.editor.EntityModelCellTable; +import org.ovirt.engine.ui.common.widget.editor.ListModelListBox; 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.editor.ListModelTypeAheadListBoxEditor; @@ -67,6 +69,7 @@ import org.ovirt.engine.ui.common.widget.form.key_value.KeyValueWidget; import org.ovirt.engine.ui.common.widget.parser.MemorySizeParser; import org.ovirt.engine.ui.common.widget.profile.ProfilesInstanceTypeEditor; +import org.ovirt.engine.ui.common.widget.renderer.BooleanRenderer; import org.ovirt.engine.ui.common.widget.renderer.EnumRenderer; import org.ovirt.engine.ui.common.widget.renderer.MemorySizeRenderer; import org.ovirt.engine.ui.common.widget.renderer.NullSafeRenderer; @@ -586,6 +589,16 @@ @Path(value = "migrationDowntime.entity") @WithElementId("migrationDowntime") public IntegerEntityModelTextBoxOnlyEditor migrationDowntimeEditor; + + @UiField(provided = true) + @Path(value = "autoConverge.selectedItem") + @WithElementId("autoConverge") + public ListModelListBoxEditor<Boolean> autoConvergeEditor; + + @UiField(provided = true) + @Path(value = "migrateCompressed.selectedItem") + @WithElementId("migrateCompressed") + public ListModelListBoxEditor<Boolean> migrateCompressedEditor; @UiField(provided = true) @Ignore @@ -1246,6 +1259,27 @@ overrideMigrationDowntimeEditor = new EntityModelCheckBoxOnlyEditor(new ModeSwitchingVisibilityRenderer(), false); migrationDowntimeEditor = new IntegerEntityModelTextBoxOnlyEditor(new ModeSwitchingVisibilityRenderer()); + autoConvergeEditor = new ListModelListBoxEditor<Boolean>(new BooleanRenderer() { + @Override + public String render(Boolean valueToRender) { + if (valueToRender == null) { + return "inherit from cluster"; + } + + return super.render(valueToRender); + } + }, new ModeSwitchingVisibilityRenderer()); + + migrateCompressedEditor = new ListModelListBoxEditor<Boolean>(new BooleanRenderer() { + @Override + public String render(Boolean valueToRender) { + if (valueToRender == null) { + return "inherit from cluster"; + } + return super.render(valueToRender); + } + }); + // Resource Allocation provisioningThinEditor = new EntityModelRadioButtonEditor("provisioningGroup", new ModeSwitchingVisibilityRenderer()); //$NON-NLS-1$ @@ -1841,6 +1875,8 @@ migrationModeEditor.setTabIndex(nextTabIndex++); overrideMigrationDowntimeEditor.setTabIndex(nextTabIndex++); migrationDowntimeEditor.setTabIndex(nextTabIndex++); + autoConvergeEditor.setTabIndex(nextTabIndex++); + migrateCompressedEditor.setTabIndex(nextTabIndex++); hostCpuEditor.setTabIndex(nextTabIndex++); // ==High Availability Tab== diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/AbstractVmPopupWidget.ui.xml b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/AbstractVmPopupWidget.ui.xml index b9bff79..4d9f7da 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/AbstractVmPopupWidget.ui.xml +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/AbstractVmPopupWidget.ui.xml @@ -9,7 +9,8 @@ xmlns:s="urn:import:org.ovirt.engine.ui.common.widget.uicommon.storage" xmlns:k="urn:import:org.ovirt.engine.ui.common.widget.form.key_value" xmlns:p="urn:import:org.ovirt.engine.ui.common.widget.profile" - xmlns:vm="urn:import:org.ovirt.engine.ui.common.widget.uicommon.popup.vm"> + xmlns:vm="urn:import:org.ovirt.engine.ui.common.widget.uicommon.popup.vm" + xmlns:we="urn:import:org.ovirt.engine.ui.common.widget.editor"> <ui:with field='resources' type='org.ovirt.engine.ui.common.CommonApplicationResources' /> <ui:with field='constants' type='org.ovirt.engine.ui.common.CommonApplicationConstants'/> @@ -605,6 +606,8 @@ <d:InfoIcon ui:field="migrationDowntimeInfoIcon" addStyleNames="{style.migrationDowntimeInfoIcon} avmpw_infoIcon_pfly_fix" /> <ge:IntegerEntityModelTextBoxOnlyEditor ui:field="migrationDowntimeEditor" addStyleNames="{style.migrationDowntime}" /> </g:FlowPanel> + <e:ListModelListBoxEditor ui:field="autoConvergeEditor" label="{constants.autoConvergeLabel}" /> + <e:ListModelListBoxEditor ui:field="migrateCompressedEditor" label="{constants.migrateCompressedLabel}" /> <ge:EntityModelCheckBoxEditor ui:field="hostCpuEditor" addStyleNames="{style.checkbox}"/> </g:VerticalPanel> </g:FlowPanel> diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/CoreUnitToVmBaseBuilder.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/CoreUnitToVmBaseBuilder.java index f2e243a..41d6d3c 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/CoreUnitToVmBaseBuilder.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/CoreUnitToVmBaseBuilder.java @@ -32,5 +32,7 @@ vm.setBootMenuEnabled(model.getBootMenuEnabled().getEntity()); vm.setSpiceFileTransferEnabled(model.getSpiceFileTransferEnabled().getEntity()); vm.setSpiceCopyPasteEnabled(model.getSpiceCopyPasteEnabled().getEntity()); + vm.setAutoConverge(model.getAutoConverge().getSelectedItem()); + vm.setMigrateCompressed(model.getMigrateCompressed().getSelectedItem()); } } diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/CoreVmBaseToUnitBuilder.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/CoreVmBaseToUnitBuilder.java index 1720331..8410bd8 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/CoreVmBaseToUnitBuilder.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/vm/CoreVmBaseToUnitBuilder.java @@ -20,5 +20,7 @@ model.selectSsoMethod(vm.getSsoMethod()); model.getSpiceFileTransferEnabled().setEntity(vm.isSpiceFileTransferEnabled()); model.getSpiceCopyPasteEnabled().setEntity(vm.isSpiceCopyPasteEnabled()); + model.getAutoConverge().setSelectedItem(vm.getAutoConverge()); + model.getMigrateCompressed().setSelectedItem(vm.getMigrateCompressed()); } } diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterListModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterListModel.java index 3060a90..2b005f0 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterListModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterListModel.java @@ -403,6 +403,8 @@ clusterModel.getArchitecture().setSelectedItem(cluster.getArchitecture()); clusterModel.getSerialNumberPolicy().setSelectedSerialNumberPolicy(cluster.getSerialNumberPolicy()); clusterModel.getSerialNumberPolicy().getCustomSerialNumber().setEntity(cluster.getCustomSerialNumber()); + clusterModel.getAutoConverge().setSelectedItem(cluster.getAutoConverge()); + clusterModel.getMigrateCompressed().setSelectedItem(cluster.getMigrateCompressed()); if (cluster.supportsTrustedService()) { @@ -773,6 +775,9 @@ cluster.setSerialNumberPolicy(model.getSerialNumberPolicy().getSelectedSerialNumberPolicy()); cluster.setCustomSerialNumber(model.getSerialNumberPolicy().getCustomSerialNumber().getEntity()); + cluster.setAutoConverge(model.getAutoConverge().getSelectedItem()); + cluster.setMigrateCompressed(model.getMigrateCompressed().getSelectedItem()); + cluster.getRequiredRngSources().clear(); if (Boolean.TRUE.equals(model.getRngRandomSourceRequired().getEntity())) { cluster.getRequiredRngSources().add(VmRngDevice.Source.RANDOM); diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterModel.java index ec3b430..4d110ed 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterModel.java @@ -799,6 +799,26 @@ hostsWithBrokenConnectivityThreshold = value; } + private ListModel<Boolean> autoConverge; + + public ListModel<Boolean> getAutoConverge() { + return autoConverge; + } + + public void setAutoConverge(ListModel<Boolean> autoConverge) { + this.autoConverge = autoConverge; + } + + private ListModel<Boolean> migrateCompressed; + + public ListModel<Boolean> getMigrateCompressed() { + return migrateCompressed; + } + + public void setMigrateCompressed(ListModel<Boolean> migrateCompressed) { + this.migrateCompressed = migrateCompressed; + } + public ClusterModel() { super(); @@ -850,6 +870,11 @@ setSerialNumberPolicy(new SerialNumberPolicyModel()); + setAutoConverge(new ListModel<Boolean>()); + getAutoConverge().setItems(Arrays.asList(null, true, false)); + setMigrateCompressed(new ListModel<Boolean>()); + getMigrateCompressed().setItems(Arrays.asList(null, true, false)); + getEnableOvirtService().getEntityChangedEvent().addListener(new IEventListener() { @Override public void eventRaised(Event ev, Object sender, EventArgs args) { diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/UnitVmModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/UnitVmModel.java index c01badd..5185268 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/UnitVmModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/UnitVmModel.java @@ -1290,6 +1290,26 @@ this.cpuProfiles = cpuProfiles; } + private ListModel<Boolean> autoConverge; + + public ListModel<Boolean> getAutoConverge() { + return autoConverge; + } + + public void setAutoConverge(NotChangableForVmInPoolListModel<Boolean> autoConverge) { + this.autoConverge = autoConverge; + } + + private ListModel<Boolean> migrateCompressed; + + public ListModel<Boolean> getMigrateCompressed() { + return migrateCompressed; + } + + public void setMigrateCompressed(NotChangableForVmInPoolListModel<Boolean> migrateCompressed) { + this.migrateCompressed = migrateCompressed; + } + public UnitVmModel(VmModelBehaviorBase behavior) { Frontend.getInstance().getQueryStartedEvent().addListener(this); Frontend.getInstance().getQueryCompleteEvent().addListener(this); @@ -1545,6 +1565,11 @@ setCpuProfiles(new NotChangableForVmInPoolListModel<CpuProfile>()); getCpuProfiles().setIsAvailable(false); + + setAutoConverge(new NotChangableForVmInPoolListModel<Boolean>()); + getAutoConverge().setItems(Arrays.asList(null, true, false)); + setMigrateCompressed(new NotChangableForVmInPoolListModel<Boolean>()); + getMigrateCompressed().setItems(Arrays.asList(null, true, false)); } public void initialize(SystemTreeItemModel SystemTreeSelectedItem) diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/cluster/ClusterPopupView.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/cluster/ClusterPopupView.java index df3621a..f2cc0ec 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/cluster/ClusterPopupView.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/cluster/ClusterPopupView.java @@ -25,6 +25,7 @@ import org.ovirt.engine.ui.common.widget.editor.generic.StringEntityModelTextAreaLabelEditor; import org.ovirt.engine.ui.common.widget.editor.generic.StringEntityModelTextBoxEditor; import org.ovirt.engine.ui.common.widget.form.key_value.KeyValueWidget; +import org.ovirt.engine.ui.common.widget.renderer.BooleanRenderer; import org.ovirt.engine.ui.common.widget.renderer.NullSafeRenderer; import org.ovirt.engine.ui.common.widget.uicommon.popup.vm.SerialNumberPolicyWidget; import org.ovirt.engine.ui.uicommonweb.dataprovider.AsyncDataProvider; @@ -331,6 +332,16 @@ @WithElementId("serialNumberPolicy") SerialNumberPolicyWidget serialNumberPolicyEditor; + @UiField(provided = true) + @Path("autoConverge.selectedItem") + @WithElementId("autoConverge") + ListModelListBoxEditor<Boolean> autoConvergeEditor; + + @UiField(provided = true) + @Path("migrateCompressed.selectedItem") + @WithElementId("migrateCompressed") + ListModelListBoxEditor<Boolean> migrateCompressedEditor; + @UiField @Ignore DialogTab consoleTab; @@ -565,6 +576,26 @@ } }); hostsWithBrokenConnectivityThresholdEditor.getContentWidgetContainer().setWidth("75px"); //$NON-NLS-1$ + + autoConvergeEditor = new ListModelListBoxEditor<Boolean>(new BooleanRenderer() { + @Override + public String render(Boolean valueToRender) { + if (valueToRender == null) { + return "inherit global"; + } + return super.render(valueToRender); + } + }); + + migrateCompressedEditor = new ListModelListBoxEditor<Boolean>(new BooleanRenderer() { + @Override + public String render(Boolean valueToRender) { + if (valueToRender == null) { + return "inherit global"; + } + return super.render(valueToRender); + } + }); } private void initCheckBoxEditors() { diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/cluster/ClusterPopupView.ui.xml b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/cluster/ClusterPopupView.ui.xml index ad7eae9..a6313cd 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/cluster/ClusterPopupView.ui.xml +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/cluster/ClusterPopupView.ui.xml @@ -262,6 +262,8 @@ <ge:EntityModelCheckBoxEditor ui:field="enableHaReservationEditor" /> </g:FlowPanel> <vm:SerialNumberPolicyWidget ui:field="serialNumberPolicyEditor" /> + <e:ListModelListBoxEditor ui:field="autoConvergeEditor" label="{constants.autoConvergeLabel}" /> + <e:ListModelListBoxEditor ui:field="migrateCompressedEditor" label="{constants.migrateCompressedLabel}" /> </g:FlowPanel> </t:content> </t:DialogTab> -- To view, visit http://gerrit.ovirt.org/32495 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Iff0c082dfddf22704a0ff26593b52f1385f342ea Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Martin Betak <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
