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
