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

Reply via email to