当前位置: 首页>>代码示例>>Java>>正文


Java ServiceOffering.getUseLocalStorage方法代码示例

本文整理汇总了Java中com.cloud.offering.ServiceOffering.getUseLocalStorage方法的典型用法代码示例。如果您正苦于以下问题:Java ServiceOffering.getUseLocalStorage方法的具体用法?Java ServiceOffering.getUseLocalStorage怎么用?Java ServiceOffering.getUseLocalStorage使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在com.cloud.offering.ServiceOffering的用法示例。


在下文中一共展示了ServiceOffering.getUseLocalStorage方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: checkIfCanUpgrade

import com.cloud.offering.ServiceOffering; //导入方法依赖的package包/类
@Override
public void checkIfCanUpgrade(final VirtualMachine vmInstance, final ServiceOffering newServiceOffering) {
    if (newServiceOffering == null) {
        throw new InvalidParameterValueException("Invalid parameter, newServiceOffering can't be null");
    }

    // Check that the VM is stopped / running
    if (!(vmInstance.getState().equals(State.Stopped) || vmInstance.getState().equals(State.Running))) {
        s_logger.warn("Unable to upgrade virtual machine " + vmInstance.toString() + " in state " + vmInstance.getState());
        throw new InvalidParameterValueException("Unable to upgrade virtual machine " + vmInstance.toString() + " " + " in state " + vmInstance.getState() +
                "; make sure the virtual machine is stopped/running");
    }

    // Check if the service offering being upgraded to is what the VM is already running with
    if (vmInstance.getServiceOfferingId() == newServiceOffering.getId()) {
        if (s_logger.isInfoEnabled()) {
            s_logger.info("Not upgrading vm " + vmInstance.toString() + " since it already has the requested " + "service offering (" + newServiceOffering.getName() +
                    ")");
        }

        throw new InvalidParameterValueException("Not upgrading vm " + vmInstance.toString() + " since it already " + "has the requested service offering (" +
                newServiceOffering.getName() + ")");
    }

    final ServiceOfferingVO currentServiceOffering = _offeringDao.findByIdIncludingRemoved(vmInstance.getId(), vmInstance.getServiceOfferingId());

    // Check that the service offering being upgraded to has the same storage pool preference as the VM's current service
    // offering
    if (currentServiceOffering.getUseLocalStorage() != newServiceOffering.getUseLocalStorage()) {
        throw new InvalidParameterValueException("Unable to upgrade virtual machine " + vmInstance.toString() +
                ", cannot switch between local storage and shared storage service offerings.  Current offering " + "useLocalStorage=" +
                currentServiceOffering.getUseLocalStorage() + ", target offering useLocalStorage=" + newServiceOffering.getUseLocalStorage());
    }

    // if vm is a system vm, check if it is a system service offering, if yes return with error as it cannot be used for user vms
    if (currentServiceOffering.getSystemUse() != newServiceOffering.getSystemUse()) {
        throw new InvalidParameterValueException("isSystem property is different for current service offering and new service offering");
    }

    // Check that there are enough resources to upgrade the service offering
    if (!isVirtualMachineUpgradable(vmInstance, newServiceOffering)) {
        throw new InvalidParameterValueException("Unable to upgrade virtual machine, not enough resources available " + "for an offering of " +
                newServiceOffering.getCpu() + " cpu(s) at " + newServiceOffering.getSpeed() + " Mhz, and " + newServiceOffering.getRamSize() + " MB of memory");
    }
}
 
开发者ID:MissionCriticalCloud,项目名称:cosmic,代码行数:46,代码来源:VirtualMachineManagerImpl.java

示例2: upgradeRouter

import com.cloud.offering.ServiceOffering; //导入方法依赖的package包/类
@Override
@DB
public VirtualRouter upgradeRouter(final UpgradeRouterCmd cmd) {
    final Long routerId = cmd.getId();
    final Long serviceOfferingId = cmd.getServiceOfferingId();
    final Account caller = CallContext.current().getCallingAccount();

    final DomainRouterVO router = _routerDao.findById(routerId);
    if (router == null) {
        throw new InvalidParameterValueException("Unable to find router with id " + routerId);
    }

    _accountMgr.checkAccess(caller, null, true, router);

    if (router.getServiceOfferingId() == serviceOfferingId) {
        s_logger.debug("Router: " + routerId + "already has service offering: " + serviceOfferingId);
        return _routerDao.findById(routerId);
    }

    final ServiceOffering newServiceOffering = _entityMgr.findById(ServiceOffering.class, serviceOfferingId);
    if (newServiceOffering == null) {
        throw new InvalidParameterValueException("Unable to find service offering with id " + serviceOfferingId);
    }

    // check if it is a system service offering, if yes return with error as
    // it cannot be used for user vms
    if (!newServiceOffering.getSystemUse()) {
        throw new InvalidParameterValueException("Cannot upgrade router vm to a non system service offering " + serviceOfferingId);
    }

    // Check that the router is stopped
    if (!router.getState().equals(VirtualMachine.State.Stopped)) {
        s_logger.warn("Unable to upgrade router " + router.toString() + " in state " + router.getState());
        throw new InvalidParameterValueException("Unable to upgrade router " + router.toString() + " in state " + router.getState()
                + "; make sure the router is stopped and not in an error state before upgrading.");
    }

    final ServiceOfferingVO currentServiceOffering = _serviceOfferingDao.findById(router.getServiceOfferingId());

    // Check that the service offering being upgraded to has the same
    // storage pool preference as the VM's current service
    // offering
    if (currentServiceOffering.getUseLocalStorage() != newServiceOffering.getUseLocalStorage()) {
        throw new InvalidParameterValueException("Can't upgrade, due to new local storage status : " + newServiceOffering.getUseLocalStorage() + " is different from "
                + "curruent local storage status: " + currentServiceOffering.getUseLocalStorage());
    }

    router.setServiceOfferingId(serviceOfferingId);
    if (_routerDao.update(routerId, router)) {
        return _routerDao.findById(routerId);
    } else {
        throw new CloudRuntimeException("Unable to upgrade router " + routerId);
    }
}
 
开发者ID:MissionCriticalCloud,项目名称:cosmic,代码行数:55,代码来源:VirtualNetworkApplianceManagerImpl.java

示例3: checkIfCanUpgrade

import com.cloud.offering.ServiceOffering; //导入方法依赖的package包/类
@Override
public void checkIfCanUpgrade(final VirtualMachine vmInstance, final ServiceOffering newServiceOffering) {
    if (newServiceOffering == null) {
        throw new InvalidParameterValueException("Invalid parameter, newServiceOffering can't be null");
    }

    // Check that the VM is stopped / running
    if (!(vmInstance.getState().equals(State.Stopped) || vmInstance.getState().equals(State.Running))) {
        s_logger.warn("Unable to upgrade virtual machine " + vmInstance.toString() + " in state " + vmInstance.getState());
        throw new InvalidParameterValueException("Unable to upgrade virtual machine " + vmInstance.toString() + " " + " in state " + vmInstance.getState() +
                "; make sure the virtual machine is stopped/running");
    }

    // Check if the service offering being upgraded to is what the VM is already running with
    if (!newServiceOffering.isDynamic() && vmInstance.getServiceOfferingId() == newServiceOffering.getId()) {
        if (s_logger.isInfoEnabled()) {
            s_logger.info("Not upgrading vm " + vmInstance.toString() + " since it already has the requested " + "service offering (" + newServiceOffering.getName() +
                    ")");
        }

        throw new InvalidParameterValueException("Not upgrading vm " + vmInstance.toString() + " since it already " + "has the requested service offering (" +
                newServiceOffering.getName() + ")");
    }

    final ServiceOfferingVO currentServiceOffering = _offeringDao.findByIdIncludingRemoved(vmInstance.getId(), vmInstance.getServiceOfferingId());

    // Check that the service offering being upgraded to has the same Guest IP type as the VM's current service offering
    // NOTE: With the new network refactoring in 2.2, we shouldn't need the check for same guest IP type anymore.
    /*
     * if (!currentServiceOffering.getGuestIpType().equals(newServiceOffering.getGuestIpType())) { String errorMsg =
     * "The service offering being upgraded to has a guest IP type: " + newServiceOffering.getGuestIpType(); errorMsg +=
     * ". Please select a service offering with the same guest IP type as the VM's current service offering (" +
     * currentServiceOffering.getGuestIpType() + ")."; throw new InvalidParameterValueException(errorMsg); }
     */

    // Check that the service offering being upgraded to has the same storage pool preference as the VM's current service
    // offering
    if (currentServiceOffering.getUseLocalStorage() != newServiceOffering.getUseLocalStorage()) {
        throw new InvalidParameterValueException("Unable to upgrade virtual machine " + vmInstance.toString() +
                ", cannot switch between local storage and shared storage service offerings.  Current offering " + "useLocalStorage=" +
                currentServiceOffering.getUseLocalStorage() + ", target offering useLocalStorage=" + newServiceOffering.getUseLocalStorage());
    }

    // if vm is a system vm, check if it is a system service offering, if yes return with error as it cannot be used for user vms
    if (currentServiceOffering.getSystemUse() != newServiceOffering.getSystemUse()) {
        throw new InvalidParameterValueException("isSystem property is different for current service offering and new service offering");
    }

    // Check that there are enough resources to upgrade the service offering
    if (!isVirtualMachineUpgradable(vmInstance, newServiceOffering)) {
        throw new InvalidParameterValueException("Unable to upgrade virtual machine, not enough resources available " + "for an offering of " +
                newServiceOffering.getCpu() + " cpu(s) at " + newServiceOffering.getSpeed() + " Mhz, and " + newServiceOffering.getRamSize() + " MB of memory");
    }

    // Check that the service offering being upgraded to has all the tags of the current service offering.
    final List<String> currentTags = StringUtils.csvTagsToList(currentServiceOffering.getTags());
    final List<String> newTags = StringUtils.csvTagsToList(newServiceOffering.getTags());
    if (!newTags.containsAll(currentTags)) {
        throw new InvalidParameterValueException("Unable to upgrade virtual machine; the current service offering " + " should have tags as subset of " +
                "the new service offering tags. Current service offering tags: " + currentTags + "; " + "new service " + "offering tags: " + newTags);
    }
}
 
开发者ID:apache,项目名称:cloudstack,代码行数:63,代码来源:VirtualMachineManagerImpl.java

示例4: upgradeRouter

import com.cloud.offering.ServiceOffering; //导入方法依赖的package包/类
@Override
@DB
public VirtualRouter upgradeRouter(final UpgradeRouterCmd cmd) {
    final Long routerId = cmd.getId();
    final Long serviceOfferingId = cmd.getServiceOfferingId();
    final Account caller = CallContext.current().getCallingAccount();

    final DomainRouterVO router = _routerDao.findById(routerId);
    if (router == null) {
        throw new InvalidParameterValueException("Unable to find router with id " + routerId);
    }

    _accountMgr.checkAccess(caller, null, true, router);

    if (router.getServiceOfferingId() == serviceOfferingId) {
        s_logger.debug("Router: " + routerId + "already has service offering: " + serviceOfferingId);
        return _routerDao.findById(routerId);
    }

    final ServiceOffering newServiceOffering = _entityMgr.findById(ServiceOffering.class, serviceOfferingId);
    if (newServiceOffering == null) {
        throw new InvalidParameterValueException("Unable to find service offering with id " + serviceOfferingId);
    }

    // check if it is a system service offering, if yes return with error as
    // it cannot be used for user vms
    if (!newServiceOffering.getSystemUse()) {
        throw new InvalidParameterValueException("Cannot upgrade router vm to a non system service offering " + serviceOfferingId);
    }

    // Check that the router is stopped
    if (!router.getState().equals(VirtualMachine.State.Stopped)) {
        s_logger.warn("Unable to upgrade router " + router.toString() + " in state " + router.getState());
        throw new InvalidParameterValueException("Unable to upgrade router " + router.toString() + " in state " + router.getState()
                + "; make sure the router is stopped and not in an error state before upgrading.");
    }

    final ServiceOfferingVO currentServiceOffering = _serviceOfferingDao.findById(router.getServiceOfferingId());

    // Check that the service offering being upgraded to has the same
    // storage pool preference as the VM's current service
    // offering
    if (currentServiceOffering.getUseLocalStorage() != newServiceOffering.getUseLocalStorage()) {
        throw new InvalidParameterValueException("Can't upgrade, due to new local storage status : " + newServiceOffering.getUseLocalStorage() + " is different from "
                + "curruent local storage status: " + currentServiceOffering.getUseLocalStorage());
    }

    router.setServiceOfferingId(serviceOfferingId);
    if (_routerDao.update(routerId, router)) {
        return _routerDao.findById(routerId);
    } else {
        throw new CloudRuntimeException("Unable to upgrade router " + routerId);
    }

}
 
开发者ID:apache,项目名称:cloudstack,代码行数:56,代码来源:VirtualNetworkApplianceManagerImpl.java


注:本文中的com.cloud.offering.ServiceOffering.getUseLocalStorage方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。