From: Steven Dake Date: Fri, 11 May 2012 15:33:13 +0000 (-0700) Subject: Check for invalid Fn::FindInMap key X-Git-Tag: 2014.1~1849 X-Git-Url: https://review.fuel-infra.org/gitweb?a=commitdiff_plain;h=7f4323365a6eedca8465fe70282c14b89cb8d78e;p=openstack-build%2Fheat-build.git Check for invalid Fn::FindInMap key Partially Fixes Issue #111 Signed-off-by: Steven Dake --- diff --git a/heat/engine/manager.py b/heat/engine/manager.py index 366525a8..475c7fff 100644 --- a/heat/engine/manager.py +++ b/heat/engine/manager.py @@ -175,7 +175,16 @@ class EngineManager(manager.Manager): msg = _("No Template provided.") return webob.exc.HTTPBadRequest(explanation=msg) - s = parser.Stack('validate', template, 0, params) + try: + s = parser.Stack('validate', template, 0, params) + except KeyError: + res = 'A Fn::FindInMap operation referenced a non-existent map [%s]' % sys.exc_value + + response = {'ValidateTemplateResult': { + 'Description': 'Malformed Query Response [%s]' % (res), + 'Parameters': []}} + return response + res = s.validate() return res