From f45d43626385c15246e55212a0093ae03695e203 Mon Sep 17 00:00:00 2001 From: Angus Salkeld Date: Fri, 15 Jun 2012 09:49:46 +1000 Subject: [PATCH] Fix the error reporting. - Don't return a dict error - in manager return full response - return the result in Resource.validate() Change-Id: I585ea9dd9cf747927fb4effb90cfff49cba20931 Signed-off-by: Angus Salkeld --- heat/engine/checkeddict.py | 6 ++---- heat/engine/manager.py | 2 +- heat/engine/parser.py | 2 +- heat/engine/resources.py | 4 ++-- 4 files changed, 6 insertions(+), 8 deletions(-) diff --git a/heat/engine/checkeddict.py b/heat/engine/checkeddict.py index ec9c6fe3..41367a94 100644 --- a/heat/engine/checkeddict.py +++ b/heat/engine/checkeddict.py @@ -154,11 +154,9 @@ class Properties(CheckedDict): if 'Required' in self.data[key]: if self.data[key]['Required'] \ and not 'Value' in self.data[key]: - return {'Error': - '%s Property must be provided' % key} + return '%s Property must be provided' % key # are there unimplemented Properties if not self.data[key]['Implemented'] and 'Value' in self.data[key]: - return {'Error': - '%s Property not implemented yet' % key} + return '%s Property not implemented yet' % key return None diff --git a/heat/engine/manager.py b/heat/engine/manager.py index f8bb9c51..29922136 100644 --- a/heat/engine/manager.py +++ b/heat/engine/manager.py @@ -203,7 +203,7 @@ class EngineManager(manager.Manager): template_copy = None if 'Malformed Query Response' in \ response['ValidateTemplateResult']['Description']: - return response['ValidateTemplateResult']['Description'] + return response stack = parser.Stack(context, stack_name, template, 0, params, metadata_server=metadata_server) diff --git a/heat/engine/parser.py b/heat/engine/parser.py index 2b72bb9e..8494e5c7 100644 --- a/heat/engine/parser.py +++ b/heat/engine/parser.py @@ -103,7 +103,7 @@ class Stack(object): res = str(ex) finally: if res: - err_str = 'Malformed Query Response [%s]' % (res) + err_str = 'Malformed Query Response %s' % (res) response = {'ValidateTemplateResult': { 'Description': err_str, 'Parameters': []}} diff --git a/heat/engine/resources.py b/heat/engine/resources.py index 137b41be..82b79154 100644 --- a/heat/engine/resources.py +++ b/heat/engine/resources.py @@ -128,8 +128,8 @@ class Resource(object): try: self.calculate_properties() except ValueError as ex: - return {'Error': '%s' % str(ex)} - self.properties.validate() + return str(ex) + return self.properties.validate() def instance_id_set(self, inst): self.instance_id = inst -- 2.45.2