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