From d7448fc86a929226a34e92ef77684441f451edaf Mon Sep 17 00:00:00 2001 From: Brian Waldon Date: Fri, 20 Jan 2012 17:02:19 -0800 Subject: Handle FlavorNotFound on server list w/ filter Fix bug 919426 Change-Id: I1f450fd7ed28837b664aa81f4dd833e3433cd126 --- nova/compute/api.py | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) (limited to 'nova/compute') diff --git a/nova/compute/api.py b/nova/compute/api.py index 9cc9744b8..9b6896273 100644 --- a/nova/compute/api.py +++ b/nova/compute/api.py @@ -1003,8 +1003,12 @@ class API(base.Base): filters = {} def _remap_flavor_filter(flavor_id): - instance_type = instance_types.get_instance_type_by_flavor_id( - flavor_id) + try: + instance_type = instance_types.get_instance_type_by_flavor_id( + flavor_id) + except exception.FlavorNotFound: + raise ValueError() + filters['instance_type_id'] = instance_type['id'] def _remap_fixed_ip_filter(fixed_ip): @@ -1037,7 +1041,13 @@ class API(base.Base): if isinstance(remap_object, basestring): filters[remap_object] = value else: - remap_object(value) + try: + remap_object(value) + + # We already know we can't match the filter, so + # return an empty list + except ValueError: + return [] local_zone_only = search_opts.get('local_zone_only', False) -- cgit