Gilad Chaplik has uploaded a new change for review. Change subject: core: create default disk profile for attached SD ......................................................................
core: create default disk profile for attached SD Disk profile wasn't created for 'old' storage domain that is attached to 3.5 data center. Also added compensation support for disk profile. Change-Id: Ic59d6f38096fb5e20fee5b9b4705b4603fdf0d4f Bug-Url: https://bugzilla.redhat.com/1146073 Signed-off-by: Gilad Chaplik <[email protected]> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AttachStorageDomainToPoolCommand.java M backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/DbFacade.java 2 files changed, 26 insertions(+), 0 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/63/33463/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AttachStorageDomainToPoolCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AttachStorageDomainToPoolCommand.java index 9a57721..7278aa6f 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AttachStorageDomainToPoolCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AttachStorageDomainToPoolCommand.java @@ -12,6 +12,7 @@ import org.ovirt.engine.core.bll.NonTransactiveCommandAttribute; import org.ovirt.engine.core.bll.RetrieveImageDataParameters; import org.ovirt.engine.core.bll.context.CommandContext; +import org.ovirt.engine.core.bll.profiles.DiskProfileHelper; import org.ovirt.engine.core.common.AuditLogType; import org.ovirt.engine.core.common.FeatureSupported; import org.ovirt.engine.core.common.action.AttachStorageDomainToPoolParameters; @@ -31,6 +32,7 @@ import org.ovirt.engine.core.common.businessentities.StoragePoolIsoMap; import org.ovirt.engine.core.common.businessentities.StoragePoolIsoMapId; import org.ovirt.engine.core.common.businessentities.StoragePoolStatus; +import org.ovirt.engine.core.common.businessentities.profiles.DiskProfile; import org.ovirt.engine.core.common.errors.VdcBLLException; import org.ovirt.engine.core.common.errors.VdcBllErrors; import org.ovirt.engine.core.common.errors.VdcBllMessages; @@ -150,6 +152,7 @@ } } } + createDefaultDiskProfile(); } runVdsCommand(VDSCommandType.AttachStorageDomain, @@ -194,6 +197,27 @@ } } + /** + * Creating default disk profile for existing storage domain. + */ + private void createDefaultDiskProfile() { + if (FeatureSupported.storageQoS(getStoragePool().getcompatibility_version()) + && getDiskProfileDao().getAllForStorageDomain(getStorageDomain().getId()).isEmpty()) { + final DiskProfile diskProfile = + DiskProfileHelper.createDiskProfile(getStorageDomain().getId(), + getStorageDomainName()); + executeInNewTransaction(new TransactionMethod<Object>() { + @Override + public Void runInTransaction() { + getDiskProfileDao().save(diskProfile); + getCompensationContext().snapshotNewEntity(diskProfile); + getCompensationContext().stateChanged(); + return null; + } + }); + } + } + protected List<OvfEntityData> getEntitiesFromStorageOvfDisk() { // Initialize a new ArrayList with all the ovfDisks in the specified Storage Domain, // so the entities can be removed from the list every time we register the latest OVF disk and we can keep the diff --git a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/DbFacade.java b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/DbFacade.java index 0d92b27..85a4211 100644 --- a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/DbFacade.java +++ b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/DbFacade.java @@ -51,6 +51,7 @@ import org.ovirt.engine.core.common.businessentities.network.VmNic; import org.ovirt.engine.core.common.businessentities.network.VnicProfile; import org.ovirt.engine.core.common.businessentities.network.VnicProfileView; +import org.ovirt.engine.core.common.businessentities.profiles.DiskProfile; import org.ovirt.engine.core.common.job.Job; import org.ovirt.engine.core.common.job.Step; import org.ovirt.engine.core.compat.Guid; @@ -204,6 +205,7 @@ put(ExternalVariable.class, ExternalVariableDao.class); put(VdsKdumpStatus.class, VdsKdumpStatusDao.class); put(VmJob.class, VmJobDao.class); + put(DiskProfile.class, DiskProfileDao.class); } }; -- To view, visit http://gerrit.ovirt.org/33463 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ic59d6f38096fb5e20fee5b9b4705b4603fdf0d4f Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: ovirt-engine-3.5 Gerrit-Owner: Gilad Chaplik <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
