Lior Vernia has uploaded a new change for review. Change subject: engine: NetworkQoS validation in Add/Update Network ......................................................................
engine: NetworkQoS validation in Add/Update Network Added QoS-related validation in AddNetworkCommand and UpdateNetworkCommand, to make sure that the QoS entity attached to the network exists in the network's DC. Change-Id: I70ecf50f5f786544cc4a68286ef9850c2b525026 Signed-off-by: Lior Vernia <[email protected]> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/dc/AddNetworkCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/dc/UpdateNetworkCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/validator/NetworkValidator.java 3 files changed, 12 insertions(+), 0 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/02/22602/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/dc/AddNetworkCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/dc/AddNetworkCommand.java index 7b0286b..9883664 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/dc/AddNetworkCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/dc/AddNetworkCommand.java @@ -58,6 +58,7 @@ && validate(validator.networkPrefixValid()) && validate(validator.networkNameNotUsed()) && validate(validator.vlanIdNotUsed()) + && validate(validator.qosExistsInDc()) && (!getNetwork().isExternal() || externalNetworkValid(validator)); } diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/dc/UpdateNetworkCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/dc/UpdateNetworkCommand.java index 0ae2b94..ce5c335 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/dc/UpdateNetworkCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/dc/UpdateNetworkCommand.java @@ -76,6 +76,7 @@ && validate(validatorNew.mtuValid()) && validate(validatorNew.networkPrefixValid()) && validate(validatorNew.vlanIdNotUsed()) + && validate(validatorNew.qosExistsInDc()) && validate(validatorOld.networkIsSet()) && validate(validatorOld.notRenamingManagementNetwork(getNetwork())) && validate(validatorNew.networkNameNotUsed()) diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/validator/NetworkValidator.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/validator/NetworkValidator.java index 0706ab8..9a9776c 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/validator/NetworkValidator.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/validator/NetworkValidator.java @@ -175,4 +175,14 @@ return networkNotUsed(getDbFacade().getVmTemplateDao().getAllForNetwork(network.getId()), VdcBllMessages.VAR__ENTITIES__VM_TEMPLATES); } + + /** + * @return An error iff the QoS entity attached to the network isn't null, but doesn't exist in the database or + * belongs to the wrong DC. + */ + public ValidationResult qosExistsInDc() { + NetworkQosValidator qosValidator = new NetworkQosValidator(network.getQos()); + ValidationResult res = qosValidator.qosExists(); + return (res == ValidationResult.VALID) ? qosValidator.consistentDataCenter() : res; + } } -- To view, visit http://gerrit.ovirt.org/22602 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I70ecf50f5f786544cc4a68286ef9850c2b525026 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Lior Vernia <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
