private boolean canVolumeBeRemoved(long volumeId) { VolumeVO vol = volDao.findById(volumeId); if (vol == null) { // already removed from volumes table return false; } VolumeDataStoreVO volumeStore = _volumeStoreDao.findByVolume(volumeId); if ((vol.getState() == State.Expunged || (vol.getPodId() == null && vol.getState() == State.Destroy)) && volumeStore == null) { // volume is expunged from primary, as well as on secondary return true; } else { return false; } }
@Override public DataStore findStore(long objId, DataObjectType type, DataStoreRole role) { DataStore store = null; if (role == DataStoreRole.Image) { DataObjectInStore vo = null; switch (type) { case TEMPLATE: vo = templateDataStoreDao.findByTemplate(objId, role); break; case SNAPSHOT: vo = snapshotDataStoreDao.findBySnapshot(objId, role); break; case VOLUME: vo = volumeDataStoreDao.findByVolume(objId); break; } if (vo != null) { store = this.storeMgr.getDataStore(vo.getDataStoreId(), role); } } return store; }
@Override public VolumeInfo getVolume(long volumeId, DataStoreRole storeRole) { VolumeVO volumeVO = volumeDao.findById(volumeId); VolumeObject vol = null; if (storeRole == DataStoreRole.Image) { VolumeDataStoreVO volumeStore = volumeStoreDao.findByVolume(volumeId); if (volumeStore != null) { DataStore store = storeMgr.getDataStore(volumeStore.getDataStoreId(), DataStoreRole.Image); vol = VolumeObject.getVolumeObject(store, volumeVO); } } else { // Primary data store if (volumeVO.getPoolId() != null) { DataStore store = storeMgr.getDataStore(volumeVO.getPoolId(), DataStoreRole.Primary); vol = VolumeObject.getVolumeObject(store, volumeVO); } } return vol; }
@Override public VolumeInfo getVolume(long volumeId) { VolumeVO volumeVO = volumeDao.findByIdIncludingRemoved(volumeId); if (volumeVO == null) { return null; } VolumeObject vol = null; if (volumeVO.getPoolId() == null) { DataStore store = null; VolumeDataStoreVO volumeStore = volumeStoreDao.findByVolume(volumeId); if (volumeStore != null) { store = storeMgr.getDataStore(volumeStore.getDataStoreId(), DataStoreRole.Image); } vol = VolumeObject.getVolumeObject(store, volumeVO); } else { DataStore store = storeMgr.getDataStore(volumeVO.getPoolId(), DataStoreRole.Primary); vol = VolumeObject.getVolumeObject(store, volumeVO); } return vol; }
VolumeDataStoreVO volumeStore = _volumeStoreDao.findByVolume(volume.getId()); if (volumeStore != null) { if (volumeStore.getDownloadState() == VMTemplateStorageResourceAssoc.Status.DOWNLOAD_IN_PROGRESS) {
VolumeDataStoreVO volumeStoreRef = _volumeStoreDao.findByVolume(volumeId);
VolumeDataStoreVO volumeStore = _volumeStoreDao.findByVolume(volume.getId()); if (volumeStore.getDownloadState() == VMTemplateStorageResourceAssoc.Status.DOWNLOAD_IN_PROGRESS) { throw new InvalidParameterValueException("Please specify a volume that is not uploading");
VolumeDataStoreVO volumeStore = _volumeStoreDao.findByVolume(vol.getId()); assert (volumeStore != null) : "sincle volume is registered, volumestore cannot be null at this stage"; volumeStore.setExtractUrl(url);
VolumeDataStoreVO volumeStoreRef = _volumeStoreDao.findByVolume(volumeId); if (volumeStoreRef != null && volumeStoreRef.getExtractUrl() != null) { return volumeStoreRef.getExtractUrl();