Gilad Chaplik has uploaded a new change for review. Change subject: core: Add crud commands and queries for Cpu Qos ......................................................................
core: Add crud commands and queries for Cpu Qos Adding commands to hanle the new Cpu Qos With multiple paragraphs if necessary. Using qos infra to handle queries. Change-Id: I101b1325e89e68f548bfcf83fe7e0033b88419e6 Bug-Url: https://bugzilla.redhat.com/1084930 Signed-off-by: Gilad Chaplik <gchap...@redhat.com> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/QosQueryBase.java A backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/qos/AddCpuQosCommand.java A backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/qos/RemoveCpuQosCommand.java A backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/qos/UpdateCpuQosCommand.java A backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/validator/CpuQosValidator.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/VdcActionType.java 6 files changed, 107 insertions(+), 1 deletion(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/21/31821/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/QosQueryBase.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/QosQueryBase.java index 0b91480..2a96dc0 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/QosQueryBase.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/QosQueryBase.java @@ -22,7 +22,9 @@ case STORAGE: qosDao = getDbFacade().getStorageQosDao(); break; - + case CPU: + qosDao = getDbFacade().getCpuQosDao(); + break; default: log.debugFormat("Not handled QoS type: {0}", qosType); break; diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/qos/AddCpuQosCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/qos/AddCpuQosCommand.java new file mode 100644 index 0000000..52ffccb --- /dev/null +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/qos/AddCpuQosCommand.java @@ -0,0 +1,25 @@ +package org.ovirt.engine.core.bll.qos; + +import org.ovirt.engine.core.bll.validator.CpuQosValidator; +import org.ovirt.engine.core.bll.validator.QosValidator; +import org.ovirt.engine.core.common.action.QosParametersBase; +import org.ovirt.engine.core.common.businessentities.qos.CpuQos; +import org.ovirt.engine.core.dao.qos.QosDao; + +public class AddCpuQosCommand extends AddQosCommand<CpuQos, QosValidator<CpuQos>> { + + public AddCpuQosCommand(QosParametersBase<CpuQos> parameters) { + super(parameters); + } + + @Override + protected QosDao<CpuQos> getQosDao() { + return getDbFacade().getCpuQosDao(); + } + + @Override + protected QosValidator<CpuQos> getQosValidator(CpuQos qos) { + return new CpuQosValidator(qos); + } + +} diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/qos/RemoveCpuQosCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/qos/RemoveCpuQosCommand.java new file mode 100644 index 0000000..edd94fe --- /dev/null +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/qos/RemoveCpuQosCommand.java @@ -0,0 +1,25 @@ +package org.ovirt.engine.core.bll.qos; + +import org.ovirt.engine.core.bll.validator.CpuQosValidator; +import org.ovirt.engine.core.bll.validator.QosValidator; +import org.ovirt.engine.core.common.action.QosParametersBase; +import org.ovirt.engine.core.common.businessentities.qos.CpuQos; +import org.ovirt.engine.core.dao.qos.QosDao; + +public class RemoveCpuQosCommand extends RemoveQosCommandBase<CpuQos, QosValidator<CpuQos>> { + + public RemoveCpuQosCommand(QosParametersBase<CpuQos> parameters) { + super(parameters); + } + + @Override + protected QosDao<CpuQos> getQosDao() { + return getDbFacade().getCpuQosDao(); + } + + @Override + protected QosValidator<CpuQos> getQosValidator(CpuQos qos) { + return new CpuQosValidator(qos); + } + +} diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/qos/UpdateCpuQosCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/qos/UpdateCpuQosCommand.java new file mode 100644 index 0000000..7049157 --- /dev/null +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/qos/UpdateCpuQosCommand.java @@ -0,0 +1,24 @@ +package org.ovirt.engine.core.bll.qos; + +import org.ovirt.engine.core.bll.validator.CpuQosValidator; +import org.ovirt.engine.core.bll.validator.QosValidator; +import org.ovirt.engine.core.common.action.QosParametersBase; +import org.ovirt.engine.core.common.businessentities.qos.CpuQos; +import org.ovirt.engine.core.dao.qos.QosDao; + +public class UpdateCpuQosCommand extends UpdateQosCommandBase<CpuQos, QosValidator<CpuQos>> { + + public UpdateCpuQosCommand(QosParametersBase<CpuQos> parameters) { + super(parameters); + } + + @Override + protected QosDao<CpuQos> getQosDao() { + return getDbFacade().getCpuQosDao(); + } + + @Override + protected QosValidator<CpuQos> getQosValidator(CpuQos qos) { + return new CpuQosValidator(qos); + } +} diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/validator/CpuQosValidator.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/validator/CpuQosValidator.java new file mode 100644 index 0000000..c0c788c --- /dev/null +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/validator/CpuQosValidator.java @@ -0,0 +1,27 @@ +package org.ovirt.engine.core.bll.validator; + +import org.ovirt.engine.core.bll.ValidationResult; +import org.ovirt.engine.core.common.businessentities.qos.CpuQos; +import org.ovirt.engine.core.common.errors.VdcBllMessages; +import org.ovirt.engine.core.dal.dbbroker.DbFacade; +import org.ovirt.engine.core.dao.qos.QosDao; + +public class CpuQosValidator extends QosValidator<CpuQos> { + + public CpuQosValidator(CpuQos qos) { + super(qos); + } + + @Override + protected QosDao<CpuQos> getQosDao() { + return DbFacade.getInstance().getCpuQosDao(); + } + + @Override + public ValidationResult allValuesPresent() { + if (getQos().getCpuLimit() == null) { + return new ValidationResult(VdcBllMessages.ACTION_TYPE_FAILED_QOS_MISSING_VALUES); + } + return ValidationResult.VALID; + } +} diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/VdcActionType.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/VdcActionType.java index 5f03344..b19fa6f 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/VdcActionType.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/VdcActionType.java @@ -332,6 +332,9 @@ AddStorageQos(1753, ActionGroup.EDIT_STORAGE_POOL_CONFIGURATION, false, QuotaDependency.NONE), UpdateStorageQos(1754, ActionGroup.EDIT_STORAGE_POOL_CONFIGURATION, false, QuotaDependency.NONE), RemoveStorageQos(1755, ActionGroup.EDIT_STORAGE_POOL_CONFIGURATION, false, QuotaDependency.NONE), + AddCpuQos(1756, ActionGroup.EDIT_STORAGE_POOL_CONFIGURATION, false, QuotaDependency.NONE), + UpdateCpuQos(1757, ActionGroup.EDIT_STORAGE_POOL_CONFIGURATION, false, QuotaDependency.NONE), + RemoveCpuQos(1758, ActionGroup.EDIT_STORAGE_POOL_CONFIGURATION, false, QuotaDependency.NONE), // disk profiles AddDiskProfile(1760, ActionGroup.CREATE_STORAGE_DISK_PROFILE, false, QuotaDependency.NONE), UpdateDiskProfile(1761, ActionGroup.CONFIGURE_STORAGE_DISK_PROFILE, false, QuotaDependency.NONE), -- To view, visit http://gerrit.ovirt.org/31821 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I101b1325e89e68f548bfcf83fe7e0033b88419e6 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: ovirt-engine-3.5 Gerrit-Owner: Gilad Chaplik <gchap...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches