Gustavo Frederico Temple Pedrosa has uploaded a new change for review.

Change subject: core: [Fix] Disabled Balloon in Add Vm
......................................................................

core: [Fix] Disabled Balloon in Add Vm

Currently, it is impossible to add a VM with balloon disabled
(REST/UI), this change fixes this bug.


Change-Id: I7c9526469351a250e2cd8f2261c0dedcfa9c0bad
Signed-off-by: Gustavo Pedrosa <gustavo.pedr...@eldorado.org.br>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmFromSnapshotCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmTemplateCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/utils/VmDeviceUtils.java
4 files changed, 23 insertions(+), 3 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/39/23039/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmCommand.java
index 41f0011..209f690 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmCommand.java
@@ -616,7 +616,9 @@
                 getSrcDeviceIdToTargetDeviceIdMapping(),
                 getParameters().isSoundDeviceEnabled(),
                 getParameters().isConsoleEnabled(),
-                isVirtioScsiEnabled(), false);
+                isVirtioScsiEnabled(),
+                isBalloonEnabled(),
+                false);
     }
 
     protected static boolean isLegalClusterId(Guid clusterId, List<String> 
reasons) {
@@ -950,6 +952,10 @@
                 
FeatureSupported.virtIoScsi(getVdsGroup().getcompatibility_version());
     }
 
+    protected boolean isBalloonEnabled() {
+        return getParameters().isBalloonEnabled();
+    }
+
     protected boolean isVirtioScsiControllerAttached(Guid vmId) {
         return VmDeviceUtils.isVirtioScsiControllerAttached(vmId);
     }
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmFromSnapshotCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmFromSnapshotCommand.java
index d1aa503..23f2a5c 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmFromSnapshotCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmFromSnapshotCommand.java
@@ -270,6 +270,7 @@
                 getParameters().isSoundDeviceEnabled(),
                 getParameters().isConsoleEnabled(),
                 isVirtioScsiEnabled(),
+                isBalloonEnabled(),
                 false);
     }
 
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmTemplateCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmTemplateCommand.java
index e30c229..54ae26f 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmTemplateCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmTemplateCommand.java
@@ -216,6 +216,7 @@
                             getParameters().isSoundDeviceEnabled(),
                             getParameters().isConsoleEnabled(),
                             getParameters().isVirtioScsiEnabled(),
+                            VmDeviceUtils.isBalloonEnabled(getVmId()),
                             false);
                 } else {
                     // sending true for isVm in order to create basic devices 
needed
@@ -229,6 +230,7 @@
                             getParameters().isSoundDeviceEnabled(),
                             getParameters().isConsoleEnabled(),
                             getParameters().isVirtioScsiEnabled(),
+                            getVm().isBalloonEnabled(),
                             false);
                 }
 
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/utils/VmDeviceUtils.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/utils/VmDeviceUtils.java
index b22032b..cafd81c 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/utils/VmDeviceUtils.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/utils/VmDeviceUtils.java
@@ -268,6 +268,7 @@
                                      boolean soundDeviceEnabled,
                                      boolean isConsoleEnabled,
                                      Boolean isVirtioScsiEnabled,
+                                     boolean isBalloonEnabled,
                                      boolean copySnapshotDevices) {
         Guid id;
         String isoPath=vmBase.getIsoPath();
@@ -296,7 +297,7 @@
                 // updating USB slots
                 updateUSBSlots(null, vmBase);
                 // add mem balloon if defined
-                updateMemoryBalloon(null, vmBase, vm.isBalloonEnabled());
+                updateMemoryBalloon(null, vmBase, isBalloonEnabled);
             }
 
             switch(device.getType()) {
@@ -438,6 +439,7 @@
                                      boolean soundDeviceEnabled,
                                      boolean isConsoleEnabled,
                                      Boolean isVirtioScsiEnabled,
+                                     boolean isBalloonEnabled,
                                      boolean copySnapshotDevices) {
         VM vm = DbFacade.getInstance().getVmDao().get(dstId);
         VmBase vmBase = (vm != null) ? vm.getStaticData() : null;
@@ -449,7 +451,7 @@
 
         List<VmDevice> devices = dao.getVmDeviceByVmId(srcId);
         copyVmDevices(srcId, dstId, vm, vmBase, isVm, devices, 
srcDeviceIdToTargetDeviceIdMapping,
-                soundDeviceEnabled, isConsoleEnabled, isVirtioScsiEnabled, 
copySnapshotDevices);
+                soundDeviceEnabled, isConsoleEnabled, isVirtioScsiEnabled, 
isBalloonEnabled, copySnapshotDevices);
     }
 
     private static void addVideoDevice(VmBase vm) {
@@ -1007,6 +1009,15 @@
         return !getVirtioScsiControllers(vmId).isEmpty();
     }
 
+    public static boolean isBalloonEnabled(Guid vmId) {
+        return !getBalloonDevices(vmId).isEmpty();
+    }
+
+    public static List<VmDevice> getBalloonDevices(Guid vmId) {
+        return DbFacade.getInstance().getVmDeviceDao()
+                .getVmDeviceByVmIdAndType(vmId, VmDeviceGeneralType.BALLOON);
+    }
+
     public static List<VmDevice> getVirtioScsiControllers(Guid vmId) {
         return getVirtioScsiControllers(vmId, null, false);
     }


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I7c9526469351a250e2cd8f2261c0dedcfa9c0bad
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: ovirt-engine-3.3
Gerrit-Owner: Gustavo Frederico Temple Pedrosa <gustavo.pedr...@eldorado.org.br>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to