Marcus Sorensen created CLOUDSTACK-5806:
-------------------------------------------

             Summary: 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, Future, 4.3.0
            Reporter: Marcus Sorensen
            Priority: Critical
             Fix For: Future, 4.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.1.5#6160)

Reply via email to