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

Reply via email to