Maor Lipchuk has uploaded a new change for review.

Change subject: core: re-factor method of deleteVolume to CinderBroker
......................................................................

core: re-factor method of deleteVolume to CinderBroker

Use the delete volume and delete volume snapshot in a CinderBroker
method to delete volume of unknown type (to be used for restore).

Change-Id: Id1be5020e4d95b10164a5216b0bb793573c743c5
Bug-Url: https://bugzilla.redhat.com/1185826
Signed-off-by: Maor Lipchuk <mlipc...@redhat.com>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/CinderBroker.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/RemoveCinderDiskCommand.java
2 files changed, 16 insertions(+), 17 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/49/42449/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/CinderBroker.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/CinderBroker.java
index 76e9357..13141e1 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/CinderBroker.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/CinderBroker.java
@@ -16,6 +16,7 @@
 import 
org.ovirt.engine.core.common.businessentities.storage.CinderVolumeStatus;
 import org.ovirt.engine.core.common.businessentities.storage.DiskInterface;
 import org.ovirt.engine.core.common.businessentities.storage.ImageStatus;
+import 
org.ovirt.engine.core.common.businessentities.storage.VolumeClassification;
 import org.ovirt.engine.core.common.businessentities.storage.VolumeFormat;
 import org.ovirt.engine.core.common.errors.VdcBllErrors;
 import org.ovirt.engine.core.compat.Guid;
@@ -84,6 +85,20 @@
         });
     }
 
+    public VolumeClassification deleteVolumeUnknownType(CinderDisk cinderDisk) 
{
+        VolumeClassification cinderVolumeType = 
cinderDisk.getVolumeClassification();
+        if (cinderVolumeType == VolumeClassification.Volume) {
+            deleteVolume(cinderDisk);
+        } else if (cinderVolumeType == VolumeClassification.Snapshot) {
+            deleteSnapshot(cinderDisk.getImageId());
+        } else {
+            log.error("Error, could not determine Cinder entity {} with id {} 
from Cinder provider.",
+                    cinderDisk.getDiskAlias(),
+                    cinderDisk.getImageId());
+        }
+        return cinderVolumeType;
+    }
+
     public boolean deleteVolume(final CinderDisk cinderDisk) {
         return execute(new Callable<Boolean>() {
             @Override
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/RemoveCinderDiskCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/RemoveCinderDiskCommand.java
index 88be567..e38a046 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/RemoveCinderDiskCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/RemoveCinderDiskCommand.java
@@ -22,7 +22,6 @@
 import org.ovirt.engine.core.common.businessentities.VmDeviceId;
 import org.ovirt.engine.core.common.businessentities.storage.CinderDisk;
 import org.ovirt.engine.core.common.businessentities.storage.ImageStatus;
-import 
org.ovirt.engine.core.common.businessentities.storage.VolumeClassification;
 import org.ovirt.engine.core.common.utils.Pair;
 import org.ovirt.engine.core.compat.Guid;
 import org.ovirt.engine.core.compat.TransactionScopeOption;
@@ -38,7 +37,6 @@
 public class RemoveCinderDiskCommand<T extends RemoveCinderDiskParameters> 
extends RemoveImageCommand<T> {
 
     private static final Logger log = 
LoggerFactory.getLogger(RemoveCinderDiskCommand.class);
-    private CinderBroker cinderBroker;
     private CinderDisk cinderDisk;
     private Guid storageDomainId;
 
@@ -64,7 +62,7 @@
                 lockVmSnapshotsWithWait(vm);
             }
         }
-        removeCinderVolume(lastCinderVolume);
+        getCinderBroker().deleteVolumeUnknownType(lastCinderVolume);
         getParameters().setRemovedVolume(lastCinderVolume);
         persistCommand(getParameters().getParentCommand(), true);
         getReturnValue().setActionReturnValue(disk.getId());
@@ -82,20 +80,6 @@
             cinderDisk = (CinderDisk) 
getDiskDao().get(getParameters().getDiskId());
         }
         return cinderDisk;
-    }
-
-    private VolumeClassification removeCinderVolume(CinderDisk volume) {
-        VolumeClassification cinderVolumeType = 
volume.getVolumeClassification();
-        if (cinderVolumeType == VolumeClassification.Volume) {
-            getCinderBroker().deleteVolume(volume);
-        } else if (cinderVolumeType == VolumeClassification.Snapshot) {
-            getCinderBroker().deleteSnapshot(volume.getImageId());
-        } else {
-            log.error("Error, could not determine Cinder entity {} with id {} 
from Cinder provider.",
-                    volume.getDiskAlias(),
-                    volume.getImageId());
-        }
-        return cinderVolumeType;
     }
 
     protected void removeDiskFromDb(final CinderDisk lastCinderVolume) {


-- 
To view, visit https://gerrit.ovirt.org/42449
To unsubscribe, visit https://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Id1be5020e4d95b10164a5216b0bb793573c743c5
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Maor Lipchuk <mlipc...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to