Maor Lipchuk has uploaded a new change for review.

Change subject: core: Adding support for detach storage from old pool
......................................................................

core: Adding support for detach storage from old pool

Adding a parameter for indication when we want to detach a storage
domain from its old pool in the meta data.

The vdsm action forcedDetachStorageDomain has been changed to indicate
that only domain with empty GUID pool id, will be forced detached in the
meta data.
This change in the engine is related to this change

Change-Id: Ieab6d838778246c2d51b7b77ba655275016148df
Signed-off-by: Maor Lipchuk <[email protected]>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AttachStorageDomainToPoolCommand.java
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/DetachStorageDomainVDSCommandParameters.java
M 
backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/irsbroker/DetachStorageDomainVDSCommand.java
3 files changed, 17 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/00/29300/1

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 1c01838..20ef120 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
@@ -123,6 +123,7 @@
                                                 Guid.Empty,
                                                 0);
                                 detachParams.setForce(true);
+                                detachParams.setDetachFromOldStoragePool(true);
                                 VDSReturnValue returnValue =
                                         
runVdsCommand(VDSCommandType.DetachStorageDomain, detachParams);
                                 if (!returnValue.getSucceeded()) {
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/DetachStorageDomainVDSCommandParameters.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/DetachStorageDomainVDSCommandParameters.java
index 9d230b6..83e1628 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/DetachStorageDomainVDSCommandParameters.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/DetachStorageDomainVDSCommandParameters.java
@@ -18,9 +18,19 @@
         privateForce = value;
     }
 
+    private boolean detachFromOldStoragePool;
+
     public DetachStorageDomainVDSCommandParameters() {
     }
 
+    public boolean isDetachFromOldStoragePool() {
+        return detachFromOldStoragePool;
+    }
+
+    public void setDetachFromOldStoragePool(boolean detachFromOldStoragePool) {
+        this.detachFromOldStoragePool = detachFromOldStoragePool;
+    }
+
     @Override
     public String toString() {
         return String.format("%s, force = %s", super.toString(), getForce());
diff --git 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/irsbroker/DetachStorageDomainVDSCommand.java
 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/irsbroker/DetachStorageDomainVDSCommand.java
index 1429d9a..bad7589 100644
--- 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/irsbroker/DetachStorageDomainVDSCommand.java
+++ 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/irsbroker/DetachStorageDomainVDSCommand.java
@@ -1,6 +1,7 @@
 package org.ovirt.engine.core.vdsbroker.irsbroker;
 
 import 
org.ovirt.engine.core.common.vdscommands.DetachStorageDomainVDSCommandParameters;
+import org.ovirt.engine.core.compat.Guid;
 import org.ovirt.engine.core.utils.log.Log;
 import org.ovirt.engine.core.utils.log.LogFactory;
 
@@ -14,8 +15,12 @@
     protected void executeIrsBrokerCommand() {
         if (getParameters().getForce()) {
             try {
+                Guid storagePoolId = getParameters().getStoragePoolId();
+                if (getParameters().isDetachFromOldStoragePool()) {
+                    storagePoolId = Guid.Empty;
+                }
                 status = 
getIrsProxy().forcedDetachStorageDomain(getParameters().getStorageDomainId().toString(),
-                        getParameters().getStoragePoolId().toString());
+                        storagePoolId.toString());
                 proceedProxyReturnValue();
             } catch (RuntimeException ex) {
                 printReturnValue();


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

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

Reply via email to