Frank Kobzik has uploaded a new change for review.

Change subject: backend: RNG device final touches
......................................................................

backend: RNG device final touches

This patch deals with 2 small bugs in RNG devices:
1: When creating vm from template, RNG device was created twice (firstly
from AddVmFromTemplateParams and secondly from generic device copying).
Solved by checking presence of RNG device on copying vm devices.

2: When creating vm pool, RNG device couldn't be customized. This was
caused by incorrect RNG propagating in AddVmAndAttachToPoolCommand.

Change-Id: I78fa8f34eeebf02f14130570b581353572b18fad
Bug-Url: https://bugzilla.redhat.com/977079
Signed-off-by: Frantisek Kobzik <fkob...@redhat.com>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmAndAttachToPoolCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/utils/VmDeviceUtils.java
2 files changed, 13 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/93/28593/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmAndAttachToPoolCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmAndAttachToPoolCommand.java
index b749144..0982140 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmAndAttachToPoolCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmAndAttachToPoolCommand.java
@@ -73,6 +73,11 @@
         parameters.setConsoleEnabled(getParameters().isConsoleEnabled());
         parameters.setVirtioScsiEnabled(getParameters().isVirtioScsiEnabled());
 
+        if (getParameters().isUpdateRngDevice()) {
+            parameters.setUpdateRngDevice(true);
+            parameters.setRngDevice(getParameters().getRngDevice());
+        }
+
         return Backend.getInstance().runInternalAction(VdcActionType.AddVm,
                         parameters,
                         
ExecutionHandler.createDefaultContexForTasks(getExecutionContext()));
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 a5b8cef..d96ce4e 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
@@ -362,6 +362,9 @@
                     break;
 
                 case RNG:
+                    if (hasVmRngDevice(dstId)) {
+                        continue; // don't copy rng device if we already have 
it
+                    }
                     specParams.putAll(device.getSpecParams());
                     break;
 
@@ -1031,6 +1034,11 @@
         return !getSoundDevices(vmId).isEmpty();
     }
 
+    public static boolean hasVmRngDevice(Guid vmId) {
+        return 
!DbFacade.getInstance().getVmDeviceDao().getVmDeviceByVmIdAndType(vmId,
+                VmDeviceGeneralType.RNG).isEmpty();
+    }
+
     public static List<VmDevice> getSoundDevices(Guid vmId) {
         return 
DbFacade.getInstance().getVmDeviceDao().getVmDeviceByVmIdAndType(vmId,
                 VmDeviceGeneralType.SOUND);


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I78fa8f34eeebf02f14130570b581353572b18fad
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Frank Kobzik <fkob...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to