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

Reply via email to