Alona Kaplan has uploaded a new change for review. Change subject: engine: introducing AddVfsConfigNetworkCommand ......................................................................
engine: introducing AddVfsConfigNetworkCommand Change-Id: Ied24ef5080716915eb9ef846d3c2f6bce398a4c0 Signed-off-by: Alona Kaplan <alkap...@redhat.com> --- A backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/host/AddVfsConfigNetworkCommand.java A backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/host/NetworkVfsConfigCommandBase.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/validator/VfsConfigValidator.java M backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/validator/VfsConfigValidatorTest.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/AuditLogType.java A backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/VfsConfigNetworkParameters.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/errors/VdcBllMessages.java M backend/manager/modules/dal/src/main/resources/bundles/AppErrors.properties M backend/manager/modules/dal/src/main/resources/bundles/AuditLogMessages.properties M frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/AppErrors.java M frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors.properties 11 files changed, 291 insertions(+), 7 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/44/36844/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/host/AddVfsConfigNetworkCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/host/AddVfsConfigNetworkCommand.java new file mode 100644 index 0000000..4708149 --- /dev/null +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/host/AddVfsConfigNetworkCommand.java @@ -0,0 +1,48 @@ +package org.ovirt.engine.core.bll.network.host; + +import java.util.Set; + +import org.ovirt.engine.core.bll.context.CommandContext; +import org.ovirt.engine.core.common.AuditLogType; +import org.ovirt.engine.core.common.action.VfsConfigNetworkParameters; +import org.ovirt.engine.core.common.errors.VdcBllMessages; +import org.ovirt.engine.core.compat.Guid; + +public class AddVfsConfigNetworkCommand extends NetworkVfsConfigCommandBase { + + public AddVfsConfigNetworkCommand(VfsConfigNetworkParameters parameters) { + this(parameters, null); + } + + public AddVfsConfigNetworkCommand(VfsConfigNetworkParameters parameters, CommandContext commandContext) { + super(parameters, commandContext); + } + + @Override + protected boolean canDoAction() { + if (super.canDoAction()) { + return validate(getVfsConfigValidator().networkNotInVfsConfig(getNetworkId())); + } + + return false; + } + + @Override + public AuditLogType getAuditLogTypeValue() { + return getSucceeded() ? AuditLogType.ADD_VFS_CONFIG_NETWORK + : AuditLogType.ADD_VFS_CONFIG_NETWORK_FAILED; + } + + @Override + protected void setActionMessageParameters() { + super.setActionMessageParameters(); + addCanDoActionMessage(VdcBllMessages.VAR__ACTION__ADD); + } + + @Override + protected Set<Guid> getUpdatedNetworkList() { + Set<Guid> networks = getVfsConfig().getNetworks(); + networks.add(getNetworkId()); + return networks; + } +} diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/host/NetworkVfsConfigCommandBase.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/host/NetworkVfsConfigCommandBase.java new file mode 100644 index 0000000..594b923 --- /dev/null +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/host/NetworkVfsConfigCommandBase.java @@ -0,0 +1,61 @@ +package org.ovirt.engine.core.bll.network.host; + +import java.util.Set; + +import org.ovirt.engine.core.bll.context.CommandContext; +import org.ovirt.engine.core.common.action.VfsConfigNetworkParameters; +import org.ovirt.engine.core.common.businessentities.network.HostNicVfsConfig; +import org.ovirt.engine.core.common.businessentities.network.Network; +import org.ovirt.engine.core.common.errors.VdcBllMessages; +import org.ovirt.engine.core.compat.Guid; + +public abstract class NetworkVfsConfigCommandBase extends VfsConfigCommandBase<VfsConfigNetworkParameters> { + + public NetworkVfsConfigCommandBase(VfsConfigNetworkParameters parameters) { + this(parameters, null); + } + + public NetworkVfsConfigCommandBase(VfsConfigNetworkParameters parameters, CommandContext commandContext) { + super(parameters, commandContext); + } + + @Override + protected void executeCommand() { + super.executeCommand(); + + HostNicVfsConfig oldVfsConfig = getVfsConfig(); + oldVfsConfig.setNetworks(getUpdatedNetworkList()); + getVfsConfigDao().update(oldVfsConfig); + + setSucceeded(true); + } + + protected abstract Set<Guid> getUpdatedNetworkList(); + + @Override + protected boolean canDoAction() { + if (super.canDoAction()) { + return validate(getVfsConfigValidator().settingSpecificNetworksAllowed()) + && validate(getVfsConfigValidator().networkExists(getNetworkId())); + } + + return false; + } + + @Override + protected void setActionMessageParameters() { + addCanDoActionMessage(VdcBllMessages.VAR__TYPE__HOST_NIC_VFS_CONFIG_NETWORK); + } + + protected Guid getNetworkId() { + return getParameters().getNetworkId(); + } + + protected Network getNetwork() { + return getNetworkDAO().get(getNetworkId()); + } + + public String getNetworkName() { + return getNetwork().getName(); + } +} diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/validator/VfsConfigValidator.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/validator/VfsConfigValidator.java index eb71f9e..6be4162 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/validator/VfsConfigValidator.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/validator/VfsConfigValidator.java @@ -4,6 +4,7 @@ import org.ovirt.engine.core.common.FeatureSupported; import org.ovirt.engine.core.common.businessentities.VDS; import org.ovirt.engine.core.common.businessentities.network.HostNicVfsConfig; +import org.ovirt.engine.core.common.businessentities.network.Network; import org.ovirt.engine.core.common.businessentities.network.VdsNetworkInterface; import org.ovirt.engine.core.common.errors.VdcBllMessages; import org.ovirt.engine.core.compat.Guid; @@ -20,6 +21,7 @@ static final String NUM_OF_VFS_REPLACEMENT = "$numOfVfs %d"; static final String MAX_NUM_OF_VFS_REPLACEMENT = "$maxNumOfVfs %d"; static final String NETWORK_NAME_REPLACEMENT = "$networkName %s"; + static final String NETWORK_ID_REPLACEMENT = "$networkId %s"; public VfsConfigValidator(Guid nicId) { this.nicId = nicId; @@ -80,6 +82,42 @@ .when(numOfVfs > getOldVfsConfig().getMaxNumOfVfs() || numOfVfs < 0); } + /** + * @return An error iff <code>allNetworkAllowed</code> is <code>true</code> + */ + public ValidationResult settingSpecificNetworksAllowed() { + return ValidationResult.failWith(VdcBllMessages.ACTION_TYPE_FAILED_CANNOT_SET_SPECIFIC_NETWORKS, + getNicNameReplacement()) + .when(getOldVfsConfig().isAllNetworksAllowed()); + } + + /** + * @param networkId + * + * @return An error iff a network with the specified id doesn't exist + */ + public ValidationResult networkExists(Guid networkId) { + return ValidationResult.failWith(VdcBllMessages.ACTION_TYPE_FAILED_NETWORK_NOT_EXIST, + getNicNameReplacement(), String.format(NETWORK_ID_REPLACEMENT, networkId)) + .when(getNetwork(networkId) == null); + } + + /** + * @param networkId + * + * @return An error iff the network is already part of the VFs configuration + */ + public ValidationResult networkNotInVfsConfig(Guid networkId) { + String networkName = getNetwork(networkId).getName(); + return ValidationResult.failWith(VdcBllMessages.ACTION_TYPE_FAILED_NETWORK_ALREADY_IN_VFS_CONFIG, + getNicNameReplacement(), String.format(NETWORK_NAME_REPLACEMENT, networkName)) + .when(getOldVfsConfig().getNetworks().contains(networkId)); + } + + Network getNetwork(Guid networkId) { + return getDbFacade().getNetworkDao().get(networkId); + } + VdsNetworkInterface getNic() { if (nic == null) { nic = getDbFacade().getInterfaceDao().get(nicId); diff --git a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/validator/VfsConfigValidatorTest.java b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/validator/VfsConfigValidatorTest.java index e690e42..564579c 100644 --- a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/validator/VfsConfigValidatorTest.java +++ b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/validator/VfsConfigValidatorTest.java @@ -7,6 +7,9 @@ import static org.ovirt.engine.core.bll.validator.ValidationResultMatchers.failsWith; import static org.ovirt.engine.core.bll.validator.ValidationResultMatchers.isValid; +import java.util.HashSet; +import java.util.Set; + import org.hamcrest.Matcher; import org.junit.Before; import org.junit.Rule; @@ -17,6 +20,7 @@ import org.ovirt.engine.core.bll.ValidationResult; import org.ovirt.engine.core.common.businessentities.VDS; import org.ovirt.engine.core.common.businessentities.network.HostNicVfsConfig; +import org.ovirt.engine.core.common.businessentities.network.Network; import org.ovirt.engine.core.common.businessentities.network.VdsNetworkInterface; import org.ovirt.engine.core.common.config.ConfigValues; import org.ovirt.engine.core.common.errors.VdcBllMessages; @@ -26,6 +30,7 @@ import org.ovirt.engine.core.dao.VdsDAO; import org.ovirt.engine.core.dao.network.HostNicVfsConfigDao; import org.ovirt.engine.core.dao.network.InterfaceDao; +import org.ovirt.engine.core.dao.network.NetworkDao; import org.ovirt.engine.core.utils.MockConfigRule; @RunWith(MockitoJUnitRunner.class) @@ -33,17 +38,26 @@ private static final String CLUSTER_VERSION = "7"; + private static final String NETWORK_NAME = "net"; + + private static final String NIC_NAME = "nic"; + private static final int NUM_OF_VFS = 5; - private Guid nicId = Guid.newGuid(); + private static final Guid NIC_ID = Guid.newGuid(); - private Guid hostId = Guid.newGuid(); + private static final Guid HOST_ID = Guid.newGuid(); + + private static final Guid NETWORK_ID = Guid.newGuid(); @Mock private VdsNetworkInterface nic; @Mock private VDS host; + + @Mock + private Network network; @Mock private HostNicVfsConfig oldVfsConfig; @@ -63,6 +77,9 @@ @Mock private VdsDAO vdsDao; + @Mock + private NetworkDao networkDao; + private VfsConfigValidator validator; @Rule @@ -75,10 +92,11 @@ when(dbFacade.getInterfaceDao()).thenReturn(interfaceDao); when(dbFacade.getHostNicVfsConfigDao()).thenReturn(vfsConfigDao); when(dbFacade.getVdsDao()).thenReturn(vdsDao); + when(dbFacade.getNetworkDao()).thenReturn(networkDao); } private void createValidator() { - validator = spy(new VfsConfigValidator(nicId)); + validator = spy(new VfsConfigValidator(NIC_ID)); doReturn(dbFacade).when(validator).getDbFacade(); } @@ -95,8 +113,8 @@ private void sriovFeatureSupportTest(Matcher<ValidationResult> matcher, boolean isSupported) { simulateNicExists(); - when(nic.getVdsId()).thenReturn(hostId); - when(vdsDao.get(hostId)).thenReturn(host); + when(nic.getVdsId()).thenReturn(HOST_ID); + when(vdsDao.get(HOST_ID)).thenReturn(host); when(host.getVdsGroupCompatibilityVersion()).thenReturn(version); when(version.getValue()).thenReturn(CLUSTER_VERSION); @@ -120,12 +138,14 @@ } private void simulateNicExists() { - when(interfaceDao.get(nicId)).thenReturn(nic); + when(interfaceDao.get(NIC_ID)).thenReturn(nic); + when(nic.getId()).thenReturn(NIC_ID); + when(nic.getName()).thenReturn(NIC_NAME); } private void simulateVfsConfigExists() { simulateNicExists(); - when(vfsConfigDao.getByNicId(nicId)).thenReturn(oldVfsConfig); + when(vfsConfigDao.getByNicId(NIC_ID)).thenReturn(oldVfsConfig); } @Test @@ -191,4 +211,70 @@ when(oldVfsConfig.getNumOfFreeVfs()).thenReturn(numOfFreeVfs); } + @Test + public void settingSpecificNetworksAllowed() { + settingSpecificNetworksAllowedTest(true); + assertThat(validator.settingSpecificNetworksAllowed(), + failsWith(VdcBllMessages.ACTION_TYPE_FAILED_CANNOT_SET_SPECIFIC_NETWORKS, + String.format(VfsConfigValidator.NIC_NAME_REPLACEMENT, nic.getName()))); + } + + @Test + public void settingSpecificNetworksNotAllowed() { + settingSpecificNetworksAllowedTest(false); + assertThat(validator.settingSpecificNetworksAllowed(), isValid()); + } + + private void settingSpecificNetworksAllowedTest(boolean isAllNetworksAllowed) { + simulateVfsConfigExists(); + when(oldVfsConfig.isAllNetworksAllowed()).thenReturn(isAllNetworksAllowed); + } + + @Test + public void networExists() { + simulateNicExists(); + simulateNetworkExists(); + assertThat(validator.networkExists(NETWORK_ID), isValid()); + } + + @Test + public void networNotExist() { + simulateNicExists(); + assertThat(validator.networkExists(NETWORK_ID), + failsWith(VdcBllMessages.ACTION_TYPE_FAILED_NETWORK_NOT_EXIST, + String.format(VfsConfigValidator.NIC_NAME_REPLACEMENT, nic.getName()), + String.format(VfsConfigValidator.NETWORK_ID_REPLACEMENT, NETWORK_ID))); + } + + private void simulateNetworkExists() { + when(networkDao.get(NETWORK_ID)).thenReturn(network); + when(network.getId()).thenReturn(NETWORK_ID); + when(network.getName()).thenReturn(NETWORK_NAME); + } + + @Test + public void networkNotInVfsConfigValid() { + networkInVfsConfigCommonTest(false); + assertThat(validator.networkNotInVfsConfig(NETWORK_ID), isValid()); + } + + @Test + public void networkNotInVfsConfigNotValid() { + networkInVfsConfigCommonTest(true); + assertThat(validator.networkNotInVfsConfig(NETWORK_ID), + failsWith(VdcBllMessages.ACTION_TYPE_FAILED_NETWORK_ALREADY_IN_VFS_CONFIG, + String.format(VfsConfigValidator.NIC_NAME_REPLACEMENT, nic.getName()), + String.format(VfsConfigValidator.NETWORK_NAME_REPLACEMENT, network.getName()))); + } + private void networkInVfsConfigCommonTest(boolean inVfsConfig) { + simulateVfsConfigExists(); + simulateNetworkExists(); + + Set<Guid> networks = new HashSet<>(); + + if (inVfsConfig) { + networks.add(NETWORK_ID); + } + when(oldVfsConfig.getNetworks()).thenReturn(networks); + } } diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/AuditLogType.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/AuditLogType.java index 905a6740..e2e3bd3 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/AuditLogType.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/AuditLogType.java @@ -755,6 +755,8 @@ // SR-IOV UPDATE_HOST_NIC_VFS_CONFIG(1191), UPDATE_HOST_NIC_VFS_CONFIG_FAILED(1192, AuditLogSeverity.ERROR), + ADD_VFS_CONFIG_NETWORK(1193), + ADD_VFS_CONFIG_NETWORK_FAILED(1194), // NUMA NUMA_ADD_VM_NUMA_NODE_SUCCESS(1300), diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/VfsConfigNetworkParameters.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/VfsConfigNetworkParameters.java new file mode 100644 index 0000000..0e67844 --- /dev/null +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/VfsConfigNetworkParameters.java @@ -0,0 +1,25 @@ +package org.ovirt.engine.core.common.action; + +import javax.validation.constraints.NotNull; + +import org.ovirt.engine.core.compat.Guid; + +public class VfsConfigNetworkParameters extends VfsConfigBaseParameters { + + private static final long serialVersionUID = 8349966455466948610L; + + @NotNull + private Guid networkId; + + public VfsConfigNetworkParameters() { + } + + public VfsConfigNetworkParameters(Guid nicId, Guid networkId) { + super(nicId); + this.networkId = networkId; + } + + public Guid getNetworkId() { + return networkId; + } +} diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/errors/VdcBllMessages.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/errors/VdcBllMessages.java index 01c0bbf..ac7d077 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/errors/VdcBllMessages.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/errors/VdcBllMessages.java @@ -24,6 +24,7 @@ VAR__TYPE__VNIC_PROFILE, VAR__TYPE__LABEL, VAR__TYPE__HOST_NIC_VFS_CONFIG, + VAR__TYPE__HOST_NIC_VFS_CONFIG_NETWORK, VAR__TYPE__PROVIDER, VAR__TYPE__PROVIDER_CERTIFICATE, VAR__TYPE__VM_DISK, @@ -594,6 +595,9 @@ ACTION_TYPE_FAILED_NIC_IS_NOT_SRIOV_ENABLED(ErrorType.NOT_SUPPORTED), ACTION_TYPE_FAILED_NUM_OF_VFS_CANNOT_BE_CHANGED(ErrorType.NOT_SUPPORTED), ACTION_TYPE_FAILED_NUM_OF_VFS_NOT_IN_VALID_RANGE(ErrorType.BAD_PARAMETERS), + ACTION_TYPE_FAILED_CANNOT_SET_SPECIFIC_NETWORKS(ErrorType.CONFLICT), + ACTION_TYPE_FAILED_NETWORK_NOT_EXIST(ErrorType.BAD_PARAMETERS), + ACTION_TYPE_FAILED_NETWORK_ALREADY_IN_VFS_CONFIG(ErrorType.CONFLICT), ACTION_TYPE_FAILED_STORAGE_DOMAIN_NOT_IN_STORAGE_POOL(ErrorType.CONFLICT), ACTION_TYPE_FAILED_LUNS_ALREADY_PART_OF_STORAGE_DOMAINS(ErrorType.CONFLICT), ACTION_TYPE_FAILED_LUNS_ALREADY_USED_BY_DISKS(ErrorType.CONFLICT), 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 dc83c4c..2870f7f 100644 --- a/backend/manager/modules/dal/src/main/resources/bundles/AppErrors.properties +++ b/backend/manager/modules/dal/src/main/resources/bundles/AppErrors.properties @@ -286,6 +286,7 @@ VAR__TYPE__VNIC_PROFILE=$type VM network interface profile VAR__TYPE__LABEL=$type Label VAR__TYPE__HOST_NIC_VFS_CONFIG=$type host NIC VFs configuration +VAR__TYPE__HOST_NIC_VFS_CONFIG_NETWORK=$type host NIC VFs configuration network VAR__TYPE__PROVIDER=$type provider VAR__TYPE__PROVIDER_CERTIFICATE=$type provider certificate VAR__TYPE__VM=$type VM @@ -536,6 +537,8 @@ ACTION_TYPE_FAILED_NIC_IS_NOT_SRIOV_ENABLED=Cannot ${action} ${type}. The selected network interface ${nicName} is not SR-IOV enabled. ACTION_TYPE_FAILED_NUM_OF_VFS_NOT_IN_VALID_RANGE=Cannot ${action} ${type}. The specified number of VFs on network interface ${nicName} is ${numOfVfs}, the valid range is 0 - ${maxNumOfVfs}. ACTION_TYPE_FAILED_CANNOT_SET_SPECIFIC_NETWORKS=Cannot ${action} ${type}. All networks are allowed, cannot set specific network/label. +ACTION_TYPE_FAILED_NETWORK_ALREADY_IN_VFS_CONFIG=Cannot ${action} ${type}. Network ${networkName} already exists in network interface ${nicName} VFs configuration. +ACTION_TYPE_FAILED_NETWORK_NOT_EXIST=Cannot ${action} ${type}. Network with id ${networkId} doesn't exist. ERROR_CANNOT_RECOVERY_STORAGE_POOL_THERE_IS_ACTIVE_DATA_DOMAINS=Cannot recover Data Center with active Data Storage Domain in Data Center. ERROR_CANNOT_DETACH_LAST_STORAGE_DOMAIN=Cannot remove the master Storage Domain from the Data Center without another active Storage Domain to take its place.\n\ diff --git a/backend/manager/modules/dal/src/main/resources/bundles/AuditLogMessages.properties b/backend/manager/modules/dal/src/main/resources/bundles/AuditLogMessages.properties index 7fac563..b167b32 100644 --- a/backend/manager/modules/dal/src/main/resources/bundles/AuditLogMessages.properties +++ b/backend/manager/modules/dal/src/main/resources/bundles/AuditLogMessages.properties @@ -560,6 +560,8 @@ REMOVE_VNIC_PROFILE_FAILED=Failed to remove VM network interface profile ${VnicProfileName} from network ${NetworkName} in Data Center: ${DataCenterName}. (User: ${UserName}) UPDATE_HOST_NIC_VFS_CONFIG=The VFs configuration of network interface card ${NicName} was updated. UPDATE_HOST_NIC_VFS_CONFIG_FAILED=Failed to update the VFs configuration of network interface card ${NicName}. +ADD_VFS_CONFIG_NETWORK=Network ${NetworkName} was added to the VFs configuration of network interface card ${NicName}. +ADD_VFS_CONFIG_NETWORK_FAILED=Failed to add ${NetworkName} to the VFs configuration of network interface card ${NicName}. SYSTEM_DEACTIVATED_STORAGE_DOMAIN=Storage Domain ${StorageDomainName} (Data Center ${StoragePoolName}) was deactivated by system because it's not visible by any of the hosts. SYSTEM_DEACTIVATE_STORAGE_DOMAIN_FAILED=Failed to deactivate Storage Domain ${StorageDomainName} (Data Center ${StoragePoolName}). VDS_SET_NONOPERATIONAL_DOMAIN=Host ${VdsName} cannot access the Storage Domain(s) ${StorageDomainNames} attached to the Data Center ${StoragePoolName}. Setting Host state to Non-Operational. 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 721e346..db6a6a2 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 @@ -769,6 +769,9 @@ @DefaultStringValue("VAR__TYPE__HOST_NIC_VFS_CONFIG=$type host NIC VFs configuration") String VAR__TYPE__HOST_NIC_VFS_CONFIG(); + @DefaultStringValue("$type host NIC VFs configuration network") + String VAR__TYPE__HOST_NIC_VFS_CONFIG_NETWORK(); + @DefaultStringValue("$type VM network interface profile") String VAR__TYPE__VNIC_PROFILE(); @@ -1495,6 +1498,15 @@ @DefaultStringValue("Cannot ${action} ${type}. The specified number of VFs on network interface ${nicName} is ${numOfVfs}, the valid range is 0 - ${maxNumOfVfs}.") String ACTION_TYPE_FAILED_NUM_OF_VFS_NOT_IN_VALID_RANGE(); + @DefaultStringValue("Cannot ${action} ${type}. All networks are allowed, cannot set specific network/label.") + String ACTION_TYPE_FAILED_CANNOT_SET_SPECIFIC_NETWORKS(); + + @DefaultStringValue("Cannot ${action} ${type}. Network ${networkName} already exists in network interface ${nicName} VFs configuration.") + String ACTION_TYPE_FAILED_NETWORK_ALREADY_IN_VFS_CONFIG(); + + @DefaultStringValue("Cannot ${action} ${type}. Network with id ${networkId} doesn't exist.") + String ACTION_TYPE_FAILED_NETWORK_NOT_EXIST(); + @DefaultStringValue("Cannot recover Data Center with active Data Storage Domain in Data Center.") String ERROR_CANNOT_RECOVERY_STORAGE_POOL_THERE_IS_ACTIVE_DATA_DOMAINS(); 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 0e23fcf..9d6bdf5 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 @@ -282,6 +282,7 @@ VAR__TYPE__NETWORKS=$type Networks VAR__TYPE__LABEL=$type Label VAR__TYPE__HOST_NIC_VFS_CONFIG=$type host NIC VFs configuration +VAR__TYPE__HOST_NIC_VFS_CONFIG_NETWORK=$type host NIC VFs configuration network VAR__TYPE__VNIC_PROFILE=$type VM network interface profile VAR__TYPE__PROVIDER=$type provider VAR__TYPE__PROVIDER_CERTIFICATE=$type provider certificate @@ -541,6 +542,8 @@ ACTION_TYPE_FAILED_NIC_IS_NOT_SRIOV_ENABLED=Cannot ${action} ${type}. The selected network interface ${nicName} is not SR-IOV enabled. ACTION_TYPE_FAILED_NUM_OF_VFS_NOT_IN_VALID_RANGE=Cannot ${action} ${type}. The specified number of VFs on network interface ${nicName} is ${numOfVfs}, the valid range is 0 - ${maxNumOfVfs}. ACTION_TYPE_FAILED_CANNOT_SET_SPECIFIC_NETWORKS=Cannot ${action} ${type}. All networks are allowed, cannot set specific network/label. +ACTION_TYPE_FAILED_NETWORK_ALREADY_IN_VFS_CONFIG=Cannot ${action} ${type}. Network ${networkName} already exists in network interface ${nicName} VFs configuration. +ACTION_TYPE_FAILED_NETWORK_NOT_EXIST=Cannot ${action} ${type}. Network with id ${networkId} doesn't exist. ERROR_CANNOT_RECOVERY_STORAGE_POOL_THERE_IS_ACTIVE_DATA_DOMAINS=Cannot recover Data Center with active Data Storage Domain in Data Center. ERROR_CANNOT_DETACH_LAST_STORAGE_DOMAIN=Cannot remove the master Storage Domain from the Data Center without another active Storage Domain to take its place.\n\ -- To view, visit http://gerrit.ovirt.org/36844 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ied24ef5080716915eb9ef846d3c2f6bce398a4c0 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Alona Kaplan <alkap...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches