Repository: cloudstack
Updated Branches:
  refs/heads/4.4-forward 92fea032d -> 45f0c7367


CLOUDSTACK-6935 refactor StoragePoolAllocator#filter logic

to support IOPS capacity control in a cluster wide storage pool and a
local storage pool
to enable hypervisor type check, storage type check for root volume and
avoid list check

Since original commit(31de58edab563eb1cb50c5c06437fdd3efc6a3d2) contained
a bug, it was reverted and this commit is a revised one.


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/45f0c736
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/45f0c736
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/45f0c736

Branch: refs/heads/4.4-forward
Commit: 45f0c7367680f4bfbcee470139b708d69322be78
Parents: 92fea03
Author: ynojima <m...@ynojima.net>
Authored: Wed Jun 18 13:11:55 2014 -0600
Committer: ynojima <m...@ynojima.net>
Committed: Wed Jun 18 13:56:25 2014 -0600

----------------------------------------------------------------------
 .../storage/allocator/AbstractStoragePoolAllocator.java     | 2 +-
 .../storage/allocator/ZoneWideStoragePoolAllocator.java     | 9 ---------
 2 files changed, 1 insertion(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/45f0c736/engine/storage/src/org/apache/cloudstack/storage/allocator/AbstractStoragePoolAllocator.java
----------------------------------------------------------------------
diff --git 
a/engine/storage/src/org/apache/cloudstack/storage/allocator/AbstractStoragePoolAllocator.java
 
b/engine/storage/src/org/apache/cloudstack/storage/allocator/AbstractStoragePoolAllocator.java
index ddbb5a4..2d958a6 100755
--- 
a/engine/storage/src/org/apache/cloudstack/storage/allocator/AbstractStoragePoolAllocator.java
+++ 
b/engine/storage/src/org/apache/cloudstack/storage/allocator/AbstractStoragePoolAllocator.java
@@ -183,6 +183,6 @@ public abstract class AbstractStoragePoolAllocator extends 
AdapterBase implement
         Volume volume = _volumeDao.findById(dskCh.getVolumeId());
         List<Volume> requestVolumes = new ArrayList<Volume>();
         requestVolumes.add(volume);
-        return storageMgr.storagePoolHasEnoughSpace(requestVolumes, pool);
+        return storageMgr.storagePoolHasEnoughIops(requestVolumes, pool) && 
storageMgr.storagePoolHasEnoughSpace(requestVolumes, pool);
     }
 }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/45f0c736/engine/storage/src/org/apache/cloudstack/storage/allocator/ZoneWideStoragePoolAllocator.java
----------------------------------------------------------------------
diff --git 
a/engine/storage/src/org/apache/cloudstack/storage/allocator/ZoneWideStoragePoolAllocator.java
 
b/engine/storage/src/org/apache/cloudstack/storage/allocator/ZoneWideStoragePoolAllocator.java
index 8fb9c8d..f9abfde 100644
--- 
a/engine/storage/src/org/apache/cloudstack/storage/allocator/ZoneWideStoragePoolAllocator.java
+++ 
b/engine/storage/src/org/apache/cloudstack/storage/allocator/ZoneWideStoragePoolAllocator.java
@@ -34,7 +34,6 @@ import com.cloud.deploy.DeploymentPlan;
 import com.cloud.deploy.DeploymentPlanner.ExcludeList;
 import com.cloud.hypervisor.Hypervisor.HypervisorType;
 import com.cloud.storage.StoragePool;
-import com.cloud.storage.Volume;
 import com.cloud.user.Account;
 import com.cloud.vm.DiskProfile;
 import com.cloud.vm.VirtualMachineProfile;
@@ -47,14 +46,6 @@ public class ZoneWideStoragePoolAllocator extends 
AbstractStoragePoolAllocator {
     @Inject
     DataStoreManager dataStoreMgr;
 
-    @Override
-    protected boolean filter(ExcludeList avoid, StoragePool pool, DiskProfile 
dskCh, DeploymentPlan plan) {
-        Volume volume = _volumeDao.findById(dskCh.getVolumeId());
-        List<Volume> requestVolumes = new ArrayList<Volume>();
-        requestVolumes.add(volume);
-
-        return storageMgr.storagePoolHasEnoughIops(requestVolumes, pool) && 
storageMgr.storagePoolHasEnoughSpace(requestVolumes, pool);
-    }
 
     @Override
     protected List<StoragePool> select(DiskProfile dskCh, 
VirtualMachineProfile vmProfile, DeploymentPlan plan, ExcludeList avoid, int 
returnUpTo) {

Reply via email to