Maor Lipchuk has uploaded a new change for review.

Change subject: rest: Add support to register an unregistered VM.
......................................................................

rest: Add support to register an unregistered VM.

Adding support in REST to register a VM to a cluster.

WIP : Tests should be added

Change-Id: I83a937dcc8cd86d7f88f643bb7ba0f03d27a8ee6
Signed-off-by: Maor Lipchuk <[email protected]>
---
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendVmsResource.java
1 file changed, 24 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/84/26484/1

diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendVmsResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendVmsResource.java
index d22195a..b6b2de5 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendVmsResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendVmsResource.java
@@ -56,8 +56,8 @@
 import 
org.ovirt.engine.core.common.queries.GetVmFromConfigurationQueryParameters;
 import org.ovirt.engine.core.common.queries.GetVmOvfByVmIdParameters;
 import org.ovirt.engine.core.common.queries.GetVmTemplateParameters;
-import org.ovirt.engine.core.common.queries.IdsQueryParameters;
 import org.ovirt.engine.core.common.queries.IdQueryParameters;
+import org.ovirt.engine.core.common.queries.IdsQueryParameters;
 import org.ovirt.engine.core.common.queries.NameQueryParameters;
 import org.ovirt.engine.core.common.queries.VdcQueryParametersBase;
 import org.ovirt.engine.core.common.queries.VdcQueryReturnValue;
@@ -227,6 +227,29 @@
                 new QueryIdResolver<Guid>(VdcQueryType.GetVmByVmId, 
IdQueryParameters.class));
     }
 
+    public Response registerVmToCluster(VM vm) {
+        Initialization initialization = vm.getInitialization();
+        Configuration config = initialization.getConfiguration();
+        org.ovirt.engine.core.common.businessentities.VM vmConfiguration =
+                
getEntity(org.ovirt.engine.core.common.businessentities.VM.class,
+                        VdcQueryType.GetVmFromConfiguration,
+                        new 
GetVmFromConfigurationQueryParameters(VmMapper.map(ConfigurationType.fromValue(config.getType()),
 null), config.getData().trim()),
+                        "");
+
+        VmMapper.map(vm, vmConfiguration.getStaticData());
+
+        Guid clusterId = namedCluster(vm) ? getClusterId(vm) : 
asGuid(vm.getCluster().getId());
+        ImportVmParameters parameters = new ImportVmParameters();
+        parameters.setVm(vmConfiguration);
+        parameters.setVdsGroupId(clusterId);
+        if (initialization.isSetRegenerateIds()) {
+            parameters.setImportAsNewEntity(initialization.isRegenerateIds());
+        }
+        return performCreate(VdcActionType.ImportVmFromConfiguration,
+                parameters,
+                new QueryIdResolver<Guid>(VdcQueryType.GetVmByVmId, 
IdQueryParameters.class));
+    }
+
     protected org.ovirt.engine.core.common.businessentities.VM 
getVmConfiguration(String snapshotId) {
         org.ovirt.engine.core.common.businessentities.VM vmConfiguration =
                 
getEntity(org.ovirt.engine.core.common.businessentities.VM.class,


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I83a937dcc8cd86d7f88f643bb7ba0f03d27a8ee6
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Maor Lipchuk <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to