Frank Kobzik has uploaded a new change for review.

Change subject: restapi: VirtIO RNG in instance types
......................................................................

restapi: VirtIO RNG in instance types

Change-Id: I7c0486c899f237c88aff8d137f963c57ff00dd95
Signed-off-by: Frantisek Kobzik <fkob...@redhat.com>
---
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendInstanceTypeResource.java
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendInstanceTypesResource.java
M 
backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendInstanceTypeResourceTest.java
M 
backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendInstanceTypesResourceTest.java
M 
backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendTemplateBasedResourceTest.java
M 
backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendTemplateResourceTest.java
M 
backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendTemplatesBasedResourceTest.java
M 
backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendTemplatesResourceTest.java
8 files changed, 41 insertions(+), 19 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/92/28692/1

diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendInstanceTypeResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendInstanceTypeResource.java
index cb9d01f..08b9285 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendInstanceTypeResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendInstanceTypeResource.java
@@ -10,11 +10,13 @@
 import org.ovirt.engine.api.resource.DevicesResource;
 import org.ovirt.engine.api.resource.InstanceTypeResource;
 import org.ovirt.engine.api.resource.WatchdogsResource;
+import org.ovirt.engine.api.restapi.types.RngDeviceMapper;
 import org.ovirt.engine.api.restapi.types.VmMapper;
 import org.ovirt.engine.api.restapi.util.VmHelper;
 import org.ovirt.engine.core.common.action.UpdateVmTemplateParameters;
 import org.ovirt.engine.core.common.action.VdcActionParametersBase;
 import org.ovirt.engine.core.common.action.VdcActionType;
+import org.ovirt.engine.core.common.businessentities.VmRngDevice;
 import org.ovirt.engine.core.common.businessentities.VmTemplate;
 import org.ovirt.engine.core.common.queries.GetVmTemplateParameters;
 import org.ovirt.engine.core.common.queries.IdQueryParameters;
@@ -57,6 +59,7 @@
             model.setVirtioScsi(new VirtIOSCSI());
         }
         
model.getVirtioScsi().setEnabled(!VmHelper.getInstance().getVirtioScsiControllersForEntity(entity.getId()).isEmpty());
+        setRngDevice(model);
         return model;
     }
 
@@ -77,6 +80,17 @@
         return inject(new BackendCreationResource(oid));
     }
 
+    private void setRngDevice(InstanceType model) {
+        List<VmRngDevice> rngDevices = getEntity(List.class,
+            VdcQueryType.GetRngDevice,
+            new IdQueryParameters(Guid.createGuidFromString(model.getId())),
+            "GetRngDevice", true);
+
+        if (rngDevices != null && !rngDevices.isEmpty()) {
+            model.setRngDevice(RngDeviceMapper.map(rngDevices.get(0), null));
+        }
+    }
+
     private List<String> getConsoleDevicesForEntity(Guid id) {
         return getEntity(List.class,
                 VdcQueryType.GetConsoleDevices,
@@ -90,7 +104,13 @@
             org.ovirt.engine.core.common.businessentities.InstanceType updated 
= getMapper(modelType, 
org.ovirt.engine.core.common.businessentities.InstanceType.class).map(incoming, 
entity);
             
updated.setUsbPolicy(VmMapper.getUsbPolicyOnUpdate(incoming.getUsb(), 
entity.getUsbPolicy(), Version.getLast()));
 
-            return getMapper(modelType, 
UpdateVmTemplateParameters.class).map(incoming, new 
UpdateVmTemplateParameters((VmTemplate) updated));
+            UpdateVmTemplateParameters updateParams = new 
UpdateVmTemplateParameters((VmTemplate) updated);
+            if (incoming.isSetRngDevice()) {
+                updateParams.setUpdateRngDevice(true);
+                
updateParams.setRngDevice(RngDeviceMapper.map(incoming.getRngDevice(), null));
+            }
+
+            return getMapper(modelType, 
UpdateVmTemplateParameters.class).map(incoming, updateParams);
         }
     }
 }
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendInstanceTypesResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendInstanceTypesResource.java
index 5a1ac47..8afcdb0 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendInstanceTypesResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendInstanceTypesResource.java
@@ -6,12 +6,14 @@
 import org.ovirt.engine.api.model.VirtIOSCSI;
 import org.ovirt.engine.api.resource.InstanceTypeResource;
 import org.ovirt.engine.api.resource.InstanceTypesResource;
+import org.ovirt.engine.api.restapi.types.RngDeviceMapper;
 import org.ovirt.engine.api.restapi.util.VmHelper;
 import org.ovirt.engine.core.common.action.AddVmTemplateParameters;
 import org.ovirt.engine.core.common.action.VdcActionType;
 import org.ovirt.engine.core.common.action.VmTemplateParametersBase;
 import org.ovirt.engine.core.common.businessentities.VM;
 import org.ovirt.engine.core.common.businessentities.VmEntityType;
+import org.ovirt.engine.core.common.businessentities.VmRngDevice;
 import org.ovirt.engine.core.common.businessentities.VmStatic;
 import org.ovirt.engine.core.common.interfaces.SearchType;
 import org.ovirt.engine.core.common.queries.GetVmTemplateParameters;
@@ -108,9 +110,22 @@
             model.setVirtioScsi(new VirtIOSCSI());
         }
         
model.getVirtioScsi().setEnabled(!VmHelper.getInstance().getVirtioScsiControllersForEntity(entity.getId()).isEmpty());
+
+        List<VmRngDevice> rngDevices = getRngDevices(entity.getId());
+        if (rngDevices != null && !rngDevices.isEmpty()) {
+            model.setRngDevice(RngDeviceMapper.map(rngDevices.get(0), null));
+        }
+
         return model;
     }
 
+    private List<VmRngDevice> getRngDevices(Guid id) {
+        return getEntity(List.class,
+            VdcQueryType.GetRngDevice,
+            new IdQueryParameters(id),
+            "GetRngDevice", true);
+    }
+
     private List<String> getConsoleDevicesForEntity(Guid id) {
         return getEntity(List.class,
                 VdcQueryType.GetConsoleDevices,
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendInstanceTypeResourceTest.java
 
b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendInstanceTypeResourceTest.java
index 424d073..75a1adf 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendInstanceTypeResourceTest.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendInstanceTypeResourceTest.java
@@ -29,4 +29,5 @@
         super.verifyModel(model, index);
         verifyModelSpecific(model);
     }
+
 }
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendInstanceTypesResourceTest.java
 
b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendInstanceTypesResourceTest.java
index c196b28..7010b5e 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendInstanceTypesResourceTest.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendInstanceTypesResourceTest.java
@@ -20,6 +20,7 @@
 
     public void testAdd() throws Exception {
         setUpGetConsoleExpectations(new int[]{0, 0});
+        setUpGetRngDeviceExpectations(new int[] {0, 0});
 
         super.testAdd();
     }
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendTemplateBasedResourceTest.java
 
b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendTemplateBasedResourceTest.java
index d3ae2e6..6f641a1 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendTemplateBasedResourceTest.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendTemplateBasedResourceTest.java
@@ -100,6 +100,7 @@
             
expect(httpHeaders.getRequestHeader(BackendResource.POPULATE)).andReturn(populates).anyTimes();
             setUpGetConsoleExpectations(new int[]{0});
             setUpGetVirtioScsiExpectations(new int[]{0});
+            setUpGetRngDeviceExpectations(new int [] {0});
         }
         control.replay();
 
@@ -139,6 +140,7 @@
         setUpGetEntityExpectations(2);
         setUpGetConsoleExpectations(new int[]{0});
         setUpGetVirtioScsiExpectations(new int[]{0});
+        setUpGetRngDeviceExpectations(new int[]{0});
 
         setUriInfo(setUpActionExpectations(VdcActionType.UpdateVmTemplate,
                 UpdateVmTemplateParameters.class,
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendTemplateResourceTest.java
 
b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendTemplateResourceTest.java
index 5e8e0cf..6d304fb 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendTemplateResourceTest.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendTemplateResourceTest.java
@@ -39,18 +39,8 @@
                 new String[] { "Id" },
                 new Object[] { GUIDS[2] },
                 getVdsGroupEntity());
-        setUpGetRngDeviceExpectations(new int[]{0});
 
         super.testUpdate();
-    }
-
-    @Override
-    public void testGetConsoleAware(boolean allContent) throws Exception {
-        if (allContent) {
-            setUpGetRngDeviceExpectations(new int[]{0});
-        }
-
-        super.testGetConsoleAware(allContent);
     }
 
     protected org.ovirt.engine.core.common.businessentities.VDSGroup 
getVdsGroupEntity() {
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendTemplatesBasedResourceTest.java
 
b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendTemplatesBasedResourceTest.java
index dffd1f4..c63751e 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendTemplatesBasedResourceTest.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendTemplatesBasedResourceTest.java
@@ -165,6 +165,7 @@
             
expect(httpHeaders.getRequestHeader(BackendResource.POPULATE)).andReturn(populates).anyTimes();
             setUpGetConsoleExpectations(new int[]{0, 1, 2});
             setUpGetVirtioScsiExpectations(new int[] {0, 1, 2});
+            setUpGetRngDeviceExpectations(new int[] {0, 1, 2});
         }
 
         setUpQueryExpectations("");
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendTemplatesResourceTest.java
 
b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendTemplatesResourceTest.java
index 5fdba9b..29afbcf 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendTemplatesResourceTest.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendTemplatesResourceTest.java
@@ -555,14 +555,6 @@
         return collection.list().getTemplates();
     }
 
-    protected void testListAllConsoleAware(boolean allContent) throws 
Exception {
-        if (allContent) {
-            setUpGetRngDeviceExpectations(new int[]{0, 1, 2});
-        }
-
-        super.testListAllConsoleAware(allContent);
-    }
-
     @Override
     protected void verifyCollection(List<Template> collection) throws 
Exception {
         super.verifyCollection(collection);


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I7c0486c899f237c88aff8d137f963c57ff00dd95
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