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

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

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

Volume.isDisplayVolume介绍

暂无

代码示例

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

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

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

private void updateResourceCount(Volume volume, Boolean displayVolume) {
  // Update only when the flag has changed.
  if (displayVolume != null && displayVolume != volume.isDisplayVolume()) {
    _resourceLimitMgr.changeResourceCount(volume.getAccountId(), ResourceType.volume, displayVolume);
    _resourceLimitMgr.changeResourceCount(volume.getAccountId(), ResourceType.primary_storage, displayVolume, new Long(volume.getSize()));
  }
}

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

@Override
public void updateDisplay(Volume volume, Boolean displayVolume) {
  // 1. Resource limit changes
  updateResourceCount(volume, displayVolume);
  // 2. generate usage event if not in destroyed state
  saveUsageEvent(volume, displayVolume);
  // 3. Set the flag
  if (displayVolume != null && displayVolume != volume.isDisplayVolume()) {
    // FIXME - Confused - typecast for now.
    ((VolumeVO)volume).setDisplayVolume(displayVolume);
    _volsDao.update(volume.getId(), (VolumeVO)volume);
  }
}

代码示例来源: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

@Override
public void destroyVolume(Volume volume) {
  try {
    // Mark volume as removed if volume has not been created on primary
    if (volume.getState() == Volume.State.Allocated) {
      _volsDao.remove(volume.getId());
      stateTransitTo(volume, Volume.Event.DestroyRequested);
    } else {
      volService.destroyVolume(volume.getId());
    }
    // FIXME - All this is boiler plate code and should be done as part of state transition. This shouldn't be part of orchestrator.
    // publish usage event for the volume
    UsageEventUtils.publishUsageEvent(EventTypes.EVENT_VOLUME_DELETE, volume.getAccountId(), volume.getDataCenterId(), volume.getId(), volume.getName(), Volume.class.getName(),
        volume.getUuid(), volume.isDisplayVolume());
    _resourceLimitMgr.decrementResourceCount(volume.getAccountId(), ResourceType.volume, volume.isDisplay());
    _resourceLimitMgr.decrementResourceCount(volume.getAccountId(), ResourceType.primary_storage, volume.isDisplay(), new Long(volume.getSize()));
  } catch (Exception e) {
    s_logger.debug("Failed to destroy volume" + volume.getId(), e);
    throw new CloudRuntimeException("Failed to destroy volume" + volume.getId(), e);
  }
}

代码示例来源: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;
}

相关文章