Moti Asayag has uploaded a new change for review.

Change subject: engine: Validate MTU support in CDA (#854496)
......................................................................

engine: Validate MTU support in CDA (#854496)

https://bugzilla.redhat.com/854496

The patch adds a can-do-action validation to verify MTU is being
overridden only in supported DC compatibility version.

Change-Id: Iafe07da82009fcb8d433ea6cb94d150bf2796c26
Signed-off-by: Moti Asayag <masa...@redhat.com>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AddNetworkCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/NetworkCommon.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/UpdateNetworkCommand.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/VdcBllMessages.java
M backend/manager/modules/dal/src/main/resources/bundles/AppErrors.properties
M 
frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/AppErrors.java
M 
frontend/webadmin/modules/userportal-gwtp/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors.properties
M 
frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors.properties
8 files changed, 30 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/13/7813/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AddNetworkCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AddNetworkCommand.java
index 16ba33e..9172228 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AddNetworkCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AddNetworkCommand.java
@@ -38,6 +38,10 @@
             return false;
         }
 
+        if (!validateMTUOverrideSupport()) {
+            return false;
+        }
+
         // check that network name not start with 'bond'
         if 
(getParameters().getNetwork().getname().toLowerCase().startsWith("bond")) {
             
addCanDoActionMessage(VdcBllMessages.NETWORK_CANNOT_CONTAIN_BOND_NAME);
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/NetworkCommon.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/NetworkCommon.java
index 6b5a8e9..f5d4650 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/NetworkCommon.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/NetworkCommon.java
@@ -29,7 +29,7 @@
         boolean retVal = true;
 
         if (!getParameters().getNetwork().isVmNetwork()) {
-            Version version = 
getStoragePoolDAO().get(getParameters().getStoragePoolId()).getcompatibility_version();
+            Version version = getStoragePool().getcompatibility_version();
             retVal = Config.<Boolean> 
GetValue(ConfigValues.NonVmNetworkSupported, version.getValue());
             if (!retVal) {
                 
addCanDoActionMessage(VdcBllMessages.NON_VM_NETWORK_NOT_SUPPORTED_FOR_POOL_LEVEL);
@@ -47,4 +47,18 @@
         }
         return stpIsAllowed;
     }
+
+    protected boolean validateMTUOverrideSupport() {
+        boolean mtuSupported = true;
+
+        if (getParameters().getNetwork().getMtu() != 0) {
+            mtuSupported =
+                    Config.<Boolean> 
GetValue(ConfigValues.MTUOverrideSupported,
+                            
getStoragePool().getcompatibility_version().getValue());
+            if (!mtuSupported) {
+                
addCanDoActionMessage(VdcBllMessages.NETWORK_MTU_OVERRIDE_NOT_SUPPORTED);
+            }
+        }
+        return mtuSupported;
+    }
 }
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/UpdateNetworkCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/UpdateNetworkCommand.java
index bd3d9e2..9a0d747 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/UpdateNetworkCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/UpdateNetworkCommand.java
@@ -53,6 +53,10 @@
             return false;
         }
 
+        if (!validateMTUOverrideSupport()) {
+            return false;
+        }
+
         // check that network name not start with 'bond'
         if 
(getParameters().getNetwork().getname().toLowerCase().startsWith("bond")) {
             
addCanDoActionMessage(VdcBllMessages.NETWORK_CANNOT_CONTAIN_BOND_NAME);
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/VdcBllMessages.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/VdcBllMessages.java
index c1259ba..212bee3 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/VdcBllMessages.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/VdcBllMessages.java
@@ -404,6 +404,7 @@
     NETWORK_CANNOT_DETACH_NETWORK_USED_BY_VMS,
     NON_VM_NETWORK_CANNOT_SUPPORT_STP,
     NETWORK_MTU_DIFFERENCES,
+    NETWORK_MTU_OVERRIDE_NOT_SUPPORTED,
     ACTION_TYPE_FAILED_STORAGE_DOMAIN_NOT_IN_STORAGE_POOL,
     ACTION_TYPE_FAILED_STORAGE_POOL_NOT_EXIST,
     ACTION_TYPE_FAILED_STORAGE_DOMAIN_NOT_EXIST,
diff --git 
a/backend/manager/modules/dal/src/main/resources/bundles/AppErrors.properties 
b/backend/manager/modules/dal/src/main/resources/bundles/AppErrors.properties
index 93f88db..a8ca8a5 100644
--- 
a/backend/manager/modules/dal/src/main/resources/bundles/AppErrors.properties
+++ 
b/backend/manager/modules/dal/src/main/resources/bundles/AppErrors.properties
@@ -434,6 +434,7 @@
 NETWORK_CANNOT_DETACH_NETWORK_USED_BY_VMS=Cannot ${action} ${type}. The 
following VMs are actively using the Logical Network: 
${NETWORK_CANNOT_DETACH_NETWORK_USED_BY_VMS_LIST}. Please stop the VMs and try 
again.
 NON_VM_NETWORK_CANNOT_SUPPORT_STP=Cannot ${action} ${type}. STP can only be 
enabled on VM Networks.
 NETWORK_MTU_DIFFERENCES=Cannot ${action} ${type}. The following Logical 
Networks don't have the same MTU value: ${NETWORK_MTU_DIFFERENCES_LIST}.
+NETWORK_MTU_OVERRIDE_NOT_SUPPORTED=Cannot ${action} ${type}. Overriding MTU is 
not supported for this Data Center compatibility version.
 CANNOT_PREIEW_CURRENT_IMAGE=The currently used VM Snapshot Image cannot be 
used in Preview command.
 CONFIG_UNKNOWN_KEY=Illegal configuration entry.\n\
        -Please check configuration entry name.
diff --git 
a/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/AppErrors.java
 
b/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/AppErrors.java
index 34faf57..89fec19 100644
--- 
a/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/AppErrors.java
+++ 
b/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/AppErrors.java
@@ -1141,6 +1141,9 @@
     @DefaultStringValue("Cannot ${action} ${type}. The following Logical 
Networks don't have the same MTU value: ${NETWORK_MTU_DIFFERENCES_LIST}.")
     String NETWORK_MTU_DIFFERENCES();
 
+    @DefaultStringValue("Cannot ${action} ${type}. Overriding MTU is not 
supported for this Data Center compatibility version.")
+    String NETWORK_MTU_OVERRIDE_NOT_SUPPORTED();
+
     @DefaultStringValue("The currently used VM Snapshot Image cannot be used 
in Preview command.")
     String CANNOT_PREIEW_CURRENT_IMAGE();
 
diff --git 
a/frontend/webadmin/modules/userportal-gwtp/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors.properties
 
b/frontend/webadmin/modules/userportal-gwtp/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors.properties
index 8391f66..68aa052 100644
--- 
a/frontend/webadmin/modules/userportal-gwtp/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors.properties
+++ 
b/frontend/webadmin/modules/userportal-gwtp/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors.properties
@@ -432,6 +432,7 @@
 NETWORK_CANNOT_DETACH_NETWORK_USED_BY_VMS=Cannot ${action} ${type}. The 
following VMs are actively using the Logical Network: 
${NETWORK_CANNOT_DETACH_NETWORK_USED_BY_VMS_LIST}. Please stop the VMs and try 
again.
 NON_VM_NETWORK_CANNOT_SUPPORT_STP=Cannot ${action} ${type}. STP can only be 
enabled on VM Networks.
 NETWORK_MTU_DIFFERENCES=Cannot ${action} ${type}. The following Logical 
Networks don't have the same MTU value: ${NETWORK_MTU_DIFFERENCES_LIST}.
+NETWORK_MTU_OVERRIDE_NOT_SUPPORTED=Cannot ${action} ${type}. Overriding MTU is 
not supported for this Data Center compatibility version.
 CANNOT_PREIEW_CURRENT_IMAGE=The currently used VM Snapshot Image cannot be 
used in Preview command.
 CONFIG_UNKNOWN_KEY=Illegal configuration entry.\n\
        -Please check configuration entry name.
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors.properties
 
b/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors.properties
index a9a33f0..126f49d 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors.properties
+++ 
b/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors.properties
@@ -430,6 +430,7 @@
 NETWORK_CANNOT_DETACH_NETWORK_USED_BY_VMS=Cannot ${action} ${type}. The 
following VMs are actively using the Logical Network: 
${NETWORK_CANNOT_DETACH_NETWORK_USED_BY_VMS_LIST}. Please stop the VMs and try 
again.
 NON_VM_NETWORK_CANNOT_SUPPORT_STP=Cannot ${action} ${type}. STP can only be 
enabled on VM Networks.
 NETWORK_MTU_DIFFERENCES=Cannot ${action} ${type}. The following Logical 
Networks don't have the same MTU value: ${NETWORK_MTU_DIFFERENCES_LIST}.
+NETWORK_MTU_OVERRIDE_NOT_SUPPORTED=Cannot ${action} ${type}. Overriding MTU is 
not supported for this Data Center compatibility version.
 CANNOT_PREIEW_CURRENT_IMAGE=The currently used VM Snapshot Image cannot be 
used in Preview command.
 CONFIG_UNKNOWN_KEY=Illegal configuration entry.\n\
        -Please check configuration entry name.


--
To view, visit http://gerrit.ovirt.org/7813
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Iafe07da82009fcb8d433ea6cb94d150bf2796c26
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Moti Asayag <masa...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to