>Why ZoneWideStoragePoolAllocator implements "filter" method (and doesn't call >that of base class) rather than just using that of base class? >ZoneWideStoragePoolAllocator#filter method seems doesn't care "avoid" >parameter, doesn't skip iSCSI type storage pool even if a volume is a RootDisk.
The first question seems like a bug to me. I am not sure about the IOPS Prachi -----Original Message----- From: ynoj...@ynojima.net [mailto:ynoj...@ynojima.net] On Behalf Of Yoshikazu Nojima Sent: Tuesday, June 17, 2014 1:07 PM To: dev@cloudstack.apache.org Subject: ZoneWideStoragePoolAllocator#filter seems weird for me Hi, ZoneWideStoragePoolAllocator#filter seems weird for me. ZoneWideStoragePoolAllocator and ClusterScopeStoragePoolAllocator are allocator classes to select storage pool. They extends AbstractStoragePoolAllocator class, which provides "filter" method to exclude unavailable storage pools. Why ZoneWideStoragePoolAllocator implements "filter" method (and doesn't call that of base class) rather than just using that of base class? ZoneWideStoragePoolAllocator#filter method seems doesn't care "avoid" parameter, doesn't skip iSCSI type storage pool even if a volume is a RootDisk. (These functions are implemented in AbstractStoragePoolAllocator#filter method, which used by ClusterScopeStoragePoolAllocator.) On the other hand, AbstractStoragePoolAllocator#filter doesn't call storageMgr.storagePoolHasEnoughIops, so a cluster wide primary storage would be allocated more volumes than its designated IOPS capacity. Is there any difference between a zone wide primary storage and a cluster wide primary storage except its scope? If it is a bug, I'll fix it. Regards, Noji