You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jclouds.apache.org by na...@apache.org on 2015/12/22 23:45:43 UTC
jclouds-labs git commit: JCLOUDS-1052: Fix DigitalOcean2 deleteImage
Repository: jclouds-labs
Updated Branches:
refs/heads/master 516db713d -> 91f70d196
JCLOUDS-1052: Fix DigitalOcean2 deleteImage
Project: http://git-wip-us.apache.org/repos/asf/jclouds-labs/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds-labs/commit/91f70d19
Tree: http://git-wip-us.apache.org/repos/asf/jclouds-labs/tree/91f70d19
Diff: http://git-wip-us.apache.org/repos/asf/jclouds-labs/diff/91f70d19
Branch: refs/heads/master
Commit: 91f70d19642d2480c6c736fb03a6ed94ba078f27
Parents: 516db71
Author: Ignasi Barrera <na...@apache.org>
Authored: Tue Dec 22 23:05:29 2015 +0100
Committer: Ignasi Barrera <na...@apache.org>
Committed: Tue Dec 22 23:12:59 2015 +0100
----------------------------------------------------------------------
.../extensions/DigitalOcean2ImageExtension.java | 24 ++++++++++++--------
1 file changed, 14 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/91f70d19/digitalocean2/src/main/java/org/jclouds/digitalocean2/compute/extensions/DigitalOcean2ImageExtension.java
----------------------------------------------------------------------
diff --git a/digitalocean2/src/main/java/org/jclouds/digitalocean2/compute/extensions/DigitalOcean2ImageExtension.java b/digitalocean2/src/main/java/org/jclouds/digitalocean2/compute/extensions/DigitalOcean2ImageExtension.java
index 524e4d1..56e67de 100644
--- a/digitalocean2/src/main/java/org/jclouds/digitalocean2/compute/extensions/DigitalOcean2ImageExtension.java
+++ b/digitalocean2/src/main/java/org/jclouds/digitalocean2/compute/extensions/DigitalOcean2ImageExtension.java
@@ -118,17 +118,21 @@ public class DigitalOcean2ImageExtension implements ImageExtension {
@Override
public boolean deleteImage(String id) {
- try {
- // The id of the image can be an id or a slug. Use the corresponding method of the API depending on what is
- // provided. If it can be parsed as a number, use the method to destroy by ID. Otherwise, destroy by slug.
- Integer imageId = Ints.tryParse(id);
- if (imageId != null) {
- logger.debug(">> image does not have a slug. Using the id to delete the image...");
- api.imageApi().delete(imageId);
+ String imageId = ImageInRegion.extractImageId(id);
+ Integer numericId = Ints.tryParse(imageId); // User images don't have a slug, so we expect a numeric id here
+
+ if (numericId != null) {
+ try {
+ logger.debug(">> deleting image %s...", id);
+ api.imageApi().delete(numericId);
+ return true;
+ } catch (Exception ex) {
+ logger.error(ex, ">> error deleting image %s", id);
}
- return true;
- } catch (Exception ex) {
- return false;
+ } else {
+ logger.warn(">> image %s is not a user image and cannot be deleted", id);
}
+
+ return false;
}
}