Search in sources :

Example 1 with DataStoreProvider

use of com.cloud.engine.subsystem.api.storage.DataStoreProvider in project cosmic by MissionCriticalCloud.

the class DataStoreProviderManagerImpl method getPrimaryDataStoreProviders.

public List<StorageProviderResponse> getPrimaryDataStoreProviders() {
    final List<StorageProviderResponse> providers = new ArrayList<>();
    for (final DataStoreProvider provider : providerMap.values()) {
        if (provider.getTypes().contains(DataStoreProviderType.PRIMARY)) {
            final StorageProviderResponse response = new StorageProviderResponse();
            response.setName(provider.getName());
            response.setType(DataStoreProvider.DataStoreProviderType.PRIMARY.toString());
            providers.add(response);
        }
    }
    return providers;
}
Also used : StorageProviderResponse(com.cloud.api.response.StorageProviderResponse) DataStoreProvider(com.cloud.engine.subsystem.api.storage.DataStoreProvider) ArrayList(java.util.ArrayList) CopyOnWriteArrayList(java.util.concurrent.CopyOnWriteArrayList)

Example 2 with DataStoreProvider

use of com.cloud.engine.subsystem.api.storage.DataStoreProvider in project cosmic by MissionCriticalCloud.

the class DataStoreProviderManagerImpl method getImageDataStoreProviders.

public List<StorageProviderResponse> getImageDataStoreProviders() {
    final List<StorageProviderResponse> providers = new ArrayList<>();
    for (final DataStoreProvider provider : providerMap.values()) {
        if (provider.getTypes().contains(DataStoreProviderType.IMAGE)) {
            final StorageProviderResponse response = new StorageProviderResponse();
            response.setName(provider.getName());
            response.setType(DataStoreProvider.DataStoreProviderType.IMAGE.toString());
            providers.add(response);
        }
    }
    return providers;
}
Also used : StorageProviderResponse(com.cloud.api.response.StorageProviderResponse) DataStoreProvider(com.cloud.engine.subsystem.api.storage.DataStoreProvider) ArrayList(java.util.ArrayList) CopyOnWriteArrayList(java.util.concurrent.CopyOnWriteArrayList)

Example 3 with DataStoreProvider

use of com.cloud.engine.subsystem.api.storage.DataStoreProvider in project cosmic by MissionCriticalCloud.

the class PrimaryDataStoreProviderManagerImpl method getPrimaryDataStore.

@Override
public PrimaryDataStore getPrimaryDataStore(final long dataStoreId) {
    final StoragePoolVO dataStoreVO = dataStoreDao.findById(dataStoreId);
    if (dataStoreVO == null) {
        throw new CloudRuntimeException("Unable to locate datastore with id " + dataStoreId);
    }
    final String providerName = dataStoreVO.getStorageProviderName();
    final DataStoreProvider provider = providerManager.getDataStoreProvider(providerName);
    final PrimaryDataStoreImpl dataStore = PrimaryDataStoreImpl.createDataStore(dataStoreVO, driverMaps.get(provider.getName()), provider);
    return dataStore;
}
Also used : CloudRuntimeException(com.cloud.utils.exception.CloudRuntimeException) PrimaryDataStoreImpl(com.cloud.storage.datastore.PrimaryDataStoreImpl) DataStoreProvider(com.cloud.engine.subsystem.api.storage.DataStoreProvider) StoragePoolVO(com.cloud.storage.datastore.db.StoragePoolVO)

Example 4 with DataStoreProvider

use of com.cloud.engine.subsystem.api.storage.DataStoreProvider in project cosmic by MissionCriticalCloud.

the class CapacityManagerImpl method getUsedBytes.

@Override
public long getUsedBytes(final StoragePoolVO pool) {
    final DataStoreProvider storeProvider = _dataStoreProviderMgr.getDataStoreProvider(pool.getStorageProviderName());
    final DataStoreDriver storeDriver = storeProvider.getDataStoreDriver();
    if (storeDriver instanceof PrimaryDataStoreDriver) {
        final PrimaryDataStoreDriver primaryStoreDriver = (PrimaryDataStoreDriver) storeDriver;
        return primaryStoreDriver.getUsedBytes(pool);
    }
    throw new CloudRuntimeException("Storage driver in CapacityManagerImpl.getUsedBytes(StoragePoolVO) is not a PrimaryDataStoreDriver.");
}
Also used : PrimaryDataStoreDriver(com.cloud.engine.subsystem.api.storage.PrimaryDataStoreDriver) CloudRuntimeException(com.cloud.utils.exception.CloudRuntimeException) DataStoreProvider(com.cloud.engine.subsystem.api.storage.DataStoreProvider) DataStoreDriver(com.cloud.engine.subsystem.api.storage.DataStoreDriver) PrimaryDataStoreDriver(com.cloud.engine.subsystem.api.storage.PrimaryDataStoreDriver)

Example 5 with DataStoreProvider

use of com.cloud.engine.subsystem.api.storage.DataStoreProvider in project cosmic by MissionCriticalCloud.

the class CapacityManagerImpl method getUsedIops.

@Override
public long getUsedIops(final StoragePoolVO pool) {
    final DataStoreProvider storeProvider = _dataStoreProviderMgr.getDataStoreProvider(pool.getStorageProviderName());
    final DataStoreDriver storeDriver = storeProvider.getDataStoreDriver();
    if (storeDriver instanceof PrimaryDataStoreDriver) {
        final PrimaryDataStoreDriver primaryStoreDriver = (PrimaryDataStoreDriver) storeDriver;
        return primaryStoreDriver.getUsedIops(pool);
    }
    throw new CloudRuntimeException("Storage driver in CapacityManagerImpl.getUsedIops(StoragePoolVO) is not a PrimaryDataStoreDriver.");
}
Also used : PrimaryDataStoreDriver(com.cloud.engine.subsystem.api.storage.PrimaryDataStoreDriver) CloudRuntimeException(com.cloud.utils.exception.CloudRuntimeException) DataStoreProvider(com.cloud.engine.subsystem.api.storage.DataStoreProvider) DataStoreDriver(com.cloud.engine.subsystem.api.storage.DataStoreDriver) PrimaryDataStoreDriver(com.cloud.engine.subsystem.api.storage.PrimaryDataStoreDriver)

Aggregations

DataStoreProvider (com.cloud.engine.subsystem.api.storage.DataStoreProvider)18 DataStoreLifeCycle (com.cloud.engine.subsystem.api.storage.DataStoreLifeCycle)10 PrimaryDataStoreLifeCycle (com.cloud.engine.subsystem.api.storage.PrimaryDataStoreLifeCycle)10 DataStore (com.cloud.engine.subsystem.api.storage.DataStore)9 CloudRuntimeException (com.cloud.utils.exception.CloudRuntimeException)9 InvalidParameterValueException (com.cloud.utils.exception.InvalidParameterValueException)9 StoragePoolVO (com.cloud.storage.datastore.db.StoragePoolVO)6 StorageUnavailableException (com.cloud.exception.StorageUnavailableException)5 HashMap (java.util.HashMap)5 ExecutionException (java.util.concurrent.ExecutionException)5 DataCenterVO (com.cloud.dc.DataCenterVO)4 PrimaryDataStoreInfo (com.cloud.engine.subsystem.api.storage.PrimaryDataStoreInfo)4 AgentUnavailableException (com.cloud.exception.AgentUnavailableException)4 ConnectionException (com.cloud.exception.ConnectionException)4 DiscoveryException (com.cloud.exception.DiscoveryException)4 InsufficientCapacityException (com.cloud.exception.InsufficientCapacityException)4 OperationTimedoutException (com.cloud.exception.OperationTimedoutException)4 PermissionDeniedException (com.cloud.exception.PermissionDeniedException)4 ResourceInUseException (com.cloud.exception.ResourceInUseException)4 ResourceUnavailableException (com.cloud.exception.ResourceUnavailableException)4