private boolean storageSystemSupportsCapability(long storagePoolId, String capability) { boolean supportsCapability = false; DataStore dataStore = dataStoreMgr.getDataStore(storagePoolId, DataStoreRole.Primary); Map<String, String> mapCapabilities = dataStore.getDriver().getCapabilities(); if (mapCapabilities != null) { String value = mapCapabilities.get(capability); supportsCapability = Boolean.valueOf(value); } return supportsCapability; }
private boolean storageSystemSupportsCapability(long storagePoolId, String capability) { boolean supportsCapability = false; DataStore dataStore = dataStoreMgr.getDataStore(storagePoolId, DataStoreRole.Primary); Map<String, String> mapCapabilities = dataStore.getDriver().getCapabilities(); if (mapCapabilities != null) { String value = mapCapabilities.get(capability); supportsCapability = Boolean.valueOf(value); } return supportsCapability; }
@Override public List<SnapshotInfo> listSnapshotOnCache(long snapshotId) { List<SnapshotDataStoreVO> cacheSnapshots = snapshotStoreDao.listOnCache(snapshotId); List<SnapshotInfo> snapObjs = new ArrayList<SnapshotInfo>(); for (SnapshotDataStoreVO cacheSnap : cacheSnapshots) { long storeId = cacheSnap.getDataStoreId(); DataStore store = storeMgr.getDataStore(storeId, DataStoreRole.ImageCache); SnapshotInfo tmplObj = getSnapshot(snapshotId, store); snapObjs.add(tmplObj); } return snapObjs; }
@Override public DataStore getImageStore(long zoneId, long tmpltId) { TemplateDataStoreVO tmpltStore = _tmplStoreDao.findByTemplateZoneDownloadStatus(tmpltId, zoneId, VMTemplateStorageResourceAssoc.Status.DOWNLOADED); if (tmpltStore != null) { return _dataStoreMgr.getDataStore(tmpltStore.getDataStoreId(), DataStoreRole.Image); } return null; }
private DataStore pickDataStoreFromVolumes(List<VolumeVO> volumes) { DataStore dataStore = null; for (Volume vol : volumes) { if (doesVolumeStateCheckout(vol)) { dataStore = _dataStoreMgr.getDataStore(vol.getPoolId(), DataStoreRole.Primary); if (dataStore != null) { return dataStore; } } } return dataStore; }
@Override public DataStore getImageStore(long tmpltId) { TemplateDataStoreVO tmpltStore = _tmplStoreDao.findReadyByTemplate(tmpltId, DataStoreRole.Image); if (tmpltStore != null) { return _dataStoreMgr.getDataStore(tmpltStore.getDataStoreId(), DataStoreRole.Image); } return null; }
private void handleKVM(long hostId, long storagePoolId) { StoragePool storagePool = (StoragePool)dataStoreMgr.getDataStore(storagePoolId, DataStoreRole.Primary); ModifyStoragePoolCommand cmd = new ModifyStoragePoolCommand(true, storagePool); sendModifyStoragePoolCommand(cmd, storagePool, hostId); }
@Override public List<TemplateInfo> listTemplateOnCache(long templateId) { List<TemplateDataStoreVO> cacheTmpls = templateStoreDao.listOnCache(templateId); List<TemplateInfo> tmplObjs = new ArrayList<TemplateInfo>(); for (TemplateDataStoreVO cacheTmpl : cacheTmpls) { long storeId = cacheTmpl.getDataStoreId(); DataStore store = storeMgr.getDataStore(storeId, DataStoreRole.ImageCache); TemplateInfo tmplObj = getTemplate(templateId, store); tmplObjs.add(tmplObj); } return tmplObjs; }
@Override public TemplateInfo getTemplate(long templateId, DataStoreRole storeRole, Long zoneId) { TemplateDataStoreVO tmplStore = templateStoreDao.findByTemplateZone(templateId, zoneId, storeRole); DataStore store = null; if (tmplStore != null) { store = storeMgr.getDataStore(tmplStore.getDataStoreId(), storeRole); } return this.getTemplate(templateId, store); }
@Override public TemplateInfo getReadyTemplateOnCache(long templateId) { TemplateDataStoreVO tmplStore = templateStoreDao.findReadyOnCache(templateId); if (tmplStore != null) { DataStore store = storeMgr.getDataStore(tmplStore.getDataStoreId(), DataStoreRole.ImageCache); return getTemplate(templateId, store); } else { return null; } }
@Override public SnapshotInfo getReadySnapshotOnCache(long snapshotId) { SnapshotDataStoreVO snapStore = snapshotStoreDao.findReadyOnCache(snapshotId); if (snapStore != null) { DataStore store = storeMgr.getDataStore(snapStore.getDataStoreId(), DataStoreRole.ImageCache); return getSnapshot(snapshotId, store); } else { return null; } }
@Override public TemplateInfo getReadyTemplateOnImageStore(long templateId, Long zoneId) { TemplateDataStoreVO tmplStore = templateStoreDao.findByTemplateZoneReady(templateId, zoneId); if (tmplStore != null) { DataStore store = storeMgr.getDataStore(tmplStore.getDataStoreId(), DataStoreRole.Image); return this.getTemplate(templateId, store); } else { return null; } }
private void handleXenServer(long clusterId, long hostId, long storagePoolId) { List<String> storagePaths = getStoragePaths(clusterId, storagePoolId); StoragePool storagePool = (StoragePool)dataStoreMgr.getDataStore(storagePoolId, DataStoreRole.Primary); for (String storagePath : storagePaths) { ModifyStoragePoolCommand cmd = new ModifyStoragePoolCommand(true, storagePool); cmd.setStoragePath(storagePath); sendModifyStoragePoolCommand(cmd, storagePool, hostId); } }
@Override public void connectHostToSharedPool(long hostId, long poolId) throws StorageUnavailableException, StorageConflictException { StoragePool pool = (StoragePool)_dataStoreMgr.getDataStore(poolId, DataStoreRole.Primary); assert (pool.isShared()) : "Now, did you actually read the name of this method?"; s_logger.debug("Adding pool " + pool.getName() + " to host " + hostId); DataStoreProvider provider = _dataStoreProviderMgr.getDataStoreProvider(pool.getStorageProviderName()); HypervisorHostListener listener = hostListeners.get(provider.getName()); listener.hostConnect(hostId, pool.getId()); }
protected List<DataStore> getCacheStores() { QueryBuilder<ImageStoreVO> sc = QueryBuilder.create(ImageStoreVO.class); sc.and(sc.entity().getRole(), SearchCriteria.Op.EQ, DataStoreRole.ImageCache); List<ImageStoreVO> imageStoreVOs = sc.list(); List<DataStore> stores = new ArrayList<DataStore>(); for (ImageStoreVO vo : imageStoreVOs) { stores.add(dataStoreManager.getDataStore(vo.getId(), vo.getRole())); } return stores; }
@Override public String getSecondaryStorageURL(SnapshotVO snapshot) { SnapshotDataStoreVO snapshotStore = _snapshotStoreDao.findBySnapshot(snapshot.getId(), DataStoreRole.Image); if (snapshotStore != null) { DataStore store = dataStoreMgr.getDataStore(snapshotStore.getDataStoreId(), DataStoreRole.Image); if (store != null) { return store.getUri(); } } throw new CloudRuntimeException("Can not find secondary storage hosting the snapshot"); }
public DataStore attachZone(DataStore store) { StoragePoolVO pool = this.dataStoreDao.findById(store.getId()); pool.setScope(ScopeType.ZONE); pool.setStatus(StoragePoolStatus.Up); this.dataStoreDao.update(pool.getId(), pool); return dataStoreMgr.getDataStore(store.getId(), DataStoreRole.Primary); }
public DataStore attachZone(DataStore store, HypervisorType hypervisor) { StoragePoolVO pool = this.dataStoreDao.findById(store.getId()); pool.setScope(ScopeType.ZONE); pool.setHypervisor(hypervisor); pool.setStatus(StoragePoolStatus.Up); this.dataStoreDao.update(pool.getId(), pool); return dataStoreMgr.getDataStore(store.getId(), DataStoreRole.Primary); }
public DataStore attachCluster(DataStore store) { StoragePoolVO pool = this.dataStoreDao.findById(store.getId()); storageMgr.createCapacityEntry(pool.getId()); pool.setScope(ScopeType.CLUSTER); pool.setStatus(StoragePoolStatus.Up); this.dataStoreDao.update(pool.getId(), pool); return dataStoreMgr.getDataStore(store.getId(), DataStoreRole.Primary); }
@ActionEvent(eventType = EventTypes.EVENT_ENABLE_PRIMARY_STORAGE, eventDescription = "enable storage pool") private void enablePrimaryStoragePool(StoragePoolVO primaryStorage) { if (!primaryStorage.getStatus().equals(StoragePoolStatus.Disabled)) { throw new InvalidParameterValueException("Primary storage with id " + primaryStorage.getId() + " cannot be enabled. Storage pool state : " + primaryStorage.getStatus().toString()); } DataStoreProvider provider = _dataStoreProviderMgr.getDataStoreProvider(primaryStorage.getStorageProviderName()); DataStoreLifeCycle dataStoreLifeCycle = provider.getDataStoreLifeCycle(); DataStore store = _dataStoreMgr.getDataStore(primaryStorage.getId(), DataStoreRole.Primary); ((PrimaryDataStoreLifeCycle)dataStoreLifeCycle).enableStoragePool(store); }