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