summaryrefslogtreecommitdiffstats
path: root/nova/compute
diff options
context:
space:
mode:
authorBrian Waldon <bcwaldon@gmail.com>2012-01-20 17:02:19 -0800
committerBrian Waldon <bcwaldon@gmail.com>2012-01-20 17:02:19 -0800
commitd7448fc86a929226a34e92ef77684441f451edaf (patch)
tree371ee4b50e988eb4a32503ccdc886c84f4f8cc10 /nova/compute
parent1bf066c59bbfe40a30e498f2b24fdddd82fb2508 (diff)
Handle FlavorNotFound on server list w/ filter
Fix bug 919426 Change-Id: I1f450fd7ed28837b664aa81f4dd833e3433cd126
Diffstat (limited to 'nova/compute')
-rw-r--r--nova/compute/api.py16
1 files changed, 13 insertions, 3 deletions
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)