summaryrefslogtreecommitdiffstats
path: root/nova
diff options
context:
space:
mode:
authorVishvananda Ishaya <vishvananda@gmail.com>2011-04-06 12:58:57 -0700
committerVishvananda Ishaya <vishvananda@gmail.com>2011-04-06 12:58:57 -0700
commitcd279bec6391ef40d278f377f0039b507b14904b (patch)
tree357a8702103b784ca4c90c7331ed1fcf7addcb8e /nova
parent75082c44cdc0319c56805b5558927760636eaf4b (diff)
check visibility on delete and update
Diffstat (limited to 'nova')
-rw-r--r--nova/image/glance.py4
-rw-r--r--nova/image/local.py6
-rw-r--r--nova/image/s3.py4
3 files changed, 9 insertions, 5 deletions
diff --git a/nova/image/glance.py b/nova/image/glance.py
index f848f40d8..bf49ca96c 100644
--- a/nova/image/glance.py
+++ b/nova/image/glance.py
@@ -151,6 +151,8 @@ class GlanceImageService(service.BaseImageService):
:raises NotFound if the image does not exist.
"""
+ # NOTE(vish): show is to check if image is available
+ self.show(context, image_id)
try:
image_meta = self.client.update_image(image_id, image_meta, data)
except glance_exception.NotFound:
@@ -165,6 +167,8 @@ class GlanceImageService(service.BaseImageService):
:raises NotFound if the image does not exist.
"""
+ # NOTE(vish): show is to check if image is available
+ self.show(context, image_id)
try:
result = self.client.delete_image(image_id)
except glance_exception.NotFound:
diff --git a/nova/image/local.py b/nova/image/local.py
index bad4c2d85..8bf78b4c9 100644
--- a/nova/image/local.py
+++ b/nova/image/local.py
@@ -126,6 +126,8 @@ class LocalImageService(service.BaseImageService):
def update(self, context, image_id, metadata, data=None):
"""Replace the contents of the given image with the new data."""
+ # NOTE(vish): show is to check if image is available
+ self.show(context, image_id)
metadata['id'] = image_id
try:
if data:
@@ -143,9 +145,11 @@ class LocalImageService(service.BaseImageService):
def delete(self, context, image_id):
"""Delete the given image.
- Raises OSError if the image does not exist.
+ Raises NotFound if the image does not exist.
"""
+ # NOTE(vish): show is to check if image is available
+ self.show(context, image_id)
try:
shutil.rmtree(self._path_to(image_id, None))
except (IOError, ValueError):
diff --git a/nova/image/s3.py b/nova/image/s3.py
index a7301eefd..554760d53 100644
--- a/nova/image/s3.py
+++ b/nova/image/s3.py
@@ -59,13 +59,9 @@ class S3ImageService(service.BaseImageService):
return image
def delete(self, context, image_id):
- # FIXME(vish): call to show is to check visibility
- self.show(context, image_id)
self.service.delete(context, image_id)
def update(self, context, image_id, metadata, data=None):
- # FIXME(vish): call to show is to check visibility
- self.show(context, image_id)
image = self.service.update(context, image_id, metadata, data)
return image