Daniel Erez has uploaded a new change for review. Change subject: core,restapi: Glance import - custom disk and template name ......................................................................
core,restapi: Glance import - custom disk and template name Import Glance image - allow specifying custom disk name and/or template name (when importing as template). E.g. <action> <name>imported-disk</name> <storage_domain> <name>data1</name> </storage_domain> <cluster> <name>Default</name> </cluster> <import_as_template>true</import_as_template> <template> <name>imported-template</name> </template> </action> Change-Id: I19da074f7b6ae9d5a0c943c3a7dc6b90a3db03f0 Signed-off-by: Daniel Erez <de...@redhat.com> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportRepoImageCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportRepoImageCopyTaskHandler.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/ImportRepoImageParameters.java M backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainImageResource.java 4 files changed, 23 insertions(+), 3 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/05/37105/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportRepoImageCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportRepoImageCommand.java index e40395e..cbcfdf4 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportRepoImageCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportRepoImageCommand.java @@ -157,6 +157,9 @@ } else { diskImage.setVolumeType(VolumeType.Sparse); } + if (getParameters().getDiskAlias() != null) { + diskImage.setDiskAlias(getParameters().getDiskAlias()); + } } getParameters().setDiskImage(diskImage); } diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportRepoImageCopyTaskHandler.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportRepoImageCopyTaskHandler.java index a6085fb..d9a932a 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportRepoImageCopyTaskHandler.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportRepoImageCopyTaskHandler.java @@ -118,8 +118,9 @@ OsRepository osRepository = SimpleDependecyInjector.getInstance().get(OsRepository.class); DiskImage templateDiskImage = getEnclosingCommand().getParameters().getDiskImage(); + String templateName = getEnclosingCommand().getParameters().getTemplateName(); // Following the same convention as the glance disk name, using a GlanceTemplate prefix, followed by a short identifier - String vmTemplateName = "GlanceTemplate-" + Guid.newGuid().toString().substring(0, 7); + String vmTemplateName = templateName != null ? templateName : "GlanceTemplate-" + Guid.newGuid().toString().substring(0, 7); AddVmTemplateParameters parameters = new AddVmTemplateParameters(masterVm, vmTemplateName, templateDiskImage.getDiskDescription()); // Setting the user from the parent command, as the session might already be invalid diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/ImportRepoImageParameters.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/ImportRepoImageParameters.java index 3769da6..fbdc0df 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/ImportRepoImageParameters.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/ImportRepoImageParameters.java @@ -14,6 +14,7 @@ private Guid sourceStorageDomainId; private Guid clusterId; private boolean importAsTemplate; + private String templateName; public String getSourceRepoImageId() { return sourceRepoImageId; @@ -55,4 +56,11 @@ this.diskImage = diskImage; } + public String getTemplateName() { + return templateName; + } + + public void setTemplateName(String templateName) { + this.templateName = templateName; + } } diff --git a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainImageResource.java b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainImageResource.java index 24aea37..76f3dba 100644 --- a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainImageResource.java +++ b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainImageResource.java @@ -1,7 +1,5 @@ package org.ovirt.engine.api.restapi.resource; -import javax.ws.rs.core.Response; - import org.ovirt.engine.api.model.Action; import org.ovirt.engine.api.model.Image; import org.ovirt.engine.api.resource.ActionResource; @@ -12,6 +10,8 @@ import org.ovirt.engine.core.common.queries.GetImageByIdParameters; import org.ovirt.engine.core.common.queries.VdcQueryType; import org.ovirt.engine.core.compat.Guid; + +import javax.ws.rs.core.Response; public class BackendStorageDomainImageResource @@ -45,10 +45,18 @@ if (action.isImportAsTemplate()) { validateParameters(action, "cluster.id|name"); importParameters.setClusterId(getClusterId(action)); + + if (action.isSetTemplate() && action.getTemplate().isSetName()) { + importParameters.setTemplateName(action.getTemplate().getName()); + } } importParameters.setImportAsTemplate(action.isImportAsTemplate()); } + if (action.isSetName()) { + importParameters.setDiskAlias(action.getName()); + } + return doAction(VdcActionType.ImportRepoImage, importParameters, action); } -- To view, visit http://gerrit.ovirt.org/37105 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I19da074f7b6ae9d5a0c943c3a7dc6b90a3db03f0 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Daniel Erez <de...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches