From 7f4323365a6eedca8465fe70282c14b89cb8d78e Mon Sep 17 00:00:00 2001 From: Steven Dake Date: Fri, 11 May 2012 08:33:13 -0700 Subject: [PATCH] Check for invalid Fn::FindInMap key Partially Fixes Issue #111 Signed-off-by: Steven Dake --- heat/engine/manager.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) 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 -- 2.45.2