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

Reply via email to