Frank Kobzik has uploaded a new change for review. Change subject: core: fix creating instance type via ui ......................................................................
core: fix creating instance type via ui Previously when user was creating an instance type via ui, graphics device was not created. This patch adds creating graphics from params on adding new instance type/template. Change-Id: I782cde707241312483ce5f668a0fb45d7d3d33ee Signed-off-by: Frantisek Kobzik <[email protected]> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmTemplateCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GraphicsParameters.java 2 files changed, 23 insertions(+), 6 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/62/37562/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmTemplateCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmTemplateCommand.java index 824b134..e311ced 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmTemplateCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmTemplateCommand.java @@ -44,6 +44,8 @@ import org.ovirt.engine.core.common.businessentities.ActionGroup; import org.ovirt.engine.core.common.businessentities.ArchitectureType; import org.ovirt.engine.core.common.businessentities.DiskImage; +import org.ovirt.engine.core.common.businessentities.GraphicsDevice; +import org.ovirt.engine.core.common.businessentities.GraphicsType; import org.ovirt.engine.core.common.businessentities.Permissions; import org.ovirt.engine.core.common.businessentities.StorageDomain; import org.ovirt.engine.core.common.businessentities.StorageDomainStatus; @@ -280,6 +282,7 @@ addPermission(); addVmTemplateImages(srcDeviceIdToTargetDeviceIdMapping); addVmInterfaces(srcDeviceIdToTargetDeviceIdMapping); + Set<GraphicsType> graphicsToSkip = getParameters().getGraphicsDevices().keySet(); if (isVmInDb) { VmDeviceUtils.copyVmDevices(getVmId(), getVmTemplateId(), @@ -288,7 +291,7 @@ getParameters().isConsoleEnabled(), getParameters().isVirtioScsiEnabled(), VmDeviceUtils.isBalloonEnabled(getVmId()), - getParameters().getGraphicsDevices().keySet(), + graphicsToSkip, false); } else { // for instance type and new template without a VM @@ -299,12 +302,13 @@ getParameters().isConsoleEnabled(), getParameters().isVirtioScsiEnabled(), getParameters().isBalloonEnabled(), - getParameters().getGraphicsDevices().keySet(), + graphicsToSkip, false); } updateWatchdog(getVmTemplateId()); updateRngDevice(getVmTemplateId()); + addGraphicsDevice(); setSucceeded(true); return null; @@ -323,6 +327,21 @@ } } + /** + * Add graphics based on parameters. + */ + private void addGraphicsDevice() { + for (GraphicsDevice graphicsDevice : getParameters().getGraphicsDevices().values()) { + if (graphicsDevice == null) { + continue; + } + + graphicsDevice.setVmId(getVmTemplateId()); + GraphicsParameters parameters = new GraphicsParameters(graphicsDevice).setVm(false); + getBackend().runInternalAction(VdcActionType.AddGraphicsDevice, parameters); + } + } + private boolean doClusterRelatedChecks() { // A Template cannot be added in a cluster without a defined architecture if (getVdsGroup().getArchitecture() == ArchitectureType.undefined) { diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GraphicsParameters.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GraphicsParameters.java index cf87ab7..d739ae3 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GraphicsParameters.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GraphicsParameters.java @@ -16,15 +16,13 @@ return vm; } - public void setVm(boolean vm) { + public GraphicsParameters setVm(boolean vm) { this.vm = vm; + return this; } public GraphicsDevice getDev() { return dev; } - public void setDev(GraphicsDevice dev) { - this.dev = dev; - } } -- To view, visit http://gerrit.ovirt.org/37562 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I782cde707241312483ce5f668a0fb45d7d3d33ee Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Frank Kobzik <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
