@Override protected Volume retrieve() { return _volsDao.findById(_volumeId); } }
@Override public VolumeInfo getVolume(long id) { VolumeVO volumeVO = volumeDao.findById(id); VolumeObject vol = VolumeObject.getVolumeObject(this, volumeVO); return vol; }
@Override public boolean isDisplayResourceEnabled(Long id) { Volume volume = _volsDao.findById(id); if (volume == null) { return true; // bad id given, default to true } return volume.isDisplayVolume(); }
@Override public String getVmNameFromVolumeId(long volumeId) { VolumeVO volume = _volsDao.findById(volumeId); return getVmNameOnVolume(volume); }
@Override public VolumeInfo getVolume(long volumeId, DataStore store) { VolumeVO volumeVO = volumeDao.findById(volumeId); VolumeObject vol = VolumeObject.getVolumeObject(store, volumeVO); return vol; }
private void performBasicDeleteByFolder(SolidFireUtil.SolidFireConnection sfConnection, long volumeId) { VolumeVO volumeVO = volumeDao.findById(volumeId); Preconditions.checkNotNull(volumeVO, "'volumeVO' should not be 'null'."); String folder = volumeVO.getFolder(); Preconditions.checkNotNull(folder, "'folder' should not be 'null'."); long sfVolumeId = Long.parseLong(folder); SolidFireUtil.deleteVolume(sfConnection, sfVolumeId); }
public static boolean volumeIsOnSharedStorage(long volumeId) { // Check that the volume is valid VolumeVO volume = s_volumeDao.findById(volumeId); if (volume == null) { throw new InvalidParameterValueException("Please specify a valid volume ID."); } return s_volumeMgr.volumeOnSharedStoragePool(volume); }
private void updateVolumePath(long volumeId, String path) { VolumeVO volumeVO = _volumeDao.findById(volumeId); volumeVO.setPath(path); _volumeDao.update(volumeId, volumeVO); }
private List<VolumeVO> getVolumesFromIds(DestroyVMCmd cmd) { List<VolumeVO> volumes = new ArrayList<>(); if (cmd.getVolumeIds() != null) { for (Long volId : cmd.getVolumeIds()) { VolumeVO vol = _volsDao.findById(volId); if (vol == null) { throw new InvalidParameterValueException("Unable to find volume with ID: " + volId); } volumes.add(vol); } } return volumes; }
public void update() { volumeDao.update(volumeVO.getId(), volumeVO); volumeVO = volumeDao.findById(volumeVO.getId()); }
@Override public String getStoragePoolOfVolume(long volumeId) { VolumeVO vol = _volsDao.findById(volumeId); return dataStoreMgr.getPrimaryDataStore(vol.getPoolId()).getUuid(); }
@Override public StrategyPriority canHandle(Snapshot snapshot, SnapshotOperation op) { if (SnapshotOperation.REVERT.equals(op)) { long volumeId = snapshot.getVolumeId(); VolumeVO volumeVO = volumeDao.findById(volumeId); if (volumeVO != null && ImageFormat.QCOW2.equals(volumeVO.getFormat())) { return StrategyPriority.DEFAULT; } return StrategyPriority.CANT_HANDLE; } return StrategyPriority.DEFAULT; }
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; } }
private void cleanupVolumeDuringSnapshotFailure(Long volumeId, Long snapshotId) { _snapshotSrv.cleanupVolumeDuringSnapshotFailure(volumeId, snapshotId); VolumeVO volume = _volsDao.findById(volumeId); if (volume.getState() == Volume.State.Snapshotting) { s_logger.debug("change volume state back to Ready: " + volume.getId()); volume.setState(Volume.State.Ready); _volsDao.update(volume.getId(), volume); } }
private void setCertainVolumeValuesNull(long volumeId) { VolumeVO volumeVO = _volumeDao.findById(volumeId); volumeVO.set_iScsiName(null); volumeVO.setMinIops(null); volumeVO.setMaxIops(null); volumeVO.setHypervisorSnapshotReserve(null); _volumeDao.update(volumeId, volumeVO); }
private void updateVolumePath(List<VolumeObjectTO> volumeTOs) { for (VolumeObjectTO volume : volumeTOs) { if (volume.getPath() != null) { VolumeVO volumeVO = volumeDao.findById(volume.getId()); volumeVO.setPath(volume.getPath()); volumeVO.setVmSnapshotChainSize(volume.getSize()); volumeDao.persist(volumeVO); } } }
private void cleanupVolumeDuringAttachFailure(Long volumeId, Long vmId) { VolumeVO volume = _volsDao.findById(volumeId); if (volume == null) { return; } if (volume.getState().equals(Volume.State.Creating)) { s_logger.debug("Remove volume: " + volume.getId() + ", as it's leftover from last mgt server stop"); _volsDao.remove(volume.getId()); } if (volume.getState().equals(Volume.State.Attaching)) { s_logger.warn("Vol: " + volume.getName() + " failed to attach to VM: " + _userVmDao.findById(vmId).getHostName() + " on last mgt server stop, changing state back to Ready"); volume.setState(Volume.State.Ready); _volsDao.update(volumeId, volume); } }
private void publishUsageEvent(String type, VMSnapshot vmSnapshot, UserVm userVm, VolumeObjectTO volumeTo) { VolumeVO volume = volumeDao.findById(volumeTo.getId()); Long diskOfferingId = volume.getDiskOfferingId(); Long offeringId = null; if (diskOfferingId != null) { DiskOfferingVO offering = diskOfferingDao.findById(diskOfferingId); if (offering != null && (offering.getType() == DiskOfferingVO.Type.Disk)) { offeringId = offering.getId(); } } UsageEventUtils.publishUsageEvent(type, vmSnapshot.getAccountId(), userVm.getDataCenterId(), userVm.getId(), vmSnapshot.getName(), offeringId, volume.getId(), // save volume's id into templateId field volumeTo.getSize(), VMSnapshot.class.getName(), vmSnapshot.getUuid()); }
@ReflectionUse private Pair<JobInfo.Status, String> orchestrateMigrateVolume(VmWorkMigrateVolume work) throws Exception { VolumeVO volume = _volsDao.findById(work.getVolumeId()); StoragePoolVO targetStoragePool = _storagePoolDao.findById(work.getDestPoolId()); DiskOfferingVO newDiskOffering = _diskOfferingDao.findById(work.getNewDiskOfferingId()); Volume newVol = orchestrateMigrateVolume(volume, targetStoragePool, work.isLiveMigrate(), newDiskOffering); return new Pair<JobInfo.Status, String>(JobInfo.Status.SUCCEEDED, _jobMgr.marshallResultObject(newVol.getId())); }
private void handleSuccessfulVolumeMigration(VolumeInfo srcVolumeInfo, StoragePool destPool, MigrateVolumeAnswer migrateVolumeAnswer) { VolumeVO volumeVO = _volumeDao.findById(srcVolumeInfo.getId()); volumeVO.setPath(migrateVolumeAnswer.getVolumePath()); String chainInfo = migrateVolumeAnswer.getVolumeChainInfo(); if (chainInfo != null) { volumeVO.setChainInfo(chainInfo); } volumeVO.setPodId(destPool.getPodId()); volumeVO.setPoolId(destPool.getId()); volumeVO.setLastPoolId(srcVolumeInfo.getPoolId()); _volumeDao.update(srcVolumeInfo.getId(), volumeVO); }