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

Reply via email to