Michael Kublin has uploaded a new change for review.

Change subject: core: ConnectHostToStoragePoolServersCommand is not called when 
cluster is added to existing datacenter
......................................................................

core: ConnectHostToStoragePoolServersCommand is not called when cluster is 
added to existing datacenter

The following patch will prevent of adding of cluster to new data center if one 
of the host in cluster
has status Up.
1. The patch fixing a bug
2. Performing clean up of code
3. Fixing bug with update of virt service
4. Adds some performance improvements

Change-Id: I05343b232f565b1b829645795bf804e246a405fd
Bug-Url: NA
Signed-off-by: Michael Kublin <[email protected]>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVdsGroupCommand.java
M 
backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/UpdateVdsGroupCommandTest.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
7 files changed, 132 insertions(+), 143 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/20/8320/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVdsGroupCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVdsGroupCommand.java
index 7c2e689..eb5f1cb 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVdsGroupCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVdsGroupCommand.java
@@ -1,10 +1,9 @@
 package org.ovirt.engine.core.bll;
 
-import java.text.MessageFormat;
+import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.commons.lang.StringUtils;
-import org.ovirt.engine.core.bll.storage.StorageHandlingCommandBase;
 import org.ovirt.engine.core.bll.utils.VersionSupport;
 import org.ovirt.engine.core.common.AuditLogType;
 import org.ovirt.engine.core.common.action.VdcActionType;
@@ -16,10 +15,10 @@
 import org.ovirt.engine.core.common.businessentities.StorageType;
 import org.ovirt.engine.core.common.businessentities.VDS;
 import org.ovirt.engine.core.common.businessentities.VDSGroup;
+import org.ovirt.engine.core.common.businessentities.VDSStatus;
 import org.ovirt.engine.core.common.businessentities.VM;
 import org.ovirt.engine.core.common.businessentities.VMStatus;
 import org.ovirt.engine.core.common.businessentities.VdsSelectionAlgorithm;
-import org.ovirt.engine.core.common.businessentities.VdsStatic;
 import org.ovirt.engine.core.common.businessentities.network_cluster;
 import org.ovirt.engine.core.common.businessentities.storage_pool;
 import 
org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeEntity;
@@ -39,6 +38,10 @@
 @SuppressWarnings("serial")
 public class UpdateVdsGroupCommand<T extends VdsGroupOperationParameters> 
extends
         VdsGroupOperationCommandBase<T> {
+
+    private List<VDS> allForVdsGroup;
+    private VDSGroup oldGroup;
+
     public UpdateVdsGroupCommand(T parameters) {
         super(parameters);
     }
@@ -50,7 +53,6 @@
     @Override
     protected void executeCommand() {
         // TODO: This code should be revisited and proper compensation logic 
should be introduced here
-        VDSGroup oldGroup = 
getVdsGroupDAO().get(getParameters().getVdsGroup().getId());
         CheckMaxMemoryOverCommitValue();
         getVdsGroupDAO().update(getParameters().getVdsGroup());
 
@@ -58,7 +60,7 @@
                 && 
!oldGroup.getstorage_pool_id().equals(getVdsGroup().getstorage_pool_id())
                 || oldGroup.getstorage_pool_id() == null
                 && getVdsGroup().getstorage_pool_id() != null) {
-            for (VdsStatic vds : 
getVdsStaticDAO().getAllForVdsGroup(oldGroup.getId())) {
+            for (VDS vds : allForVdsGroup) {
                 VdsActionParameters parameters = new 
VdsActionParameters(vds.getId());
                 if (oldGroup.getstorage_pool_id() != null) {
                     VdcReturnValueBase removeVdsSpmIdReturn =
@@ -123,43 +125,21 @@
                 : AuditLogType.USER_UPDATE_VDS_GROUP_FAILED;
     }
 
-    @SuppressWarnings("null")
     @Override
     protected boolean canDoAction() {
-        boolean result = super.canDoAction();
+        boolean result = true;
         boolean hasVms = false;
-        getReturnValue().getCanDoActionMessages()
-                .add(VdcBllMessages.VAR__ACTION__UPDATE.toString());
-        VDSGroup oldGroup = getVdsGroupDAO().get(getVdsGroup().getId());
-        // check that if name was changed, it was done to the same cluster
-        VDSGroup groupWithName = 
getVdsGroupDAO().getByName(getVdsGroup().getname());
-        if (oldGroup != null && !StringUtils.equals(oldGroup.getname(), 
getVdsGroup().getname())) {
-            if (groupWithName != null && 
!groupWithName.getId().equals(getVdsGroup().getId())) {
-                
addCanDoActionMessage(VdcBllMessages.VDS_GROUP_CANNOT_DO_ACTION_NAME_IN_USE);
-                result = false;
-            }
-        }
+        oldGroup = getVdsGroupDAO().get(getVdsGroup().getId());
         if (oldGroup == null) {
             addCanDoActionMessage(VdcBllMessages.VDS_CLUSTER_IS_NOT_VALID);
             result = false;
         }
-        // If both original Cpu and new Cpu are null, don't check Cpu validity
-        if (result && (oldGroup.getcpu_name() != null || 
getVdsGroup().getcpu_name() != null)) {
-            // Check that cpu exist
-            if (!checkIfCpusExist()) {
-                
addCanDoActionMessage(VdcBllMessages.ACTION_TYPE_FAILED_CPU_NOT_FOUND);
-
-                addCanDoActionMessage(VdcBllMessages.VAR__TYPE__CLUSTER);
+        // check that if name was changed, it was done to the same cluster
+        if (result && !StringUtils.equals(oldGroup.getname(), 
getVdsGroup().getname())) {
+            VDSGroup groupWithName = 
getVdsGroupDAO().getByName(getVdsGroup().getname());
+            if (groupWithName != null && 
!groupWithName.getId().equals(getVdsGroup().getId())) {
+                
addCanDoActionMessage(VdcBllMessages.VDS_GROUP_CANNOT_DO_ACTION_NAME_IN_USE);
                 result = false;
-            } else {
-                // if cpu changed from intel to amd (or backwards) and there 
are
-                // vds in this cluster, cannot update
-                if (!StringUtils.isEmpty(oldGroup.getcpu_name())
-                        && !checkIfCpusSameManufacture(oldGroup)
-                        && 
getVdsStaticDAO().getAllForVdsGroup(getVdsGroup().getId()).size() > 0) {
-                    
addCanDoActionMessage(VdcBllMessages.VDS_GROUP_CANNOT_UPDATE_CPU_ILLEGAL);
-                    result = false;
-                }
             }
         }
         if (result && !VersionSupport.checkVersionSupported(getVdsGroup()
@@ -175,84 +155,102 @@
                     
.add(VdcBllMessages.ACTION_TYPE_FAILED_CANNOT_DECREASE_COMPATIBILITY_VERSION
                             .toString());
         }
-        if (result) {
-            SearchParameters p = new SearchParameters(MessageFormat.format(
-                    StorageHandlingCommandBase.UpVdssInCluster, 
oldGroup.getname()),
-                    SearchType.VDS);
-            p.setMaxCount(Integer.MAX_VALUE);
-            @SuppressWarnings("unchecked")
-            Iterable<VDS> clusterUpVdss =
-                    (Iterable<VDS>) 
getBackend().runInternalQuery(VdcQueryType.Search, p).getReturnValue();
-            for (VDS vds : clusterUpVdss) {
-                if (!VersionSupport.checkClusterVersionSupported(
-                        getVdsGroup().getcompatibility_version(), vds)) {
-                    result = false;
-                    getReturnValue()
-                            .getCanDoActionMessages()
-                            
.add(VdcBllMessages.VDS_GROUP_CANNOT_UPDATE_COMPATIBILITY_VERSION_WITH_LOWER_HOSTS
-                                    .toString());
-                    break;
-                } else if (missingServerCpuFlags(vds) != null) {
-                    getReturnValue().getCanDoActionMessages().add(
-                            
VdcBllMessages.VDS_GROUP_CANNOT_UPDATE_CPU_WITH_LOWER_HOSTS
-                                    .toString());
-                    result = false;
-                    break;
-                }
-            }
-        }
-
-        if (result && (oldGroup.getstorage_pool_id() != null
-                && 
!oldGroup.getstorage_pool_id().equals(getVdsGroup().getstorage_pool_id()))) {
+        if (result && oldGroup.getstorage_pool_id() != null
+                && 
!oldGroup.getstorage_pool_id().equals(getVdsGroup().getstorage_pool_id())) {
             
addCanDoActionMessage(VdcBllMessages.VDS_GROUP_CANNOT_CHANGE_STORAGE_POOL);
             result = false;
         }
+        // If both original Cpu and new Cpu are null, don't check Cpu validity
         if (result) {
-            SearchParameters searchParams = new SearchParameters("vms: cluster 
= "
-                    + oldGroup.getname(), SearchType.VM);
-            searchParams.setMaxCount(Integer.MAX_VALUE);
-
-            @SuppressWarnings("unchecked")
-            List<VM> vmList =
-                    (List<VM>) 
getBackend().runInternalQuery(VdcQueryType.Search, 
searchParams).getReturnValue();
-            if (vmList.size() > 0) {
-                hasVms = true;
-            }
-            int notDownVms = 0;
-            int suspendedVms = 0;
-            for (VM vm : vmList) {
-                // the search can return vm from cluster with similar name
-                // so it's critical to check that
-                // the vm cluster id is the same as the cluster.id
-                if (!vm.getvds_group_id().equals(oldGroup.getId())) {
-                    continue;
-                }
-                VMStatus vmStatus = vm.getstatus();
-                if (vmStatus == VMStatus.Suspended) {
-                    suspendedVms++;
-                }
-                if (vmStatus != VMStatus.Down) {
-                    notDownVms++;
-                }
-            }
-
-            boolean sameCpuNames = StringUtils.equals(oldGroup.getcpu_name(), 
getVdsGroup().getcpu_name());
-            if (result && !sameCpuNames) {
-                if (suspendedVms > 0) {
-                    
addCanDoActionMessage(VdcBllMessages.VDS_GROUP_CANNOT_UPDATE_CPU_WITH_SUSPENDED_VMS);
+            allForVdsGroup = getVdsDAO().getAllForVdsGroup(oldGroup.getId());
+        }
+        if (result && (oldGroup.getcpu_name() != null || 
getVdsGroup().getcpu_name() != null)) {
+            // Check that cpu exist
+            if (!checkIfCpusExist()) {
+                
addCanDoActionMessage(VdcBllMessages.ACTION_TYPE_FAILED_CPU_NOT_FOUND);
+                addCanDoActionMessage(VdcBllMessages.VAR__TYPE__CLUSTER);
+                result = false;
+            } else {
+                // if cpu changed from intel to amd (or backwards) and there 
are
+                // vds in this cluster, cannot update
+                if (!StringUtils.isEmpty(oldGroup.getcpu_name())
+                        && !checkIfCpusSameManufacture(oldGroup) && 
!allForVdsGroup.isEmpty()) {
+                    
addCanDoActionMessage(VdcBllMessages.VDS_GROUP_CANNOT_UPDATE_CPU_ILLEGAL);
                     result = false;
-                } else if (notDownVms > 0) {
-                    int compareResult = compareCpuLevels(oldGroup);
-                    if (compareResult < 0) {
-                        
addCanDoActionMessage(VdcBllMessages.VDS_GROUP_CANNOT_LOWER_CPU_LEVEL);
+                }
+            }
+        }
+        if (result) {
+            List<VDS> vdss = new ArrayList<VDS>();
+            boolean isAddedToStoragePool = oldGroup.getstorage_pool_id() == 
null
+                    && getVdsGroup().getstorage_pool_id() != null;
+            for (VDS vds : allForVdsGroup) {
+                if (vds.getstatus() == VDSStatus.Up) {
+                    if (isAddedToStoragePool) {
+                        
addCanDoActionMessage(VdcBllMessages.VDS_GROUP_CANNOT_UPDATE_VDS_UP);
+                        return false;
+                    } else {
+                        vdss.add(vds);
+                    }
+                }
+            }
+            for (VDS vds : vdss) {
+                if (!VersionSupport.checkClusterVersionSupported(
+                        getVdsGroup().getcompatibility_version(), vds)) {
+                    result = false;
+                    
addCanDoActionMessage(VdcBllMessages.VDS_GROUP_CANNOT_UPDATE_COMPATIBILITY_VERSION_WITH_LOWER_HOSTS);
+                    break;
+                } else if (missingServerCpuFlags(vds) != null) {
+                    
addCanDoActionMessage(VdcBllMessages.VDS_GROUP_CANNOT_UPDATE_CPU_WITH_LOWER_HOSTS);
+                    result = false;
+                    break;
+                }
+            }
+            if (result) {
+                SearchParameters searchParams = new SearchParameters("vms: 
cluster = "
+                        + oldGroup.getname(), SearchType.VM);
+                searchParams.setMaxCount(Integer.MAX_VALUE);
+
+                @SuppressWarnings("unchecked")
+                List<VM> vmList =
+                        (List<VM>) 
getBackend().runInternalQuery(VdcQueryType.Search, searchParams)
+                                .getReturnValue();
+                boolean notDownVms = false;
+                boolean suspendedVms = false;
+                for (VM vm : vmList) {
+                    // the search can return vm from cluster with similar name
+                    // so it's critical to check that
+                    // the vm cluster id is the same as the cluster.id
+                    if (!vm.getvds_group_id().equals(oldGroup.getId())) {
+                        continue;
+                    } else {
+                        hasVms = true;
+                    }
+                    if (vm.getstatus() == VMStatus.Suspended) {
+                        suspendedVms = true;
+                    } else if (vm.getstatus() != VMStatus.Down) {
+                        notDownVms = true;
+                    }
+                }
+                boolean sameCpuNames = 
StringUtils.equals(oldGroup.getcpu_name(), getVdsGroup().getcpu_name());
+                if (!sameCpuNames) {
+                    if (suspendedVms) {
+                        
addCanDoActionMessage(VdcBllMessages.VDS_GROUP_CANNOT_UPDATE_CPU_WITH_SUSPENDED_VMS);
                         result = false;
-                    } else if (compareResult > 0) {// Upgrade of CPU in same 
compability level is allowed if there
-                        // are running VMs - but we should warn they
-                        // cannot not be hibernated
-                        AuditLogableBase logable = new AuditLogableBase();
-                        logable.AddCustomValue("VdsGroup", 
getParameters().getVdsGroup().getname());
-                        AuditLogDirector.log(logable,
-                                
AuditLogType.CANNOT_HIBERNATE_RUNNING_VMS_AFTER_CLUSTER_CPU_UPGRADE);
+                    } else if (notDownVms) {
+                        int compareResult = compareCpuLevels(oldGroup);
+                        if (compareResult < 0) {
+                            
addCanDoActionMessage(VdcBllMessages.VDS_GROUP_CANNOT_LOWER_CPU_LEVEL);
+                            result = false;
+                        } else if (compareResult > 0) {// Upgrade of CPU in 
same compability level is allowed if
+                                                       // there
+                            // are running VMs - but we should warn they
+                            // cannot not be hibernated
+                            AuditLogableBase logable = new AuditLogableBase();
+                            logable.AddCustomValue("VdsGroup", 
getParameters().getVdsGroup().getname());
+                            AuditLogDirector.log(logable,
+                                    
AuditLogType.CANNOT_HIBERNATE_RUNNING_VMS_AFTER_CLUSTER_CPU_UPGRADE);
+                        }
                     }
                 }
             }
@@ -310,6 +308,12 @@
         return result;
     }
 
+    @Override
+    protected void setActionMessageParameters() {
+        addCanDoActionMessage(VdcBllMessages.VAR__TYPE__CLUSTER);
+        addCanDoActionMessage(VdcBllMessages.VAR__ACTION__UPDATE);
+    }
+
     protected boolean checkIfCpusSameManufacture(VDSGroup group) {
         return 
CpuFlagsManagerHandler.CheckIfCpusSameManufacture(group.getcpu_name(),
                 getVdsGroup().getcpu_name(),
diff --git 
a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/UpdateVdsGroupCommandTest.java
 
b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/UpdateVdsGroupCommandTest.java
index 7ac5594..dc6f544 100644
--- 
a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/UpdateVdsGroupCommandTest.java
+++ 
b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/UpdateVdsGroupCommandTest.java
@@ -27,9 +27,9 @@
 import org.ovirt.engine.core.common.businessentities.StorageType;
 import org.ovirt.engine.core.common.businessentities.VDS;
 import org.ovirt.engine.core.common.businessentities.VDSGroup;
+import org.ovirt.engine.core.common.businessentities.VDSStatus;
 import org.ovirt.engine.core.common.businessentities.VM;
 import org.ovirt.engine.core.common.businessentities.VdsSelectionAlgorithm;
-import org.ovirt.engine.core.common.businessentities.VdsStatic;
 import org.ovirt.engine.core.common.businessentities.storage_pool;
 import 
org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeEntity;
 import org.ovirt.engine.core.common.config.ConfigValues;
@@ -42,8 +42,8 @@
 import org.ovirt.engine.core.compat.Version;
 import org.ovirt.engine.core.dal.VdcBllMessages;
 import org.ovirt.engine.core.dao.StoragePoolDAO;
+import org.ovirt.engine.core.dao.VdsDAO;
 import org.ovirt.engine.core.dao.VdsGroupDAO;
-import org.ovirt.engine.core.dao.VdsStaticDAO;
 import org.ovirt.engine.core.dao.gluster.GlusterVolumeDao;
 import org.ovirt.engine.core.utils.MockConfigRule;
 
@@ -61,7 +61,7 @@
     @Mock
     private VdsGroupDAO vdsGroupDAO;
     @Mock
-    private VdsStaticDAO vdsStaticDAO;
+    private VdsDAO vdsDAO;
     @Mock
     private BackendInternal backendInternal;
     @Mock
@@ -87,13 +87,13 @@
 
     @Test
     public void invalidCpuSelection() {
-        createSimpleCommand();
+        createCommandWithDefaultVdsGroup();
         
canDoActionFailedWithReason(VdcBllMessages.ACTION_TYPE_FAILED_CPU_NOT_FOUND);
     }
 
     @Test
     public void illegalCpuChange() {
-        createSimpleCommand();
+        createCommandWithDefaultVdsGroup();
         cpuExists();
         cpuManufacturersDontMatch();
         vdsGroupHasVds();
@@ -118,7 +118,7 @@
 
     @Test
     public void updateWithLowerVersionThanHosts() {
-        createSimpleCommand();
+        createCommandWithDefaultVdsGroup();
         cpuExists();
         cpuManufacturersMatch();
         VdsExistWithHigherVersion();
@@ -127,7 +127,7 @@
 
     @Test
     public void updateWithCpuLowerThanHost() {
-        createSimpleCommand();
+        createCommandWithDefaultVdsGroup();
         cpuExists();
         cpuManufacturersMatch();
         clusterHasVds();
@@ -291,7 +291,7 @@
         doReturn(backendInternal).when(cmd).getBackend();
 
         doReturn(vdsGroupDAO).when(cmd).getVdsGroupDAO();
-        doReturn(vdsStaticDAO).when(cmd).getVdsStaticDAO();
+        doReturn(vdsDAO).when(cmd).getVdsDAO();
         doReturn(storagePoolDAO).when(cmd).getStoragePoolDAO();
         doReturn(glusterVolumeDao).when(cmd).getGlusterVolumeDao();
 
@@ -396,19 +396,10 @@
 
     private void VdsExistWithHigherVersion() {
         VDS vds = new VDS();
+        vds.setstatus(VDSStatus.Up);
         List<VDS> vdsList = new ArrayList<VDS>();
         vdsList.add(vds);
-        VdcQueryReturnValue returnValue = mock(VdcQueryReturnValue.class);
-        when(backendInternal.runInternalQuery(any(VdcQueryType.class), argThat(
-                new ArgumentMatcher<VdcQueryParametersBase>() {
-                    @Override
-                    public boolean matches(final Object o) {
-                        SearchParameters param = (SearchParameters) o;
-                        return 
param.getSearchTypeValue().equals(SearchType.VDS);
-                    }
-                })))
-                .thenReturn(returnValue);
-        when(returnValue.getReturnValue()).thenReturn(vdsList);
+        when(vdsDAO.getAllForVdsGroup(any(Guid.class))).thenReturn(vdsList);
     }
 
     private void allQueriesEmpty() {
@@ -419,31 +410,18 @@
     }
 
     private void vdsGroupHasVds() {
-        List<VdsStatic> vdsList = new ArrayList<VdsStatic>();
-        vdsList.add(new VdsStatic());
-        
when(vdsStaticDAO.getAllForVdsGroup(any(Guid.class))).thenReturn(vdsList);
+        List<VDS> vdsList = new ArrayList<VDS>();
+        vdsList.add(new VDS());
+        when(vdsDAO.getAllForVdsGroup(any(Guid.class))).thenReturn(vdsList);
     }
 
     private void clusterHasVds() {
         VDS vds = new VDS();
+        vds.setstatus(VDSStatus.Up);
         vds.setsupported_cluster_levels(VERSION_1_1.toString());
         List<VDS> vdsList = new ArrayList<VDS>();
         vdsList.add(vds);
-
-        VdcQueryReturnValue returnValue = mock(VdcQueryReturnValue.class);
-        when(backendInternal.runInternalQuery(any(VdcQueryType.class), argThat(
-                new ArgumentMatcher<VdcQueryParametersBase>() {
-                    @Override
-                    public boolean matches(final Object o) {
-                        if (o == null) {
-                            return false;
-                        }
-                        SearchParameters param = (SearchParameters) o;
-                        return 
param.getSearchTypeValue().equals(SearchType.VDS);
-                    }
-                })))
-                .thenReturn(returnValue);
-        when(returnValue.getReturnValue()).thenReturn(vdsList);
+        when(vdsDAO.getAllForVdsGroup(any(Guid.class))).thenReturn(vdsList);
     }
 
     private void clusterHasGlusterVolumes() {
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 23bb5da..ea944ad 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
@@ -348,6 +348,7 @@
     VDS_GROUP_CANNOT_CHANGE_STORAGE_POOL,
     VDS_GROUP_CANNOT_UPDATE_CPU_WITH_LOWER_HOSTS,
     VDS_GROUP_CANNOT_UPDATE_COMPATIBILITY_VERSION_WITH_LOWER_HOSTS,
+    VDS_GROUP_CANNOT_UPDATE_VDS_UP,
     VDS_GROUP_CANNOT_ADD_COMPATIBILITY_VERSION_WITH_LOWER_STORAGE_POOL,
     VDS_GROUP_CANNOT_REMOVE_HAS_VM_POOLS,
     VDS_GROUP_CPU_TYPE_CANNOT_BE_NULL,
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 0bb896e..a30a5ab 100644
--- 
a/backend/manager/modules/dal/src/main/resources/bundles/AppErrors.properties
+++ 
b/backend/manager/modules/dal/src/main/resources/bundles/AppErrors.properties
@@ -319,6 +319,7 @@
        -Please move Hosts with lower CPU to maintenance first.
 VDS_GROUP_CANNOT_UPDATE_COMPATIBILITY_VERSION_WITH_LOWER_HOSTS=Cannot change 
Cluster Compatibility Version to higher version when there are active Hosts 
with lower version.\n\
        -Please move Hosts with lower version to maintenance first.
+VDS_GROUP_CANNOT_UPDATE_VDS_UP=Cannot change Cluster.Trying to connect Cluster 
to Data Center with Hosts which has status Up.
 VDS_GROUP_CANNOT_ADD_COMPATIBILITY_VERSION_WITH_LOWER_STORAGE_POOL=Cannot add 
Cluster with Compatibility Version that is lower than the Data Center 
Compatibility Version.\n\
        -Please upgrade your Cluster to a later Compatibility version first.
 VDS_GROUP_CPU_TYPE_CANNOT_BE_NULL=Cannot add Cluster. CPU type must be 
specified
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 f68d740..698c527 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
@@ -874,6 +874,9 @@
     @DefaultStringValue("Cannot change Cluster Compatibility Version to higher 
version when there are active Hosts with lower version.\n-Please move Hosts 
with lower version to maintenance first.")
     String VDS_GROUP_CANNOT_UPDATE_COMPATIBILITY_VERSION_WITH_LOWER_HOSTS();
 
+    @DefaultStringValue("Cannot change Cluster.Trying to connect Cluster to 
Data Center with Hosts which has status Up.")
+    String VDS_GROUP_CANNOT_UPDATE_VDS_UP();
+
     @DefaultStringValue("Cannot add Cluster with Compatibility Version that is 
lower than the Data Center Compatibility Version.\n-Please upgrade your Cluster 
to a later Compatibility version first.")
     String 
VDS_GROUP_CANNOT_ADD_COMPATIBILITY_VERSION_WITH_LOWER_STORAGE_POOL();
 
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 8c018e6..3ed952f 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
@@ -317,6 +317,7 @@
        -Please move Hosts with lower CPU to maintenance first.
 VDS_GROUP_CANNOT_UPDATE_COMPATIBILITY_VERSION_WITH_LOWER_HOSTS=Cannot change 
Cluster Compatibility Version to higher version when there are active Hosts 
with lower version.\n\
        -Please move Hosts with lower version to maintenance first.
+VDS_GROUP_CANNOT_UPDATE_VDS_UP=Cannot change Cluster.Trying to connect Cluster 
to Data Center with Hosts which has status Up.
 VDS_GROUP_CANNOT_ADD_COMPATIBILITY_VERSION_WITH_LOWER_STORAGE_POOL=Cannot add 
Cluster with Compatibility Version that is lower than the Data Center 
Compatibility Version.\n\
        -Please upgrade your Cluster to a later Compatibility version first.
 VDS_GROUP_CPU_TYPE_CANNOT_BE_NULL=Cannot add Cluster. CPU type must be 
specified.
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 04ecea4..c97dd9b 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
@@ -315,6 +315,7 @@
        -Please move Hosts with lower CPU to maintenance first.
 VDS_GROUP_CANNOT_UPDATE_COMPATIBILITY_VERSION_WITH_LOWER_HOSTS=Cannot change 
Cluster Compatibility Version to higher version when there are active Hosts 
with lower version.\n\
        -Please move Hosts with lower version to maintenance first.
+VDS_GROUP_CANNOT_UPDATE_VDS_UP=Cannot change Cluster.Trying to connect Cluster 
to Data Center with Hosts which has status Up.
 VDS_GROUP_CANNOT_ADD_COMPATIBILITY_VERSION_WITH_LOWER_STORAGE_POOL=Cannot add 
Cluster with Compatibility Version that is lower than the Data Center 
Compatibility Version.\n\
        -Please upgrade your Cluster to a later Compatibility version first.
 VDS_GROUP_CPU_TYPE_CANNOT_BE_NULL=Cannot add Cluster. CPU type must be 
specified.


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I05343b232f565b1b829645795bf804e246a405fd
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Michael Kublin <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to