com.cloud.storage.Volume.getDiskOfferingId()方法的使用及代码示例

x33g5p2x  于2022-02-01 转载在 其他  
字(7.0k)|赞(0)|评价(0)|浏览(165)

本文整理了Java中com.cloud.storage.Volume.getDiskOfferingId()方法的一些代码示例,展示了Volume.getDiskOfferingId()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Volume.getDiskOfferingId()方法的具体详情如下:
包路径:com.cloud.storage.Volume
类名称:Volume
方法名:getDiskOfferingId

Volume.getDiskOfferingId介绍

暂无

代码示例

代码示例来源:origin: apache/cloudstack

private DiskOfferingVO getDiskOfferingVO(Volume volume) {
  Long diskOfferingId = volume.getDiskOfferingId();
  return _diskOfferingDao.findById(diskOfferingId);
}

代码示例来源:origin: apache/cloudstack

private void saveUsageEvent(Volume volume, Boolean displayVolume) {
  // Update only when the flag has changed  &&  only when volume in a non-destroyed state.
  if ((displayVolume != null && displayVolume != volume.isDisplayVolume()) && !isVolumeDestroyed(volume)) {
    if (displayVolume) {
      // flag turned 1 equivalent to freshly created volume
      UsageEventUtils.publishUsageEvent(EventTypes.EVENT_VOLUME_CREATE, volume.getAccountId(), volume.getDataCenterId(), volume.getId(), volume.getName(), volume.getDiskOfferingId(),
          volume.getTemplateId(), volume.getSize(), Volume.class.getName(), volume.getUuid());
    } else {
      // flag turned 0 equivalent to deleting a volume
      UsageEventUtils.publishUsageEvent(EventTypes.EVENT_VOLUME_DELETE, volume.getAccountId(), volume.getDataCenterId(), volume.getId(), volume.getName(), Volume.class.getName(),
          volume.getUuid());
    }
  }
}

代码示例来源:origin: apache/cloudstack

/**
 * We use {@link StoragePoolAllocator} objects to find storage pools connected to the targetHost where we would be able to allocate the given volume.
 */
protected List<StoragePool> getCandidateStoragePoolsToMigrateLocalVolume(VirtualMachineProfile profile, Host targetHost, Volume volume) {
  List<StoragePool> poolList = new ArrayList<>();
  DiskOfferingVO diskOffering = _diskOfferingDao.findById(volume.getDiskOfferingId());
  DiskProfile diskProfile = new DiskProfile(volume, diskOffering, profile.getHypervisorType());
  DataCenterDeployment plan = new DataCenterDeployment(targetHost.getDataCenterId(), targetHost.getPodId(), targetHost.getClusterId(), targetHost.getId(), null, null);
  ExcludeList avoid = new ExcludeList();
  StoragePoolVO volumeStoragePool = _storagePoolDao.findById(volume.getPoolId());
  if (volumeStoragePool.isLocal()) {
    diskProfile.setUseLocalStorage(true);
  }
  for (StoragePoolAllocator allocator : _storagePoolAllocators) {
    List<StoragePool> poolListFromAllocator = allocator.allocateToPool(diskProfile, profile, plan, avoid, StoragePoolAllocator.RETURN_UPTO_ALL);
    if (CollectionUtils.isEmpty(poolListFromAllocator)) {
      continue;
    }
    for (StoragePool pool : poolListFromAllocator) {
      if (pool.isLocal() || isStorageCrossClusterMigration(targetHost, volumeStoragePool)) {
        poolList.add(pool);
      }
    }
  }
  return poolList;
}

代码示例来源:origin: apache/cloudstack

private void checkDestinationForTags(StoragePool destPool, VMInstanceVO vm) {
  List<VolumeVO> vols = _volsDao.findUsableVolumesForInstance(vm.getId());
  // OfflineVmwareMigration: iterate over volumes
  // OfflineVmwareMigration: get disk offering
  List<String> storageTags = storageMgr.getStoragePoolTagList(destPool.getId());
  for(Volume vol : vols) {
    DiskOfferingVO diskOffering = _diskOfferingDao.findById(vol.getDiskOfferingId());
    List<String> volumeTags = StringUtils.csvTagsToList(diskOffering.getTags());
    if(! matches(volumeTags, storageTags)) {
      String msg = String.format("destination pool '%s' with tags '%s', does not support the volume diskoffering for volume '%s' (tags: '%s') ",
          destPool.getName(),
          StringUtils.listToCsvTags(storageTags),
          vol.getName(),
          StringUtils.listToCsvTags(volumeTags)
      );
      throw new CloudRuntimeException(msg);
    }
  }
}

代码示例来源:origin: apache/cloudstack

Pair<Pod, Long> pod = null;
DiskOffering diskOffering = _entityMgr.findById(DiskOffering.class, volume.getDiskOfferingId());
DataCenter dc = _entityMgr.findById(DataCenter.class, volume.getDataCenterId());
DiskProfile dskCh = new DiskProfile(volume, diskOffering, snapshot.getHypervisorType());

代码示例来源:origin: apache/cloudstack

@Override
public boolean postStateTransitionEvent(StateMachine2.Transition<State, Event> transition, Volume vol, boolean status, Object opaque) {
 pubishOnEventBus(transition.getEvent().name(), "postStateTransitionEvent", vol, transition.getCurrentState(), transition.getToState());
 if(transition.isImpacted(StateMachine2.Transition.Impact.USAGE)) {
  Long instanceId = vol.getInstanceId();
  VMInstanceVO vmInstanceVO = null;
  if(instanceId != null) {
   vmInstanceVO = _vmInstanceDao.findById(instanceId);
  }
  if(instanceId == null || vmInstanceVO.getType() == VirtualMachine.Type.User) {
   if (transition.getToState() == State.Ready) {
    if (transition.getCurrentState() == State.Resizing) {
     // Log usage event for volumes belonging user VM's only
     UsageEventUtils.publishUsageEvent(EventTypes.EVENT_VOLUME_RESIZE, vol.getAccountId(), vol.getDataCenterId(), vol.getId(), vol.getName(),
         vol.getDiskOfferingId(), vol.getTemplateId(), vol.getSize(), Volume.class.getName(), vol.getUuid());
    } else {
     UsageEventUtils.publishUsageEvent(EventTypes.EVENT_VOLUME_CREATE, vol.getAccountId(), vol.getDataCenterId(), vol.getId(), vol.getName(), vol.getDiskOfferingId(), null, vol.getSize(),
         Volume.class.getName(), vol.getUuid(), vol.isDisplayVolume());
    }
   } else if (transition.getToState() == State.Destroy && vol.getVolumeType() != Volume.Type.ROOT) { //Do not Publish Usage Event for ROOT Disk as it would have been published already while destroying a VM
    UsageEventUtils.publishUsageEvent(EventTypes.EVENT_VOLUME_DELETE, vol.getAccountId(), vol.getDataCenterId(), vol.getId(), vol.getName(),
        Volume.class.getName(), vol.getUuid(), vol.isDisplayVolume());
   } else if (transition.getToState() == State.Uploaded) {
    //Currently we are not capturing Usage for Secondary Storage so Usage for this operation will be captured when it is moved to primary storage
   }
  }
 }
 return true;
}

代码示例来源:origin: apache/cloudstack

maxIops = that.getMaxIops();
_iScsiName = that.get_iScsiName();
diskOfferingId = that.getDiskOfferingId();
poolId = that.getPoolId();
attached = that.getAttached();

代码示例来源:origin: apache/cloudstack

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);
}

代码示例来源:origin: apache/cloudstack

_resourceLimitMgr.incrementResourceCount(newVol.getAccountId(), ResourceType.primary_storage, newVol.isDisplay(), new Long(newVol.getSize()));
UsageEventVO usageEvent = new UsageEventVO(EventTypes.EVENT_VOLUME_CREATE, newVol.getAccountId(), newVol.getDataCenterId(), newVol.getId(), newVol.getName(), newVol.getDiskOfferingId(), template.getId(), newVol.getSize());
_usageEventDao.persist(usageEvent);

代码示例来源:origin: apache/cloudstack

DiskTO disk = storageMgr.getDiskWithThrottling(volTO, vol.getVolumeType(), vol.getDeviceId(), vol.getPath(), vm.getServiceOfferingId(), vol.getDiskOfferingId());
DataStore dataStore = dataStoreMgr.getDataStore(vol.getPoolId(), DataStoreRole.Primary);

相关文章