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 <[email protected]>
---
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 <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches