@Override public void attachVolume(long volumeId, long vmId, long deviceId) { VolumeVO volume = createForUpdate(volumeId); volume.setInstanceId(vmId); volume.setDeviceId(deviceId); volume.setUpdated(new Date()); volume.setAttached(new Date()); if (deviceId == 0L) { volume.setVolumeType(Type.ROOT); } update(volumeId, volume); }
@Override public void detachVolume(long volumeId) { VolumeVO volume = createForUpdate(volumeId); volume.setInstanceId(null); volume.setDeviceId(null); volume.setUpdated(new Date()); volume.setAttached(null); if (findById(volumeId).getVolumeType() == Type.ROOT) { volume.setVolumeType(Type.DATADISK); } update(volumeId, volume); }
vol.setDeviceId(deviceId); } else if (type.equals(Type.ROOT)) { vol.setDeviceId(0l); } else { vol.setDeviceId(1l);
vol.setDeviceId(0l); if (!vm.getType().equals(VirtualMachine.Type.User)) { vol.setRecreatable(true); vol.setDeviceId(1l);
public VolumeVO allocateDuplicateVolumeVO(Volume oldVol, Long templateId) { VolumeVO newVol = new VolumeVO(oldVol.getVolumeType(), oldVol.getName(), oldVol.getDataCenterId(), oldVol.getDomainId(), oldVol.getAccountId(), oldVol.getDiskOfferingId(), oldVol.getProvisioningType(), oldVol.getSize(), oldVol.getMinIops(), oldVol.getMaxIops(), oldVol.get_iScsiName()); if (templateId != null) { newVol.setTemplateId(templateId); } else { newVol.setTemplateId(oldVol.getTemplateId()); } newVol.setDeviceId(oldVol.getDeviceId()); newVol.setInstanceId(oldVol.getInstanceId()); newVol.setRecreatable(oldVol.isRecreatable()); newVol.setFormat(oldVol.getFormat()); return _volsDao.persist(newVol); }