diff options
| author | Vishvananda Ishaya <vishvananda@gmail.com> | 2011-07-21 18:47:29 +0000 |
|---|---|---|
| committer | Tarmac <> | 2011-07-21 18:47:29 +0000 |
| commit | fe456e8b8dfa58b7900a5b5e6cfac8bed473d9a5 (patch) | |
| tree | 073ddb219a0d175b53ead2abdceeecb177377d7a /nova | |
| parent | 74c399cb2ebb914973c2f0dc6ecf4dd8bbc062d7 (diff) | |
| parent | 0f5184da2bfd9fb9007ea786aff5117a5b4461f3 (diff) | |
Some code was recently added to glance to allow the is_public filter to be overridden. This allows us to get all images and filter properly on the nova side until keystone support is in glance. This fixes the issue with private images and snapshots disappearing from the image list.
Diffstat (limited to 'nova')
| -rw-r--r-- | nova/image/glance.py | 8 | ||||
| -rw-r--r-- | nova/image/s3.py | 2 |
2 files changed, 9 insertions, 1 deletions
diff --git a/nova/image/glance.py b/nova/image/glance.py index 55d948a32..5c2dc957b 100644 --- a/nova/image/glance.py +++ b/nova/image/glance.py @@ -89,6 +89,10 @@ class GlanceImageService(service.BaseImageService): # `get_images` here because we need `is_public` and `properties` # included so we can filter by user filtered = [] + filters = filters or {} + if 'is_public' not in filters: + # NOTE(vish): don't filter out private images + filters['is_public'] = 'none' image_metas = self.client.get_images_detailed(filters=filters, marker=marker, limit=limit) @@ -101,6 +105,10 @@ class GlanceImageService(service.BaseImageService): def detail(self, context, filters=None, marker=None, limit=None): """Calls out to Glance for a list of detailed image information.""" filtered = [] + filters = filters or {} + if 'is_public' not in filters: + # NOTE(vish): don't filter out private images + filters['is_public'] = 'none' image_metas = self.client.get_images_detailed(filters=filters, marker=marker, limit=limit) diff --git a/nova/image/s3.py b/nova/image/s3.py index 4a3df98ba..c313c7a13 100644 --- a/nova/image/s3.py +++ b/nova/image/s3.py @@ -168,7 +168,7 @@ class S3ImageService(service.BaseImageService): metadata.update({'disk_format': image_format, 'container_format': image_format, 'status': 'queued', - 'is_public': True, + 'is_public': False, 'properties': properties}) metadata['properties']['image_state'] = 'pending' image = self.service.create(context, metadata) |
