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
