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
