Daniel Erez has uploaded a new change for review.

Change subject: Revert "engine:Validate maximum number of hosts in DC.(#771699)"
......................................................................

Revert "engine:Validate maximum number of hosts in DC.(#771699)"

This reverts commit bdd78019337a8757f3a0fe5aa2ea6abd12b105f8

Additional fixes are required for this patch,
will be re-pushed later.

Change-Id: I05c334738864796c33c01fe3b6940088d3fdb11f
Signed-off-by: Daniel Erez <[email protected]>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVdsSpmIdCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ChangeVDSClusterCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVdsGroupCommand.java
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/errors/VdcBllErrors.java
M backend/manager/modules/dal/src/main/resources/bundles/VdsmErrors.properties
5 files changed, 26 insertions(+), 47 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/16/8316/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVdsSpmIdCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVdsSpmIdCommand.java
index c110804..03e3c10 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVdsSpmIdCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVdsSpmIdCommand.java
@@ -6,10 +6,6 @@
 
 import org.ovirt.engine.core.common.action.VdsActionParameters;
 import org.ovirt.engine.core.common.businessentities.vds_spm_id_map;
-import org.ovirt.engine.core.common.config.Config;
-import org.ovirt.engine.core.common.config.ConfigValues;
-import org.ovirt.engine.core.common.errors.VdcBllErrors;
-import org.ovirt.engine.core.common.errors.VdcFault;
 import org.ovirt.engine.core.common.locks.LockingGroup;
 import org.ovirt.engine.core.compat.Guid;
 import org.ovirt.engine.core.dal.dbbroker.DbFacade;
@@ -17,9 +13,8 @@
 import org.ovirt.engine.core.utils.linq.LinqUtils;
 
 @InternalCommandAttribute
-@LockIdNameAttribute(isWait = true)
+@LockIdNameAttribute(isWait=true)
 public class AddVdsSpmIdCommand<T extends VdsActionParameters> extends 
VdsCommand<T> {
-    private List<vds_spm_id_map> vds_spm_id_mapList;
 
     /**
      * Constructor for command creation when compensation is applied on startup
@@ -36,29 +31,17 @@
 
     @Override
     protected boolean canDoAction() {
-        // check if vds already has vds spm id and storage pool exists
-        if (Guid.Empty.equals(getVds().getstorage_pool_id())) {
-            return false;
-        }
-        vds_spm_id_mapList = DbFacade.getInstance().getVdsSpmIdMapDao().getAll(
-                getVds().getstorage_pool_id());
-        if (vds_spm_id_mapList.size() >= Config.<Integer> 
GetValue(ConfigValues.MaxNumberOfHostsInStoragePool)) {
-            VdcFault fault = new VdcFault();
-            fault.setError(VdcBllErrors.ReachedMaxNumberOfHostsInDC);
-            fault.setMessage(Backend.getInstance()
-                    .getVdsErrorsTranslator()
-                    .TranslateErrorTextSingle(fault.getError().toString()));
-            getReturnValue().setFault(fault);
-            return false;
-        }
-        return true;
+        return !Guid.Empty.equals(getVds().getstorage_pool_id())
+                && DbFacade.getInstance().getVdsSpmIdMapDao().get(getVdsId()) 
== null;
     }
 
     @Override
     protected void executeCommand() {
         // according to shaharf the first id is 1
         int selectedId = 1;
-        List<Integer> map = LinqUtils.foreach(vds_spm_id_mapList, new 
Function<vds_spm_id_map, Integer>() {
+        List<vds_spm_id_map> list = 
DbFacade.getInstance().getVdsSpmIdMapDao().getAll(
+                getVds().getstorage_pool_id());
+        List<Integer> map = LinqUtils.foreach(list, new 
Function<vds_spm_id_map, Integer>() {
             @Override
             public Integer eval(vds_spm_id_map vds_spm_id_map) {
                 return vds_spm_id_map.getvds_spm_id();
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ChangeVDSClusterCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ChangeVDSClusterCommand.java
index 81d7c54..028d65d 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ChangeVDSClusterCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ChangeVDSClusterCommand.java
@@ -111,19 +111,6 @@
             setSucceeded(true);
             return;
         }
-
-        if (targetStoragePool != null) {
-            VdcReturnValueBase addVdsSpmIdReturn =
-                    
Backend.getInstance().runInternalAction(VdcActionType.AddVdsSpmId,
-                            getParameters(),
-                            new CommandContext(getCompensationContext()));
-            if (!addVdsSpmIdReturn.getSucceeded()) {
-                setSucceeded(false);
-                getReturnValue().setFault(addVdsSpmIdReturn.getFault());
-                return;
-            }
-        }
-
         // save the new cluster id
         TransactionSupport.executeInNewTransaction(new 
TransactionMethod<Void>() {
             @Override
@@ -165,6 +152,17 @@
             }
         }
 
+        if (targetStoragePool != null) {
+            VdcReturnValueBase addVdsSpmIdReturn =
+                    
Backend.getInstance().runInternalAction(VdcActionType.AddVdsSpmId,
+                            getParameters(),
+                            new CommandContext(getCompensationContext()));
+            if (!addVdsSpmIdReturn.getSucceeded()) {
+                setSucceeded(false);
+                getReturnValue().setFault(addVdsSpmIdReturn.getFault());
+                return;
+            }
+        }
         setSucceeded(true);
     }
 
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 3d53178..7c2e689 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
@@ -60,15 +60,6 @@
                 && getVdsGroup().getstorage_pool_id() != null) {
             for (VdsStatic vds : 
getVdsStaticDAO().getAllForVdsGroup(oldGroup.getId())) {
                 VdsActionParameters parameters = new 
VdsActionParameters(vds.getId());
-                if (getVdsGroup().getstorage_pool_id() != null) {
-                    VdcReturnValueBase addVdsSpmIdReturn =
-                            
getBackend().runInternalAction(VdcActionType.AddVdsSpmId, parameters);
-                    if (!addVdsSpmIdReturn.getSucceeded()) {
-                        setSucceeded(false);
-                        
getReturnValue().setFault(addVdsSpmIdReturn.getFault());
-                        return;
-                    }
-                }
                 if (oldGroup.getstorage_pool_id() != null) {
                     VdcReturnValueBase removeVdsSpmIdReturn =
                             
getBackend().runInternalAction(VdcActionType.RemoveVdsSpmId,
@@ -79,6 +70,15 @@
                         return;
                     }
                 }
+                if (getVdsGroup().getstorage_pool_id() != null) {
+                    VdcReturnValueBase addVdsSpmIdReturn =
+                            
getBackend().runInternalAction(VdcActionType.AddVdsSpmId, parameters);
+                    if (!addVdsSpmIdReturn.getSucceeded()) {
+                        setSucceeded(false);
+                        
getReturnValue().setFault(addVdsSpmIdReturn.getFault());
+                        return;
+                    }
+                }
             }
         }
 
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/errors/VdcBllErrors.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/errors/VdcBllErrors.java
index fb4fe2a..d5a3492 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/errors/VdcBllErrors.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/errors/VdcBllErrors.java
@@ -306,7 +306,6 @@
     ImportInfoError(801),
     ImportUnknownType(802),
     ExportError(803),
-    ReachedMaxNumberOfHostsInDC(804),
     ResourceNamespaceNotEmpty(850),
     ResourceTimeout(851),
     ResourceDoesNotExist(852),
diff --git 
a/backend/manager/modules/dal/src/main/resources/bundles/VdsmErrors.properties 
b/backend/manager/modules/dal/src/main/resources/bundles/VdsmErrors.properties
index 92036ad..fb309e7 100644
--- 
a/backend/manager/modules/dal/src/main/resources/bundles/VdsmErrors.properties
+++ 
b/backend/manager/modules/dal/src/main/resources/bundles/VdsmErrors.properties
@@ -237,7 +237,6 @@
 CannotRetrieveSpmStatus=Cannot retrieve SPM status, master domain probably 
unavailable
 FileStorageDomainStaleNFSHandle=Stale NFS handle on underlying NFS server
 InvalidJob=Job is invalid
-ReachedMaxNumberOfHostsInDC=The maximum number of Hosts allowed in the Data 
Center has been reached
 InvalidPhysDev=Invalid physical device
 PartitionedPhysDev=Partitioned physical device
 InvalidRecovery=Recovery is invalid


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

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

Reply via email to