You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cloudstack.apache.org by "Paul Angus (JIRA)" <ji...@apache.org> on 2017/11/24 14:04:00 UTC
[jira] [Closed] (CLOUDSTACK-5806) Storage types other than NFS/VMFS
can't overprovision
[ https://issues.apache.org/jira/browse/CLOUDSTACK-5806?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Paul Angus closed CLOUDSTACK-5806.
----------------------------------
Resolution: Fixed
Fix Version/s: (was: 4.4.0)
4.9.3.0
PR #1958 Merged 13th March 2017
> Storage types other than NFS/VMFS can't overprovision
> -----------------------------------------------------
>
> Key: CLOUDSTACK-5806
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-5806
> Project: CloudStack
> Issue Type: Bug
> Security Level: Public(Anyone can view this level - this is the default.)
> Components: Management Server
> Affects Versions: 4.2.0, 4.3.0, Future
> Reporter: Marcus Sorensen
> Assignee: edison su
> Priority: Critical
> Fix For: 4.9.3.0
>
>
> Edison, Mike, or myself can probably fix this. Mgmt server hardcodes storage types that can overprovision. Need to fix this.
> Edison suggests:
> We can move it to storage driver's capabilities method.
> Each storage driver can report its capabilities in DataStoreDriver-> getCapabilities(), which returns a map[String, String], we can change the signature to map[String, Object]
> In CloudStackPrimaryDataStoreDriverImpl(the default storage driver)-> getCapabilities, which can return something like:
> Var comparator = new storageOverProvision() {
> Public Boolean isOverProvisionSupported(DataStore store) {
> Var storagepool = (PrimaryDataStoreInfo)store;
> If (store.getPoolType() == NFS or VMFS) {
> Return true;
> }
> };
> };
> Var caps = new HashMap[String, Object]();
> Caps.put("storageOverProvision", comparator);
> Return caps;
> }
> Whenever, other places in mgt server want to check the capabilities of overprovision, we can do the following:
> Var primaryStore = DataStoreManager. getPrimaryDataStore(primaryStoreId);
> var caps = primaryStore. getDriver().getCapabilities();
> var overprovision = caps.get("storageOverProvision");
> var result = overprovision. isOverProvisionSupported(primaryStore);
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)