From 3f9e7827f8ac7cc5d174ff4eb56dd975d82997f8 Mon Sep 17 00:00:00 2001 From: Stefan Reimer Date: Sat, 3 Aug 2019 21:31:17 +0000 Subject: [PATCH] Improve error debugging --- CHANGES.md | 4 ++++ cloudbender/stack.py | 11 +++++++---- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index fd84f3e..66856f0 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,5 +1,9 @@ # Changelog +## 0.7.2 +- Add line numbers to easy debugging +- Fix tests + ## 0.7.1 - Release emergency bugfix, 0.7.0 broke recursive option parsing diff --git a/cloudbender/stack.py b/cloudbender/stack.py index c191edf..e2f68a0 100644 --- a/cloudbender/stack.py +++ b/cloudbender/stack.py @@ -49,9 +49,9 @@ class Stack(object): self.onfailure = 'DELETE' self.notfication_sns = [] - self.tags.update(sg_config.get('tags')) - self.parameters.update(sg_config.get('parameters')) - self.options.update(sg_config.get('options')) + self.tags.update(sg_config.get('tags', {})) + self.parameters.update(sg_config.get('parameters', {})) + self.options.update(sg_config.get('options', {})) if 'region' in sg_config: self.region = sg_config['region'] @@ -134,7 +134,10 @@ class Stack(object): except Exception as e: # In case we rendered invalid yaml this helps to debug if self.cfn_template: - logger.error(self.cfn_template) + _output = "" + for i, line in enumerate(self.cfn_template.splitlines(), start=1): + _output = _output + '{}: {}\n'.format(i, line) + logger.error(_output) raise e if not re.search('CloudBender::', self.cfn_template):