From 755f660b7ca129f869da07db0cc4433106f47ff9 Mon Sep 17 00:00:00 2001 From: Brian Waldon Date: Sat, 28 Jan 2012 21:47:06 -0800 Subject: Use name filter in GlanceImageService show_by_name Fixes bug 883289 Change-Id: Ie2e62aea55e6541dc4ad1a725130fbf0259362fb --- nova/image/glance.py | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) (limited to 'nova/image') diff --git a/nova/image/glance.py b/nova/image/glance.py index 2a24d534e..092dd832a 100644 --- a/nova/image/glance.py +++ b/nova/image/glance.py @@ -227,13 +227,11 @@ class GlanceImageService(object): def show_by_name(self, context, name): """Returns a dict containing image data for the given name.""" - # TODO(vish): replace this with more efficient call when glance - # supports it. - image_metas = self.detail(context) - for image_meta in image_metas: - if name == image_meta.get('name'): - return image_meta - raise exception.ImageNotFound(image_id=name) + image_metas = self.detail(context, filters={'name': name}) + try: + return image_metas[0] + except (IndexError, TypeError): + raise exception.ImageNotFound(image_id=name) def get(self, context, image_id, data): """Calls out to Glance for metadata and data and writes data.""" -- cgit