Tal Nisan has uploaded a new change for review.

Change subject: backend: Changed attach storage cmd & params to support add 
without activate
......................................................................

backend: Changed attach storage cmd & params to support add without activate

Changed the AttachStorageDomainToPoolCommand and it's corresponding
parameters to support attaching a storage domain to a pool without attempting
to activate the domain

Change-Id: Id3d96b95ba2ca6f63623f89433741c2509ec3c0e
Related-To: https://bugzilla.redhat.com/1096971
Signed-off-by: Tal Nisan <[email protected]>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AddLocalStorageDomainCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AttachStorageDomainToPoolCommand.java
M 
backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/storage/AttachStorageDomainToPoolCommandTest.java
A 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/AttachStorageDomainToPoolParameters.java
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendAttachedStorageDomainsResource.java
M 
backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendAttachedStorageDomainsResourceTest.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/DataCenterGuideModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/StorageDataCenterListModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/StorageListModel.java
9 files changed, 45 insertions(+), 17 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/75/28275/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AddLocalStorageDomainCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AddLocalStorageDomainCommand.java
index d90f6e9..9ad1f176 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AddLocalStorageDomainCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AddLocalStorageDomainCommand.java
@@ -1,8 +1,8 @@
 package org.ovirt.engine.core.bll.storage;
 
 import org.ovirt.engine.core.bll.Backend;
+import org.ovirt.engine.core.common.action.AttachStorageDomainToPoolParameters;
 import org.ovirt.engine.core.common.action.StorageDomainManagementParameter;
-import org.ovirt.engine.core.common.action.StorageDomainPoolParametersBase;
 import org.ovirt.engine.core.common.action.VdcActionType;
 import org.ovirt.engine.core.common.action.VdcReturnValueBase;
 import org.ovirt.engine.core.common.businessentities.StoragePoolStatus;
@@ -85,7 +85,7 @@
             VdcReturnValueBase returnValue = Backend.getInstance()
                     .runInternalAction(
                             VdcActionType.AttachStorageDomainToPool,
-                            new 
StorageDomainPoolParametersBase(getStorageDomain().getId(), 
getStoragePool().getId()));
+                            new 
AttachStorageDomainToPoolParameters(getStorageDomain().getId(), 
getStoragePool().getId()));
             if(!returnValue.getSucceeded()) {
                 getReturnValue().setSucceeded(false);
                 getReturnValue().setFault(returnValue.getFault());
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AttachStorageDomainToPoolCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AttachStorageDomainToPoolCommand.java
index 2158e21..a3a2859 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AttachStorageDomainToPoolCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AttachStorageDomainToPoolCommand.java
@@ -5,6 +5,7 @@
 import org.ovirt.engine.core.bll.NonTransactiveCommandAttribute;
 import org.ovirt.engine.core.bll.context.CommandContext;
 import org.ovirt.engine.core.common.AuditLogType;
+import org.ovirt.engine.core.common.action.AttachStorageDomainToPoolParameters;
 import org.ovirt.engine.core.common.action.StorageDomainPoolParametersBase;
 import org.ovirt.engine.core.common.action.StoragePoolWithStoragesParameter;
 import org.ovirt.engine.core.common.action.VdcActionType;
@@ -22,7 +23,7 @@
 import org.ovirt.engine.core.utils.transaction.TransactionMethod;
 
 @NonTransactiveCommandAttribute(forceCompensation = true)
-public class AttachStorageDomainToPoolCommand<T extends 
StorageDomainPoolParametersBase> extends
+public class AttachStorageDomainToPoolCommand<T extends 
AttachStorageDomainToPoolParameters> extends
         StorageDomainCommandBase<T> {
     private StoragePoolIsoMap map;
 
@@ -96,7 +97,9 @@
                             return null;
                         }
                     });
-                    attemptToActivateDomain();
+                    if (!Boolean.FALSE.equals(getParameters().getActivate())) {
+                        attemptToActivateDomain();
+                    }
                     setSucceeded(true);
                 }
             }
diff --git 
a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/storage/AttachStorageDomainToPoolCommandTest.java
 
b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/storage/AttachStorageDomainToPoolCommandTest.java
index b93a4d8..04364f5 100644
--- 
a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/storage/AttachStorageDomainToPoolCommandTest.java
+++ 
b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/storage/AttachStorageDomainToPoolCommandTest.java
@@ -22,7 +22,7 @@
 import org.ovirt.engine.core.bll.context.CommandContext;
 import org.ovirt.engine.core.bll.context.CompensationContext;
 import org.ovirt.engine.core.bll.interfaces.BackendInternal;
-import org.ovirt.engine.core.common.action.StorageDomainPoolParametersBase;
+import org.ovirt.engine.core.common.action.AttachStorageDomainToPoolParameters;
 import org.ovirt.engine.core.common.action.VdcActionParametersBase;
 import org.ovirt.engine.core.common.action.VdcActionType;
 import org.ovirt.engine.core.common.action.VdcReturnValueBase;
@@ -75,9 +75,9 @@
 
     @Test
     public void statusSetInMap() {
-        StorageDomainPoolParametersBase params = new 
StorageDomainPoolParametersBase(Guid.newGuid(), Guid.newGuid());
-        AttachStorageDomainToPoolCommand<StorageDomainPoolParametersBase> cmd =
-                spy(new 
AttachStorageDomainToPoolCommand<StorageDomainPoolParametersBase>(params));
+        AttachStorageDomainToPoolParameters params = new 
AttachStorageDomainToPoolParameters(Guid.newGuid(), Guid.newGuid());
+        AttachStorageDomainToPoolCommand<AttachStorageDomainToPoolParameters> 
cmd =
+                spy(new 
AttachStorageDomainToPoolCommand<AttachStorageDomainToPoolParameters>(params));
 
         doReturn(dbFacade).when(cmd).getDbFacade();
         doNothing().when(cmd).attemptToActivateDomain();
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/AttachStorageDomainToPoolParameters.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/AttachStorageDomainToPoolParameters.java
new file mode 100644
index 0000000..4e51807
--- /dev/null
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/AttachStorageDomainToPoolParameters.java
@@ -0,0 +1,22 @@
+package org.ovirt.engine.core.common.action;
+
+import org.ovirt.engine.core.compat.Guid;
+
+public class AttachStorageDomainToPoolParameters extends 
StorageDomainPoolParametersBase {
+    private Boolean activate;
+
+    public AttachStorageDomainToPoolParameters() {
+    }
+
+    public AttachStorageDomainToPoolParameters(Guid storageDomainId, Guid 
storagePoolId) {
+        super(storageDomainId, storagePoolId);
+    }
+
+    public Boolean getActivate() {
+        return activate;
+    }
+
+    public void setActivate(Boolean activate) {
+        this.activate = activate;
+    }
+}
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendAttachedStorageDomainsResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendAttachedStorageDomainsResource.java
index 88cbf54..9d3568f 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendAttachedStorageDomainsResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendAttachedStorageDomainsResource.java
@@ -10,6 +10,7 @@
 import org.ovirt.engine.api.model.StorageType;
 import org.ovirt.engine.api.resource.AttachedStorageDomainResource;
 import org.ovirt.engine.api.resource.AttachedStorageDomainsResource;
+import org.ovirt.engine.core.common.action.AttachStorageDomainToPoolParameters;
 import 
org.ovirt.engine.core.common.action.DetachStorageDomainFromPoolParameters;
 import org.ovirt.engine.core.common.action.RemoveStorageDomainParameters;
 import org.ovirt.engine.core.common.action.VdcActionType;
@@ -63,7 +64,7 @@
         }
 
         return performCreate(VdcActionType.AttachStorageDomainToPool,
-                               new 
DetachStorageDomainFromPoolParameters(storageDomainId, dataCenterId),
+                               new 
AttachStorageDomainToPoolParameters(storageDomainId, dataCenterId),
                                new StorageDomainIdResolver(storageDomainId));
     }
 
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendAttachedStorageDomainsResourceTest.java
 
b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendAttachedStorageDomainsResourceTest.java
index d5635f3..8660a64 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendAttachedStorageDomainsResourceTest.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendAttachedStorageDomainsResourceTest.java
@@ -14,6 +14,7 @@
 import org.junit.Ignore;
 import org.junit.Test;
 import org.ovirt.engine.api.model.StorageDomain;
+import org.ovirt.engine.core.common.action.AttachStorageDomainToPoolParameters;
 import 
org.ovirt.engine.core.common.action.DetachStorageDomainFromPoolParameters;
 import org.ovirt.engine.core.common.action.RemoveStorageDomainParameters;
 import org.ovirt.engine.core.common.action.VdcActionType;
@@ -51,7 +52,7 @@
         setUpGetConnection(1);
 
         setUpCreationExpectations(VdcActionType.AttachStorageDomainToPool,
-                                  DetachStorageDomainFromPoolParameters.class,
+                                  AttachStorageDomainToPoolParameters.class,
                                   new String[] { "StorageDomainId", 
"StoragePoolId" },
                                   new Object[] { GUIDS[0], 
GUIDS[NAMES.length-1] },
                                   true,
@@ -92,7 +93,7 @@
                 getEntityStatic(0));
 
         setUpCreationExpectations(VdcActionType.AttachStorageDomainToPool,
-                                  DetachStorageDomainFromPoolParameters.class,
+                                  AttachStorageDomainToPoolParameters.class,
                                   new String[] { "StorageDomainId", 
"StoragePoolId" },
                                   new Object[] { GUIDS[0], 
GUIDS[NAMES.length-1] },
                                   true,
@@ -125,7 +126,7 @@
 
     private void doTestBadAdd(boolean canDo, boolean success, String detail) 
throws Exception {
         
setUriInfo(setUpActionExpectations(VdcActionType.AttachStorageDomainToPool,
-                                           
DetachStorageDomainFromPoolParameters.class,
+                                           
AttachStorageDomainToPoolParameters.class,
                                            new String[] { "StorageDomainId", 
"StoragePoolId" },
                                            new Object[] { GUIDS[0], 
GUIDS[NAMES.length-1] },
                                            canDo,
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/DataCenterGuideModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/DataCenterGuideModel.java
index 9498512..f87583d 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/DataCenterGuideModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/DataCenterGuideModel.java
@@ -7,9 +7,9 @@
 import org.ovirt.engine.core.common.action.AddSANStorageDomainParameters;
 import org.ovirt.engine.core.common.action.AddVdsActionParameters;
 import org.ovirt.engine.core.common.action.ApproveVdsParameters;
+import org.ovirt.engine.core.common.action.AttachStorageDomainToPoolParameters;
 import org.ovirt.engine.core.common.action.ChangeVDSClusterParameters;
 import org.ovirt.engine.core.common.action.StorageDomainManagementParameter;
-import org.ovirt.engine.core.common.action.StorageDomainPoolParametersBase;
 import 
org.ovirt.engine.core.common.action.StorageServerConnectionParametersBase;
 import org.ovirt.engine.core.common.action.VdcActionParametersBase;
 import org.ovirt.engine.core.common.action.VdcActionType;
@@ -1191,7 +1191,7 @@
 
     private void attachStorageToDataCenter(Guid storageId, Guid dataCenterId)
     {
-        
Frontend.getInstance().runAction(VdcActionType.AttachStorageDomainToPool, new 
StorageDomainPoolParametersBase(storageId,
+        
Frontend.getInstance().runAction(VdcActionType.AttachStorageDomainToPool, new 
AttachStorageDomainToPoolParameters(storageId,
                 dataCenterId),
                 null,
                 this);
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/StorageDataCenterListModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/StorageDataCenterListModel.java
index aefcace..cb874ba 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/StorageDataCenterListModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/StorageDataCenterListModel.java
@@ -4,6 +4,7 @@
 import java.util.List;
 
 import org.ovirt.engine.core.common.VdcActionUtils;
+import org.ovirt.engine.core.common.action.AttachStorageDomainToPoolParameters;
 import 
org.ovirt.engine.core.common.action.DetachStorageDomainFromPoolParameters;
 import org.ovirt.engine.core.common.action.RemoveStorageDomainParameters;
 import org.ovirt.engine.core.common.action.StorageDomainPoolParametersBase;
@@ -398,7 +399,7 @@
                     new ArrayList<VdcActionParametersBase>();
             for (StoragePool dataCenter : items)
             {
-                parameters.add(new 
StorageDomainPoolParametersBase(getEntity().getId(), dataCenter.getId()));
+                parameters.add(new 
AttachStorageDomainToPoolParameters(getEntity().getId(), dataCenter.getId()));
             }
 
             
Frontend.getInstance().runMultipleAction(VdcActionType.AttachStorageDomainToPool,
 parameters,
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/StorageListModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/StorageListModel.java
index 7d7445f..b0638d6 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/StorageListModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/StorageListModel.java
@@ -5,11 +5,11 @@
 import java.util.List;
 
 import org.ovirt.engine.core.common.action.AddSANStorageDomainParameters;
+import org.ovirt.engine.core.common.action.AttachStorageDomainToPoolParameters;
 import org.ovirt.engine.core.common.action.ExtendSANStorageDomainParameters;
 import org.ovirt.engine.core.common.action.RemoveStorageDomainParameters;
 import org.ovirt.engine.core.common.action.StorageDomainManagementParameter;
 import org.ovirt.engine.core.common.action.StorageDomainParametersBase;
-import org.ovirt.engine.core.common.action.StorageDomainPoolParametersBase;
 import 
org.ovirt.engine.core.common.action.StorageServerConnectionParametersBase;
 import org.ovirt.engine.core.common.action.VdcActionParametersBase;
 import org.ovirt.engine.core.common.action.VdcActionType;
@@ -1878,7 +1878,7 @@
 
     private void attachStorageToDataCenter(Guid storageId, Guid dataCenterId)
     {
-        
Frontend.getInstance().runAction(VdcActionType.AttachStorageDomainToPool, new 
StorageDomainPoolParametersBase(storageId,
+        
Frontend.getInstance().runAction(VdcActionType.AttachStorageDomainToPool, new 
AttachStorageDomainToPoolParameters(storageId,
             dataCenterId), null, this);
     }
 


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

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

Reply via email to