From 9d20704fa56cf1c85d98917b528893c2fa298579 Mon Sep 17 00:00:00 2001 From: One-Fine-Day Date: Tue, 27 Mar 2018 09:56:15 -0500 Subject: [PATCH] Promenade Endpoint Fix Required for Promenade validateDesign for Shipyard Change-Id: Ie7eadf50b64eaae323c4997be86087ccdbb47f37 PS: https://review.gerrithub.io/#/c/400327/ --- promenade/control/validatedesign.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/promenade/control/validatedesign.py b/promenade/control/validatedesign.py index fd9639a5..b366c98b 100644 --- a/promenade/control/validatedesign.py +++ b/promenade/control/validatedesign.py @@ -49,14 +49,18 @@ class ValidateDesignResource(base.BaseResource): @policy.ApiEnforcer('kubernetes_provisioner:post_validatedesign') def on_post(self, req, resp): - href = req.get_param('href', required=True) + try: + json_data = self.req_json(req) + href = json_data.get('href', None) config = Configuration.from_design_ref( href, allow_missing_substitutions=False) validation.check_design(config) msg = "Promenade validations succeeded" return self._return_msg(resp, falcon.HTTP_200, message=msg) + except exceptions.InvalidFormatError as e: + msg = "Invalid JSON Format: %s" % str(e) except exceptions.ValidationException as e: msg = "Promenade validations failed: %s" % str(e) - return self._return_msg( - resp, falcon.HTTP_400, status="Invalid", message=msg) + return self._return_msg( + resp, falcon.HTTP_400, status="Invalid", message=msg)