Roy Golan has uploaded a new change for review. Change subject: core: Hot plug CPU - allow over-commit in QEMU limits ......................................................................
core: Hot plug CPU - allow over-commit in QEMU limits Allow to hot plug CPUs up to QEMU limits[1] even if they over-commit the host resources. [1] http://doc.opensuse.org/products/draft/SLES/SLES-kvm_sd_draft/cha.kvm.limits.html Change-Id: Ic27aefa52543b201d018d07296de1e4983bfb863 Bug-Url: https://bugzilla.redhat.com/1097195 Signed-off-by: Roy Golan <[email protected]> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/HotSetNumberOfCpusCommand.java 1 file changed, 13 insertions(+), 3 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/61/34861/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/HotSetNumberOfCpusCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/HotSetNumberOfCpusCommand.java index 05cd9d3..ed6c623 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/HotSetNumberOfCpusCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/HotSetNumberOfCpusCommand.java @@ -7,13 +7,14 @@ import org.ovirt.engine.core.bll.quota.QuotaConsumptionParameter; import org.ovirt.engine.core.bll.quota.QuotaVdsDependent; import org.ovirt.engine.core.bll.quota.QuotaVdsGroupConsumptionParameter; -import org.ovirt.engine.core.bll.scheduling.SlaValidator; import org.ovirt.engine.core.bll.validator.LocalizedVmStatus; import org.ovirt.engine.core.common.AuditLogType; import org.ovirt.engine.core.common.FeatureSupported; import org.ovirt.engine.core.common.action.HotSetNumerOfCpusParameters; import org.ovirt.engine.core.common.action.PlugAction; import org.ovirt.engine.core.common.businessentities.VMStatus; +import org.ovirt.engine.core.common.config.Config; +import org.ovirt.engine.core.common.config.ConfigValues; import org.ovirt.engine.core.common.errors.VdcBllMessages; import org.ovirt.engine.core.common.errors.VdcFault; import org.ovirt.engine.core.common.vdscommands.VDSCommandType; @@ -52,8 +53,17 @@ canDo = failCanDoAction(VdcBllMessages.ACTION_TYPE_FAILED_VM_STATUS_ILLEGAL, LocalizedVmStatus.from(getVm().getStatus())); } - if (getParameters().getVm().getNumOfCpus() > SlaValidator.getEffectiveCpuCores(getVds())) { - canDo = failCanDoAction(VdcBllMessages.ACTION_TYPE_FAILED_VDS_VM_CPUS); + if (getParameters().getVm().getCpuPerSocket() > + Config.<Integer>getValue( + ConfigValues.MaxNumOfCpuPerSocket, + getVm().getVdsGroupCompatibilityVersion().getValue())) { + canDo = failCanDoAction(VdcBllMessages.ACTION_TYPE_FAILED_MAX_CPU_PER_SOCKET); + } + if (getParameters().getVm().getNumOfSockets() > + Config.<Integer>getValue( + ConfigValues.MaxNumOfVmSockets, + getVm().getVdsGroupCompatibilityVersion().getValue())) { + canDo = failCanDoAction(VdcBllMessages.ACTION_TYPE_FAILED_MAX_NUM_SOCKETS); } if (getParameters().getPlugAction() == PlugAction.PLUG) { if (!FeatureSupported.hotPlugCpu(getVm().getVdsGroupCompatibilityVersion(), getVm().getClusterArch())) { -- To view, visit http://gerrit.ovirt.org/34861 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ic27aefa52543b201d018d07296de1e4983bfb863 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: ovirt-engine-3.5 Gerrit-Owner: Roy Golan <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
