Lior Vernia has uploaded a new change for review.

Change subject: core: Added validation for bond name format
......................................................................

core: Added validation for bond name format

Added enforcement for bond names of the form "^bond\d*$", the format
assumed and used by VDSM. This is to enable adding new bonds from the
engine.

Change-Id: Id4ea20997c03c35c1f47d9ab12a49a39dd9c778a
Signed-off-by: Lior Vernia <[email protected]>
---
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/AddBondParameters.java
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/UpdateNetworkToVdsParameters.java
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/BusinessEntitiesDefinitions.java
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/network/Bond.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
9 files changed, 33 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/80/13480/1

diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/AddBondParameters.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/AddBondParameters.java
index 38c2210..c657853 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/AddBondParameters.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/AddBondParameters.java
@@ -2,7 +2,9 @@
 
 import javax.validation.Valid;
 import javax.validation.constraints.Pattern;
+import javax.validation.constraints.Size;
 
+import 
org.ovirt.engine.core.common.businessentities.BusinessEntitiesDefinitions;
 import org.ovirt.engine.core.common.businessentities.network.Network;
 import 
org.ovirt.engine.core.common.businessentities.network.NetworkBootProtocol;
 import org.ovirt.engine.core.common.utils.ValidationUtils;
@@ -29,6 +31,13 @@
     private String bondingOptions;
     private NetworkBootProtocol privateBootProtocol = NetworkBootProtocol.NONE;
 
+    @Override
+    @Size(min = 1, max = BusinessEntitiesDefinitions.HOST_NIC_NAME_LENGTH)
+    @Pattern(regexp = BusinessEntitiesDefinitions.BOND_NAME_PATTERN, message = 
"NETWORK_BOND_NAME_BAD_FORMAT")
+    public String getBondName() {
+        return super.getBondName();
+    }
+
     public AddBondParameters() {
     }
 
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/UpdateNetworkToVdsParameters.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/UpdateNetworkToVdsParameters.java
index 97dfc6b..cde972e 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/UpdateNetworkToVdsParameters.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/UpdateNetworkToVdsParameters.java
@@ -3,7 +3,10 @@
 import java.util.ArrayList;
 
 import javax.validation.Valid;
+import javax.validation.constraints.Pattern;
+import javax.validation.constraints.Size;
 
+import 
org.ovirt.engine.core.common.businessentities.BusinessEntitiesDefinitions;
 import org.ovirt.engine.core.common.businessentities.network.Network;
 import 
org.ovirt.engine.core.common.businessentities.network.VdsNetworkInterface;
 import org.ovirt.engine.core.compat.Guid;
@@ -31,6 +34,8 @@
         interfaces = value;
     }
 
+    @Size(min = 1, max = BusinessEntitiesDefinitions.HOST_NIC_NAME_LENGTH)
+    @Pattern(regexp = BusinessEntitiesDefinitions.BOND_NAME_PATTERN, message = 
"NETWORK_BOND_NAME_BAD_FORMAT")
     public String getBondName() {
         return bondName;
     }
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/BusinessEntitiesDefinitions.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/BusinessEntitiesDefinitions.java
index ff67903..ec19e49 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/BusinessEntitiesDefinitions.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/BusinessEntitiesDefinitions.java
@@ -38,6 +38,8 @@
     public static final int NETWORK_MIN_LEGAL_PORT = 1;
     public static final int NETWORK_MAX_LEGAL_PORT = 65535;
     public static final int HOST_NIC_NAME_LENGTH = 15;
+    public static final String BOND_NAME_PREFIX = "bond";
+    public static final String BOND_NAME_PATTERN = "^" + BOND_NAME_PREFIX + 
"\\d+$";
 
     // Bookmark (bookmarks)
     public static final int BOOKMARK_NAME_SIZE = 40;
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/network/Bond.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/network/Bond.java
index 03954f9..8fa92e1 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/network/Bond.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/network/Bond.java
@@ -1,5 +1,9 @@
 package org.ovirt.engine.core.common.businessentities.network;
 
+import javax.validation.constraints.Pattern;
+
+import 
org.ovirt.engine.core.common.businessentities.BusinessEntitiesDefinitions;
+
 public class Bond extends VdsNetworkInterface {
 
     private static final long serialVersionUID = 268337006285648461L;
@@ -21,6 +25,12 @@
     }
 
     @Override
+    @Pattern(regexp = BusinessEntitiesDefinitions.BOND_NAME_PATTERN, message = 
"NETWORK_BOND_NAME_BAD_FORMAT")
+    public String getName() {
+        return super.getName();
+    }
+
+    @Override
     public String toString() {
         StringBuilder builder = new StringBuilder();
         builder.append(getName())
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 9f9c596..9a2f871 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
@@ -534,6 +534,7 @@
     NETWORK_ADDR_IN_STATIC_IP_BAD_FORMAT,
     NETWORK_ADDR_IN_GATEWAY_BAD_FORMAT,
     NETWORK_ADDR_IN_SUBNET_BAD_FORMAT,
+    NETWORK_BOND_NAME_BAD_FORMAT,
     USER_FAILED_TO_AUTHENTICATION_WRONG_AUTHENTICATION_METHOD,
     ACTION_TYPE_FAILED_VM_IS_PINNED_TO_HOST,
     ACTION_TYPE_FAILED_VM_IS_NON_MIGRTABLE,
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 5a80d60..2dd98cb 100644
--- 
a/backend/manager/modules/dal/src/main/resources/bundles/AppErrors.properties
+++ 
b/backend/manager/modules/dal/src/main/resources/bundles/AppErrors.properties
@@ -533,6 +533,7 @@
 NETWORK_ADDR_IN_STATIC_IP_BAD_FORMAT=Bad format of IP address
 NETWORK_ADDR_IN_GATEWAY_BAD_FORMAT=Bad format of gateway address
 NETWORK_ADDR_IN_SUBNET_BAD_FORMAT=Bad format of subnet mask
+NETWORK_BOND_NAME_BAD_FORMAT=Bad bond name, it must begin with the prefix 
'bond' followed by a number.
 NETWORK_CANNOT_CONTAIN_BOND_NAME=Bad network name, network cannot start with 
'bond'
 RHEVH_LOCALFS_WRONG_PATH_LOCATION=Local Storage folder on RHEV Hypervisor must 
be located under ${path}
 ACTION_TYPE_FAILED_STORAGE_POOL_IS_NOT_LOCAL=Data Center must be "Local 
Storage"
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 2acfbb2..2f79959 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
@@ -1432,6 +1432,9 @@
     @DefaultStringValue("Bad format of subnet mask")
     String NETWORK_ADDR_IN_SUBNET_BAD_FORMAT();
 
+    @DefaultStringValue("Bad bond name, it must begin with the prefix 'bond' 
followed by a number.")
+    String NETWORK_BOND_NAME_BAD_FORMAT();
+
     @DefaultStringValue("Bad network name, network cannot start with 'bond'")
     String NETWORK_CANNOT_CONTAIN_BOND_NAME();
 
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 20b32a6..cbeddd8 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
@@ -530,6 +530,7 @@
 NETWORK_ADDR_IN_STATIC_IP_BAD_FORMAT=Bad format of IP address
 NETWORK_ADDR_IN_GATEWAY_BAD_FORMAT=Bad format of gateway address
 NETWORK_ADDR_IN_SUBNET_BAD_FORMAT=Bad format of subnet mask
+NETWORK_BOND_NAME_BAD_FORMAT=Bad bond name, it must begin with the prefix 
'bond' followed by a number.
 NETWORK_CANNOT_CONTAIN_BOND_NAME=Bad network name, network cannot start with 
'bond'
 RHEVH_LOCALFS_WRONG_PATH_LOCATION=Local Storage folder on RHEV Hypervisor must 
be located under ${path}
 ACTION_TYPE_FAILED_STORAGE_POOL_IS_NOT_LOCAL=Data Center must be "Local 
Storage"
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 5f7c9ed..f81d223 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
@@ -527,6 +527,7 @@
 NETWORK_ADDR_IN_STATIC_IP_BAD_FORMAT=Bad format of IP address
 NETWORK_ADDR_IN_GATEWAY_BAD_FORMAT=Bad format of gateway address
 NETWORK_ADDR_IN_SUBNET_BAD_FORMAT=Bad format of subnet mask
+NETWORK_BOND_NAME_BAD_FORMAT=Bad bond name, it must begin with the prefix 
'bond' followed by a number.
 NETWORK_CANNOT_CONTAIN_BOND_NAME=Bad network name, network cannot start with 
'bond'
 RHEVH_LOCALFS_WRONG_PATH_LOCATION=Local Storage folder on RHEV Hypervisor must 
be located under ${path}
 ACTION_TYPE_FAILED_STORAGE_POOL_IS_NOT_LOCAL=Data Center must be "Local 
Storage"


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Id4ea20997c03c35c1f47d9ab12a49a39dd9c778a
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