Tal Nisan has uploaded a new change for review. Change subject: core: Move storage type checks from storage pool level to domain level ......................................................................
core: Move storage type checks from storage pool level to domain level As a part of the effort to remove the type of storage pool the checks of the storage type were moved to be performed on the storage domain rather than on the storage pool Change-Id: I4f1067fd1d299a93b9555c4714b4e85ff980a830 Signed-off-by: Tal Nisan <[email protected]> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVdsCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVdsGroupCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ChangeVDSClusterCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CreateAllSnapshotsFromVmCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ExportVmCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetDiskAlignmentCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVdsCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVdsGroupCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/memory/LiveSnapshotMemoryImageBuilder.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AddLocalStorageDomainCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/ConnectAllHostsToLunCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/FenceVdsManualyCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/RemoveStoragePoolCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/StorageDomainCommandBase.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/StoragePool.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterGuideModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/DataCenterGuideModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/DataCenterListModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/DataCenterStorageListModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/ConfigureLocalStorageModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/StorageModelBehavior.java 23 files changed, 63 insertions(+), 46 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/72/23072/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVdsCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVdsCommand.java index f160018..df631cd 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVdsCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVdsCommand.java @@ -486,7 +486,7 @@ StoragePool storagePool = DbFacade.getInstance().getStoragePoolDao().getForVdsGroup( getParameters().getVdsStaticData().getVdsGroupId()); - if (storagePool != null && storagePool.getStorageType() == StorageType.LOCALFS) { + if (storagePool != null && storagePool.isLocal()) { if (!DbFacade.getInstance() .getVdsStaticDao() .getAllForVdsGroup(getParameters().getVdsStaticData().getVdsGroupId()) diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVdsGroupCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVdsGroupCommand.java index 2d1bb1c..43f3639 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVdsGroupCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVdsGroupCommand.java @@ -112,7 +112,7 @@ VdcBllMessages.ACTION_TYPE_FAILED_STORAGE_POOL_NOT_EXIST .toString()); result = false; - } else if (storagePool.getStorageType() == StorageType.LOCALFS) { + } else if (storagePool.isLocal()) { // we allow only one cluster in localfs data center if (!DbFacade.getInstance() .getVdsGroupDao().getAllForStoragePool(getVdsGroup().getStoragePoolId()) diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ChangeVDSClusterCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ChangeVDSClusterCommand.java index 3e6c080..031c974 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ChangeVDSClusterCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ChangeVDSClusterCommand.java @@ -72,7 +72,7 @@ } targetStoragePool = DbFacade.getInstance().getStoragePoolDao().getForVdsGroup(getTargetCluster().getId()); - if (targetStoragePool != null && targetStoragePool.getStorageType() == StorageType.LOCALFS) { + if (targetStoragePool != null && targetStoragePool.isLocal()) { if (!DbFacade.getInstance().getVdsStaticDao().getAllForVdsGroup(getParameters().getClusterId()).isEmpty()) { addCanDoActionMessage(VdcBllMessages.VDS_CANNOT_ADD_MORE_THEN_ONE_HOST_TO_LOCAL_STORAGE); return false; diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CreateAllSnapshotsFromVmCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CreateAllSnapshotsFromVmCommand.java index 4fe65e3..0bec444 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CreateAllSnapshotsFromVmCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CreateAllSnapshotsFromVmCommand.java @@ -66,7 +66,7 @@ public class CreateAllSnapshotsFromVmCommand<T extends CreateAllSnapshotsFromVmParameters> extends VmCommand<T> implements QuotaStorageDependent, TaskHandlerCommand<CreateAllSnapshotsFromVmParameters> { private List<DiskImage> cachedSelectedActiveDisks; - private Guid cachedStorageDomainId = Guid.Empty; + private StorageDomain cachedStorageDomain; private String cachedSnapshotIsBeingTakenMessage; private Guid newActiveSnapshotId = Guid.newGuid(); @@ -154,15 +154,15 @@ setSucceeded(true); } - public Guid getStorageDomainIdForVmMemory() { - if (cachedStorageDomainId.equals(Guid.Empty) && getVm() != null) { + private StorageDomain getStorageDomainForVmMemory() { + if (cachedStorageDomain == null && getVm() != null) { long sizeNeeded = getVm().getTotalMemorySizeInBytes() / BYTES_IN_GB; StorageDomain storageDomain = VmHandler.findStorageDomainForMemory(getVm().getStoragePoolId(), sizeNeeded); if (storageDomain != null) { - cachedStorageDomainId = storageDomain.getId(); + cachedStorageDomain = storageDomain; } } - return cachedStorageDomainId; + return cachedStorageDomain; } private MemoryImageBuilder createMemoryImageBuilder() { @@ -175,7 +175,7 @@ } if (getParameters().isSaveMemory() && isLiveSnapshotApplicable()) { - return new LiveSnapshotMemoryImageBuilder(getVm(), getStorageDomainIdForVmMemory(), getStoragePool(), this); + return new LiveSnapshotMemoryImageBuilder(getVm(), getStorageDomainForVmMemory(), getStoragePool(), this); } return new NullableMemoryImageBuilder(); @@ -440,7 +440,7 @@ } } - if (getParameters().isSaveMemory() && Guid.Empty.equals(getStorageDomainIdForVmMemory())) { + if (getParameters().isSaveMemory() && getStorageDomainForVmMemory() == null) { return failCanDoAction(VdcBllMessages.ACTION_TYPE_FAILED_NO_SUITABLE_DOMAIN_FOUND); } diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ExportVmCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ExportVmCommand.java index 8303a32..c4d5c72 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ExportVmCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ExportVmCommand.java @@ -341,7 +341,7 @@ // if the data domains are block based storage, the memory volume type is preallocated // so we need to use copy collapse in order to convert it to be sparsed in the export domain - if (getStoragePool().getStorageType().isBlockDomain()) { + if (getStorageDomain().getStorageType().isBlockDomain()) { params.setUseCopyCollapse(true); params.setVolumeType(VolumeType.Sparse); params.setVolumeFormat(VolumeFormat.RAW); diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetDiskAlignmentCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetDiskAlignmentCommand.java index c87f990..2c8fb77 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetDiskAlignmentCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetDiskAlignmentCommand.java @@ -19,6 +19,8 @@ import org.ovirt.engine.core.common.businessentities.DiskImage; import org.ovirt.engine.core.common.businessentities.ImageStatus; import org.ovirt.engine.core.common.businessentities.LunDisk; +import org.ovirt.engine.core.common.businessentities.StorageDomain; +import org.ovirt.engine.core.common.businessentities.StorageDomainStatic; import org.ovirt.engine.core.common.businessentities.StoragePool; import org.ovirt.engine.core.common.businessentities.VDS; import org.ovirt.engine.core.common.businessentities.VDSStatus; @@ -100,18 +102,25 @@ return failCanDoAction(VdcBllMessages.ACTION_TYPE_FAILED_DISK_NOT_EXIST); } + if (getVm() == null) { + addCanDoActionMessage(String.format("$diskAliases %1$s", getDiskAlias())); + return failCanDoAction(VdcBllMessages.ACTION_TYPE_FAILED_DISK_IS_NOT_VM_DISK); + } + if (getDiskType() == DiskStorageType.IMAGE) { DiskImagesValidator diskImagesValidator = new DiskImagesValidator(Arrays.asList((DiskImage) getDisk())); if (!validate(diskImagesValidator.diskImagesNotLocked()) || !validate(diskImagesValidator.diskImagesNotIllegal())) { return false; } + + StorageDomainStatic sds = getStorageDomainStaticDAO().get(((DiskImage)getDisk()).getStorageIds().get(0)); + if (!sds.getStorageType().isBlockDomain()) { + return failCanDoAction(VdcBllMessages.ACTION_TYPE_FAILED_ALIGNMENT_SCAN_STORAGE_TYPE); + } } - if (getVm() == null) { - addCanDoActionMessage(String.format("$diskAliases %1$s", getDiskAlias())); - return failCanDoAction(VdcBllMessages.ACTION_TYPE_FAILED_DISK_IS_NOT_VM_DISK); - } + if (isImageExclusiveLockNeeded() && getVm().isRunningOrPaused()) { return failCanDoAction(VdcBllMessages.ERROR_CANNOT_RUN_ALIGNMENT_SCAN_VM_IS_RUNNING); @@ -124,10 +133,6 @@ StoragePool sp = getStoragePoolDao().get(getStoragePoolId()); if (!validate(new StoragePoolValidator(sp).isUp())) { return false; - } - - if (!sp.getStorageType().isBlockDomain()) { - return failCanDoAction(VdcBllMessages.ACTION_TYPE_FAILED_ALIGNMENT_SCAN_STORAGE_TYPE); } return true; diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmCommand.java index dd5f708..55a0827 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmCommand.java @@ -52,6 +52,7 @@ import org.ovirt.engine.core.common.businessentities.Snapshot.SnapshotStatus; import org.ovirt.engine.core.common.businessentities.Snapshot.SnapshotType; import org.ovirt.engine.core.common.businessentities.StorageDomain; +import org.ovirt.engine.core.common.businessentities.StorageDomainStatic; import org.ovirt.engine.core.common.businessentities.StorageDomainType; import org.ovirt.engine.core.common.businessentities.VDSGroup; import org.ovirt.engine.core.common.businessentities.VM; @@ -715,6 +716,7 @@ private MoveOrCopyImageGroupParameters buildMoveOrCopyImageGroupParametersForMemoryDumpImage(Guid containerID, Guid storageId, Guid imageId, Guid volumeId) { + MoveOrCopyImageGroupParameters params = new MoveOrCopyImageGroupParameters(containerID, imageId, volumeId, imageId, volumeId, storageId, getMoveOrCopyImageOperation()); params.setParentCommand(getActionType()); @@ -726,7 +728,8 @@ params.setEntityInfo(new EntityInfo(VdcObjectType.VM, getVm().getId())); params.setParentParameters(getParameters()); - if (getStoragePool().getStorageType().isBlockDomain()) { + StorageDomainStatic storageDomain = getStorageDomainStaticDAO().get(storageId); + if (storageDomain != null && storageDomain.getStorageType().isBlockDomain()) { params.setUseCopyCollapse(true); params.setVolumeType(VolumeType.Preallocated); params.setVolumeFormat(VolumeFormat.RAW); diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVdsCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVdsCommand.java index 324c405..0e5614a 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVdsCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVdsCommand.java @@ -84,7 +84,7 @@ boolean returnValue = canRemoveVds(getVdsId(), getReturnValue().getCanDoActionMessages()); StoragePool storagePool = getStoragePoolDAO().getForVds(getParameters().getVdsId()); - if (returnValue && storagePool != null && storagePool.getStorageType() == StorageType.LOCALFS) { + if (returnValue && storagePool != null && storagePool.isLocal()) { if (!getStorageDomainDAO().getAllForStoragePool(storagePool.getId()).isEmpty()) { returnValue = failCanDoAction(VdcBllMessages.VDS_CANNOT_REMOVE_HOST_WITH_LOCAL_STORAGE); } diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVdsGroupCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVdsGroupCommand.java index 8dfdfa4..29ebcd9 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVdsGroupCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVdsGroupCommand.java @@ -290,7 +290,7 @@ } if (result && getVdsGroup().getStoragePoolId() != null) { StoragePool storagePool = getStoragePoolDAO().get(getVdsGroup().getStoragePoolId()); - if (oldGroup.getStoragePoolId() == null && storagePool.getStorageType() == StorageType.LOCALFS) { + if (oldGroup.getStoragePoolId() == null && storagePool.isLocal()) { // we allow only one cluster in localfs data center if (!getVdsGroupDAO().getAllForStoragePool(getVdsGroup().getStoragePoolId()).isEmpty()) { getReturnValue() diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/memory/LiveSnapshotMemoryImageBuilder.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/memory/LiveSnapshotMemoryImageBuilder.java index e2676ca..f1b83a6 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/memory/LiveSnapshotMemoryImageBuilder.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/memory/LiveSnapshotMemoryImageBuilder.java @@ -4,6 +4,7 @@ import org.ovirt.engine.core.bll.HibernateVmCommand; import org.ovirt.engine.core.bll.tasks.TaskHandlerCommand; import org.ovirt.engine.core.common.VdcObjectType; +import org.ovirt.engine.core.common.businessentities.StorageDomain; import org.ovirt.engine.core.common.businessentities.StoragePool; import org.ovirt.engine.core.common.businessentities.VM; import org.ovirt.engine.core.common.businessentities.VolumeFormat; @@ -22,7 +23,7 @@ private static final String CREATE_IMAGE_FOR_VM_TASK_KEY = "CREATE_IMAGE_FOR_VM_TASK_KEY"; private static final String CREATE_IMAGE_FOR_MEMORY_DUMP_TASK_KEY = "CREATE_IMAGE_FOR_MEMORY_DUMP_TASK_KEY"; - private Guid storageDomainId; + private StorageDomain storageDomain; private Guid memoryDumpImageGroupId; private Guid memoryDumpVolumeId; private Guid vmConfImageGroupId; @@ -31,11 +32,11 @@ private TaskHandlerCommand<?> enclosingCommand; private StoragePool storagePool; - public LiveSnapshotMemoryImageBuilder(VM vm, Guid storageDomainId, + public LiveSnapshotMemoryImageBuilder(VM vm, StorageDomain storageDomain, StoragePool storagePool, TaskHandlerCommand<?> enclosingCommand) { this.vm = vm; this.enclosingCommand = enclosingCommand; - this.storageDomainId = storageDomainId; + this.storageDomain = storageDomain; this.storagePool = storagePool; this.memoryDumpImageGroupId = Guid.newGuid(); this.memoryDumpVolumeId = Guid.newGuid(); @@ -57,7 +58,7 @@ VDSCommandType.CreateImage, new CreateImageVDSCommandParameters( storagePool.getId(), - storageDomainId, + storageDomain.getId(), vmConfImageGroupId, HibernateVmCommand.META_DATA_SIZE_IN_BYTES, VolumeType.Sparse, @@ -87,10 +88,10 @@ VDSCommandType.CreateImage, new CreateImageVDSCommandParameters( storagePool.getId(), - storageDomainId, + storageDomain.getId(), memoryDumpImageGroupId, vm.getTotalMemorySizeInBytes(), - HibernateVmCommand.getMemoryVolumeTypeForPool(storagePool.getStorageType()), + HibernateVmCommand.getMemoryVolumeTypeForPool(storageDomain.getStorageType()), VolumeFormat.RAW, memoryDumpVolumeId, "")); @@ -106,13 +107,13 @@ retVal.getCreationInfo(), enclosingCommand.getActionType(), VdcObjectType.Storage, - storageDomainId); + storageDomain.getId()); enclosingCommand.getTaskIdList().add(guid); } public String getVolumeStringRepresentation() { return MemoryUtils.createMemoryStateString( - storageDomainId, + storageDomain.getId(), storagePool.getId(), memoryDumpImageGroupId, memoryDumpVolumeId, diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AddLocalStorageDomainCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AddLocalStorageDomainCommand.java index 91d0688..47763b1 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AddLocalStorageDomainCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AddLocalStorageDomainCommand.java @@ -47,7 +47,7 @@ if (retVal && getStorageDomain().getStorageType() == StorageType.LOCALFS && - storagePool.getStorageType() != StorageType.LOCALFS) { + !storagePool.isLocal()) { addCanDoActionMessage(VdcBllMessages.ACTION_TYPE_FAILED_STORAGE_POOL_IS_NOT_LOCAL); retVal = false; } diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/ConnectAllHostsToLunCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/ConnectAllHostsToLunCommand.java index bdabf10..131eef2 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/ConnectAllHostsToLunCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/ConnectAllHostsToLunCommand.java @@ -10,6 +10,7 @@ import org.ovirt.engine.core.common.action.ExtendSANStorageDomainParameters; import org.ovirt.engine.core.common.action.VdcReturnValueBase; import org.ovirt.engine.core.common.businessentities.LUNs; +import org.ovirt.engine.core.common.businessentities.StorageType; import org.ovirt.engine.core.common.businessentities.VDS; import org.ovirt.engine.core.common.businessentities.VdsSpmStatus; import org.ovirt.engine.core.common.errors.VdcBLLException; @@ -100,7 +101,7 @@ for (Map.Entry<String, List<Guid>> entry : processed.entrySet()) { for (Guid vdsId : entry.getValue()) { LUNs lun = lunsMap.get(entry.getKey()); - StorageHelperDirector.getInstance().getItem(getStoragePool().getStorageType()) + StorageHelperDirector.getInstance().getItem(StorageType.ISCSI) .disconnectStorageFromLunByVdsId(getStorageDomain(), vdsId, lun); } } diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/FenceVdsManualyCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/FenceVdsManualyCommand.java index cfbdbb4..ce4873f 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/FenceVdsManualyCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/FenceVdsManualyCommand.java @@ -73,7 +73,7 @@ // check problematic vds status if (IsLegalStatus(_problematicVds.getStatus())) { if (_problematicVds.getSpmStatus() == VdsSpmStatus.SPM) { - if(getStoragePool().getStorageType() != StorageType.LOCALFS) { + if(!getStoragePool().isLocal()) { returnValue = returnValue && initializeVds(); } if (returnValue && getStoragePool().getStatus() != StoragePoolStatus.NotOperational @@ -178,7 +178,7 @@ && masterDomain.getStatus() != null && (masterDomain.getStatus() == StorageDomainStatus.Active || masterDomain.getStatus() == StorageDomainStatus.Unknown || masterDomain.getStatus() == StorageDomainStatus.InActive)) { - if (getStoragePool().getStorageType() != StorageType.LOCALFS) { + if (!getStoragePool().isLocal()) { for (VDS vds : getAllRunningVdssInPool()) { try { SpmStatusResult statusResult = (SpmStatusResult) Backend diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/RemoveStoragePoolCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/RemoveStoragePoolCommand.java index 4fb1ef8..0907702 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/RemoveStoragePoolCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/RemoveStoragePoolCommand.java @@ -199,7 +199,7 @@ }); setSucceeded(true); - if (getStoragePool().getStorageType() != StorageType.LOCALFS) { + if (!getStoragePool().isLocal()) { for (VDS vds : vdss) { StorageHelperDirector.getInstance().getItem(getStoragePool().getStorageType()) .disconnectStorageFromDomainByVdsId(masterDomain, vds.getId()); diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/StorageDomainCommandBase.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/StorageDomainCommandBase.java index ed51ebb..57a27a3 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/StorageDomainCommandBase.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/StorageDomainCommandBase.java @@ -108,7 +108,7 @@ protected boolean isNotLocalData(final boolean isInternal) { boolean returnValue = true; - if (this.getStoragePool().getStorageType() == StorageType.LOCALFS + if (this.getStoragePool().isLocal() && getStorageDomain().getStorageDomainType() == StorageDomainType.Data && !isInternal) { returnValue = false; diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/StoragePool.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/StoragePool.java index 57d1179..710f59a 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/StoragePool.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/StoragePool.java @@ -113,6 +113,13 @@ storageType = value; } + /** + * @return True is the Storage Pool is local, false if it's shared + */ + public boolean isLocal() { + return storageType == StorageType.LOCALFS; + } + public StorageFormatType getStoragePoolFormatType() { return storagePoolFormatType; } diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterGuideModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterGuideModel.java index 0d48713..a9e8ed8 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterGuideModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterGuideModel.java @@ -229,7 +229,7 @@ model.dataCenter = (StoragePool) returnValue; if (model.dataCenter == null - || model.dataCenter.getStorageType() != StorageType.LOCALFS) + || !model.dataCenter.isLocal()) { model.updateOptionsNonLocalFSData(); } @@ -280,7 +280,7 @@ public void onSuccess(Object target, Object returnValue) { dataCenter = (StoragePool) returnValue; - boolean isMultiHostDC = dataCenter.getStorageType() == StorageType.LOCALFS; + boolean isMultiHostDC = dataCenter.isLocal(); if (isMultiHostDC) { model.setMultiSelection(false); } diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterModel.java index aa1d758..f265c41 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterModel.java @@ -1330,7 +1330,7 @@ { return; } - if (selectedDataCenter.getStorageType() == StorageType.LOCALFS) + if (selectedDataCenter.isLocal()) { setIsResiliencePolicyTabAvailable(false); } diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/DataCenterGuideModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/DataCenterGuideModel.java index da06b8c..919a0ab 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/DataCenterGuideModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/DataCenterGuideModel.java @@ -537,7 +537,7 @@ { startProgress(null); - if (getEntity().getStorageType() != StorageType.LOCALFS) + if (!getEntity().isLocal()) { updateOptionsNonLocalFSData(); } @@ -1429,7 +1429,7 @@ // In case of local storage, do not show the cluster selection in host select menu as there can be only one cluster in that case //also only one host is allowed in the cluster so we should disable multi selection - boolean isMultiHostDC = getEntity().getStorageType() == StorageType.LOCALFS; + boolean isMultiHostDC = getEntity().isLocal(); if (isMultiHostDC) { model.getCluster().setIsAvailable(false); model.setMultiSelection(false); diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/DataCenterListModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/DataCenterListModel.java index 8ccce21..a4e1ac2 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/DataCenterListModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/DataCenterListModel.java @@ -855,7 +855,7 @@ } getRecoveryStorageCommand().setIsExecutionAllowed(items != null && items.size() == 1 - && !items.iterator().next().getStorageType().equals(StorageType.LOCALFS)); + && !items.iterator().next().isLocal()); // System tree dependent actions. boolean isAvailable = diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/DataCenterStorageListModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/DataCenterStorageListModel.java index db69e50..ded60aa 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/DataCenterStorageListModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/DataCenterStorageListModel.java @@ -692,7 +692,7 @@ if (getEntity() != null) { - getAttachStorageCommand().setIsExecutionAllowed(getEntity().getStorageType() != StorageType.LOCALFS); + getAttachStorageCommand().setIsExecutionAllowed(getEntity().isLocal()); } boolean isMasterPresents = false; diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/ConfigureLocalStorageModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/ConfigureLocalStorageModel.java index bed1f29..ffd974d 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/ConfigureLocalStorageModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/ConfigureLocalStorageModel.java @@ -235,7 +235,7 @@ useCurrentSettings = true; } else { - if (tempCandidate != null && tempCandidate.getStorageType() == StorageType.LOCALFS) { + if (tempCandidate != null && tempCandidate.isLocal()) { setMessage(ConstantsManager.getInstance() .getConstants() .noteLocalStorageAlreadyConfiguredForThisHostMsg() @@ -571,7 +571,7 @@ private boolean isLocalDataCenterEmpty(StoragePool dataCenter) { - if (dataCenter != null && dataCenter.getStorageType() == StorageType.LOCALFS + if (dataCenter != null && dataCenter.isLocal() && dataCenter.getStatus() == StoragePoolStatus.Uninitialized) { return true; } diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/StorageModelBehavior.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/StorageModelBehavior.java index d004a99..4a76b3a 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/StorageModelBehavior.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/StorageModelBehavior.java @@ -114,6 +114,6 @@ } protected boolean isLocalDataCenter(StoragePool dataCenter) { - return dataCenter.getStorageType() == StorageType.LOCALFS; + return dataCenter.isLocal(); } } -- To view, visit http://gerrit.ovirt.org/23072 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I4f1067fd1d299a93b9555c4714b4e85ff980a830 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Tal Nisan <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
