Liron Ar has uploaded a new change for review. Change subject: core: RegisterDiskCommand - correct storage domain ......................................................................
core: RegisterDiskCommand - correct storage domain When registering new disk, the disk was saved to the db using the domain information stored on it's metadata - this can cause to failure during registration or to have incorrect information stored in the engine db. The domain on which the disk was existed on isn't necessarily the new one on which the disk is now, so it shouldn't be saved with it. The following patch set the saved storage domain to the current one and is part of the complete fix which involves also setting the current id to the image metadata in vdsm. Change-Id: I568668fc1a8024ff255754287afbaa5d35b8a2ed Signed-off-by: Liron Aravot <[email protected]> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RegisterDiskCommand.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/RegisterDiskParameters.java M backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainDisksResource.java 3 files changed, 7 insertions(+), 2 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/93/15193/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RegisterDiskCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RegisterDiskCommand.java index 3d66eb9..4fb9059 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RegisterDiskCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RegisterDiskCommand.java @@ -56,6 +56,9 @@ final DiskImage newDiskImage = getParameters().getDiskImage(); newDiskImage.setDiskAlias(ImagesHandler.getDiskAliasWithDefault(newDiskImage, generateDefaultAliasForRegiteredDisk(Calendar.getInstance()))); + ArrayList<Guid> storageIds = new ArrayList<>(); + storageIds.add(getParameters().getStorageDomainId()); + newDiskImage.setStorageIds(storageIds); addDiskImageToDb(newDiskImage, getCompensationContext()); getReturnValue().setActionReturnValue(newDiskImage.getId()); getReturnValue().setSucceeded(true); diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/RegisterDiskParameters.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/RegisterDiskParameters.java index 0959a24..ce952a3 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/RegisterDiskParameters.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/RegisterDiskParameters.java @@ -1,6 +1,7 @@ package org.ovirt.engine.core.common.action; import org.ovirt.engine.core.common.businessentities.DiskImage; +import org.ovirt.engine.core.compat.Guid; public class RegisterDiskParameters extends ImagesActionsParametersBase { @@ -8,9 +9,10 @@ private DiskImage diskImage; - public RegisterDiskParameters(DiskImage diskImage) { + public RegisterDiskParameters(DiskImage diskImage, Guid storageDomainId) { super(diskImage.getId()); this.diskImage = diskImage; + setStorageDomainId(storageDomainId); } public DiskImage getDiskImage() { diff --git a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainDisksResource.java b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainDisksResource.java index 647e44d..77a830b 100644 --- a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainDisksResource.java +++ b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainDisksResource.java @@ -61,7 +61,7 @@ unregisteredDisk = (DiskImage) getMapper(Disk.class, org.ovirt.engine.core.common.businessentities.Disk.class).map(disk, unregisteredDisk); - RegisterDiskParameters registerDiskParams = new RegisterDiskParameters(unregisteredDisk); + RegisterDiskParameters registerDiskParams = new RegisterDiskParameters(unregisteredDisk, storageDomainId); return performCreate(VdcActionType.RegisterDisk, registerDiskParams, ID_RESOLVER); } else { validateDiskForCreation(disk); -- To view, visit http://gerrit.ovirt.org/15193 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I568668fc1a8024ff255754287afbaa5d35b8a2ed Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Liron Ar <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
