Ori Liel has uploaded a new change for review. Change subject: restapi: Update VmPool - Identify Template by name. ......................................................................
restapi: Update VmPool - Identify Template by name. When updating a Vm-Pool, if user provides the template name (vs ID), the action currently fails. This patch infers the Template ID using the Template name before sending the request to the engine. Change-Id: Ie807569c42d956630f8a7a0c5f868bd50559300a Signed-off-by: Ori Liel <ol...@redhat.com> --- M backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendVmPoolResource.java 1 file changed, 19 insertions(+), 1 deletion(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/85/40985/1 diff --git a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendVmPoolResource.java b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendVmPoolResource.java index be2633f..4cec283 100644 --- a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendVmPoolResource.java +++ b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendVmPoolResource.java @@ -8,6 +8,7 @@ import javax.ws.rs.core.Response; import org.ovirt.engine.api.model.Action; +import org.ovirt.engine.api.model.Template; import org.ovirt.engine.api.model.VmPool; import org.ovirt.engine.api.resource.ActionResource; import org.ovirt.engine.api.resource.AssignedPermissionsResource; @@ -109,7 +110,7 @@ final VM vm = mapToVM(map(entity)); if (incoming.isSetTemplate()) { - vm.setVmtGuid(new Guid(incoming.getTemplate().getId())); + vm.setVmtGuid(getTempalteId(incoming.getTemplate())); } else { final VM existing = currentVmCount > 0 ? getEntity(VM.class, @@ -140,6 +141,23 @@ } } + private Guid getTempalteId(Template template) { + Guid result = null; + if (template.isSetId()) { + result = new Guid(template.getId()); + } else if (template.isSetName()) { + result = lookupTemplateByName(template.getName()).getId(); + } + return result; + } + + private VmTemplate lookupTemplateByName(String name) { + return getEntity(VmTemplate.class, + VdcQueryType.GetVmTemplate, + new GetVmTemplateParameters(name), + "GetVmTemplate"); + } + @Override public Response allocatevm(Action action) { return doAction(VdcActionType.AttachUserToVmFromPoolAndRun, -- To view, visit https://gerrit.ovirt.org/40985 To unsubscribe, visit https://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ie807569c42d956630f8a7a0c5f868bd50559300a Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Ori Liel <ol...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches