ofri masad has uploaded a new change for review.

Change subject: webadmin: support Memory Balloon
......................................................................

webadmin: support Memory Balloon

Add UI support for memory balloon device

Adding Memory Balloon support in webadmin
Change-Id: I3ce357b592a825e0ab96290848aa4f4cb3e20ace
Signed-off-by: Ofri Masad <[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/models/vms/ExistingVmModelBehavior.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewTemplateVmModelBehavior.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewVmModelBehavior.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/PoolModelBehaviorBase.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/TemplateVmModelBehavior.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/UnitVmModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmListModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmModelBehaviorBase.java
11 files changed, 53 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/01/17201/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 d399c9a..d4b4b42 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
@@ -1425,4 +1425,7 @@
 
     @DefaultStringValue("SSH PublicKey")
     String hostPublicKeyLable();
+
+    @DefaultStringValue("Memory Balloon Device Enabled")
+    String memoryBalloonDeviceEnabled();
 }
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 dbcfc18..b8dcb28 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
@@ -465,6 +465,10 @@
     public EntityModelTextBoxEditor minAllocatedMemoryEditor;
 
     @UiField(provided = true)
+    @Path(value = "memoryBalloonDeviceEnabled.entity")
+    EntityModelCheckBoxEditor isMemoryBalloonDeviceEnabled;
+
+    @UiField(provided = true)
     @Path(value = "provisioningThin_IsSelected.entity")
     @WithElementId("provisioningThin")
     public EntityModelRadioButtonEditor provisioningThinEditor;
@@ -587,6 +591,7 @@
         allowConsoleReconnectEditor = new 
EntityModelCheckBoxEditor(Align.RIGHT, new ModeSwitchingVisibilityRenderer());
         isSoundcardEnabledEditor = new EntityModelCheckBoxEditor(Align.RIGHT, 
new ModeSwitchingVisibilityRenderer());
         copyTemplatePermissionsEditor = new 
EntityModelCheckBoxEditor(Align.RIGHT, new ModeSwitchingVisibilityRenderer());
+        isMemoryBalloonDeviceEnabled = new 
EntityModelCheckBoxEditor(Align.RIGHT);
 
         priorityEditor = new EntityModelCellTable<ListModel>(
                 (Resources) GWT.create(ButtonCellTableResources.class));
@@ -891,6 +896,7 @@
         
isConsoleDeviceEnabledEditor.setLabel(constants.consoleDeviceEnabled());
         
copyTemplatePermissionsEditor.setLabel(constants.copyTemplatePermissions());
         isSmartcardEnabledEditor.setLabel(constants.smartcardVmPopup());
+        
isMemoryBalloonDeviceEnabled.setLabel(constants.memoryBalloonDeviceEnabled());
 
         // Pools Tab
         poolTab.setLabel(constants.poolVmPopup());
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 7ac2323..49589af 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
@@ -432,6 +432,7 @@
                                                <g:FlowPanel 
addStyleNames="{style.sectionPanel}">
                                                        <g:Label 
addStyleNames="{style.sectionLabel}" text="{constants.memAllocVmPopup}" />
                                                        
<e:EntityModelTextBoxEditor ui:field="minAllocatedMemoryEditor" />
+                                                       
<e:EntityModelCheckBoxEditor addStyleNames="{style.checkbox}" 
ui:field="isMemoryBalloonDeviceEnabled"/>
                                                </g:FlowPanel>
                                                <g:FlowPanel 
ui:field="storageAllocationPanel" addStyleNames="{style.sectionPanel}">
                                                        <g:HorizontalPanel>
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ExistingVmModelBehavior.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ExistingVmModelBehavior.java
index 9b88129..50e914f 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ExistingVmModelBehavior.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ExistingVmModelBehavior.java
@@ -195,6 +195,15 @@
 
         
getModel().getVncKeyboardLayout().setSelectedItem(vm.getVncKeyboardLayout());
 
+        Frontend.RunQuery(VdcQueryType.IsBalloonEnabled, new 
IdQueryParameters(getVm().getId()), new AsyncQuery(this,
+                new INewAsyncCallback() {
+                    @Override
+                    public void onSuccess(Object model, Object returnValue) {
+                        
getModel().getMemoryBalloonDeviceEnabled().setEntity(((VdcQueryReturnValue)returnValue).getReturnValue());
+                    }
+                }
+        ));
+
         if (vm.isInitialized())
         {
             getModel().getTimeZone()
@@ -240,6 +249,7 @@
         updateQuotaByCluster(vm.getQuotaId(), vm.getQuotaName());
         updateCpuPinningVisibility();
         initNetworkInterfaces();
+        updateMemoryBalloon();
     }
 
     private void initNetworkInterfaces() {
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewTemplateVmModelBehavior.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewTemplateVmModelBehavior.java
index 6860aa2..f04d2e2 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewTemplateVmModelBehavior.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewTemplateVmModelBehavior.java
@@ -171,6 +171,7 @@
     public void postDataCenterWithClusterSelectedItemChanged()
     {
         updateQuotaByCluster(null, null);
+        updateMemoryBalloon();
     }
 
     @Override
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewVmModelBehavior.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewVmModelBehavior.java
index c7ccbf6..39555b9 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewVmModelBehavior.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewVmModelBehavior.java
@@ -185,6 +185,7 @@
         updateCpuPinningVisibility();
         updateTemplate();
         initNetworkInterfaces(networkBehavior, null);
+        updateMemoryBalloon();
     }
 
     private void updateNetworkInterfacesByTemplate(VmTemplate template) {
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/PoolModelBehaviorBase.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/PoolModelBehaviorBase.java
index bba2966..d720cc2 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/PoolModelBehaviorBase.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/PoolModelBehaviorBase.java
@@ -196,6 +196,7 @@
             VmTemplate template = (VmTemplate) 
getModel().getTemplate().getSelectedItem();
             updateQuotaByCluster(template.getQuotaId(), 
template.getQuotaName());
         }
+        updateMemoryBalloon();
     }
 
     @Override
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/TemplateVmModelBehavior.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/TemplateVmModelBehavior.java
index 3fbe8c4..a7beac4 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/TemplateVmModelBehavior.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/TemplateVmModelBehavior.java
@@ -110,6 +110,7 @@
         updateDefaultHost();
         updateNumOfSockets();
         updateQuotaByCluster(template.getQuotaId(), template.getQuotaName());
+        updateMemoryBalloon();
     }
 
     @Override
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 686a463..44bec2f 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
@@ -679,6 +679,16 @@
         this.copyPermissions = copyPermissions;
     }
 
+    private EntityModel memoryBalloonDeviceEnabled;
+
+    public EntityModel getMemoryBalloonDeviceEnabled() {
+        return memoryBalloonDeviceEnabled;
+    }
+
+    public void setMemoryBalloonDeviceEnabled(EntityModel 
memoryBalloonDeviceEnabled) {
+        this.memoryBalloonDeviceEnabled = memoryBalloonDeviceEnabled;
+    }
+
     private NotChangableForVmInPoolListModel privateDisplayProtocol;
 
     public ListModel getDisplayProtocol()
@@ -1114,6 +1124,11 @@
         setCdImage(new NotChangableForVmInPoolListModel());
         getCdImage().setIsChangable(false);
 
+        setMemoryBalloonDeviceEnabled(new EntityModel());
+        getMemoryBalloonDeviceEnabled().setEntity(true);
+        getMemoryBalloonDeviceEnabled().setIsAvailable(false);
+
+
         setCdAttached(new NotChangableForVmInPoolEntityModel());
         getCdAttached().getEntityChangedEvent().addListener(new 
IEventListener() {
             @Override
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmListModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmListModel.java
index ef8038c..aa5d62d 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmListModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmListModel.java
@@ -1971,6 +1971,8 @@
         getcurrentVm().setKernelParams((String) 
model.getKernel_parameters().getEntity());
 
         
getcurrentVm().setCustomProperties(model.getCustomPropertySheet().getEntity());
+        getcurrentVm().setBalloonEnabled((Boolean) 
model.getMemoryBalloonDeviceEnabled().getEntity()
+            && 
model.getSelectedCluster().getcompatibility_version().compareTo(new Version(3, 
1)) >= 0);
 
         EntityModel displayProtocolSelectedItem = (EntityModel) 
model.getDisplayProtocol().getSelectedItem();
         getcurrentVm().setDefaultDisplayType((DisplayType) 
displayProtocolSelectedItem.getEntity());
@@ -2092,6 +2094,8 @@
                     VmManagementParametersBase params = new 
VmManagementParametersBase(getcurrentVm());
                     
params.setDiskInfoDestinationMap(model.getDisksAllocationModel().getImageToDestinationDomainMap());
                     params.setConsoleEnabled((Boolean) 
model.getIsConsoleDeviceEnabled().getEntity());
+                    params.setBalloonEnabled((Boolean) 
model.getMemoryBalloonDeviceEnabled().getEntity()
+                            && 
model.getSelectedCluster().getcompatibility_version().compareTo(new Version(3, 
1)) >= 0);
 
                     ArrayList<VdcActionParametersBase> parameters = new 
ArrayList<VdcActionParametersBase>();
                     parameters.add(params);
@@ -2162,6 +2166,8 @@
                 setVmWatchdogToParams(model, updateVmParams);
                 updateVmParams.setSoundDeviceEnabled((Boolean) 
model.getIsSoundcardEnabled().getEntity());
                 updateVmParams.setConsoleEnabled((Boolean) 
model.getIsConsoleDeviceEnabled().getEntity());
+                updateVmParams.setBalloonEnabled((Boolean) 
model.getMemoryBalloonDeviceEnabled().getEntity()
+                        && 
model.getSelectedCluster().getcompatibility_version().compareTo(new Version(3, 
1)) >= 0);
                 Frontend.RunAction(VdcActionType.UpdateVm, updateVmParams, new 
NetworkUpdateFrontendAsyncCallback(model, defaultNetworkCreatingManager, 
getcurrentVm().getId()), this);
             }
         }
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmModelBehaviorBase.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmModelBehaviorBase.java
index dae4cf1..070c3f2 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmModelBehaviorBase.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmModelBehaviorBase.java
@@ -652,6 +652,14 @@
         }
     }
 
+    protected void updateMemoryBalloon() {
+        if (getModel().getSelectedCluster() != null) {
+            VDSGroup cluster = getModel().getSelectedCluster();
+            boolean hasMemoryBalloon = 
cluster.getcompatibility_version().compareTo(new Version(3, 1)) >= 0;
+            
getModel().getMemoryBalloonDeviceEnabled().setIsAvailable(hasMemoryBalloon);
+        }
+    }
+
     protected void setupTemplate(VM vm, ListModel model) {
         AsyncDataProvider.getTemplateById(new AsyncQuery(getModel(),
                 new INewAsyncCallback() {


-- 
To view, visit http://gerrit.ovirt.org/17201
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I3ce357b592a825e0ab96290848aa4f4cb3e20ace
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: ofri masad <[email protected]>
Gerrit-Reviewer: Gilad Chaplik <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to