From 31b47afd3cc95ae93e42a3eb2161ce714cd7256b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Le=20Ninivin?= <cedric.leninivin@nexedi.com> Date: Tue, 24 May 2022 13:43:37 +0000 Subject: [PATCH] slapos_jio_api_style: Instance parameter is expected in JSON --- ...bSection_requestComputerPartitionFromJSON.xml | 4 ++-- .../jIOWebSection_requestComputerPartition.py | 16 +++++++++------- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/master/bt5/slapos_jio_api_style/PathTemplateItem/portal_callables/jIOWebSection_requestComputerPartitionFromJSON.xml b/master/bt5/slapos_jio_api_style/PathTemplateItem/portal_callables/jIOWebSection_requestComputerPartitionFromJSON.xml index 50f5c22ac..de8482ee7 100644 --- a/master/bt5/slapos_jio_api_style/PathTemplateItem/portal_callables/jIOWebSection_requestComputerPartitionFromJSON.xml +++ b/master/bt5/slapos_jio_api_style/PathTemplateItem/portal_callables/jIOWebSection_requestComputerPartitionFromJSON.xml @@ -60,8 +60,8 @@ },\n "parameters": {\n "title": "Instance Parameters",\n - "type": "object",\n - "additionalProperties": { "type": "string" }\n + "type": "string",\n + "description": "Instance parameters in JSON Format."\n },\n "shared": {\n "title": "Shared Instance",\n diff --git a/master/bt5/slapos_jio_api_style/SkinTemplateItem/portal_skins/slapos_jio_api/jIOWebSection_requestComputerPartition.py b/master/bt5/slapos_jio_api_style/SkinTemplateItem/portal_skins/slapos_jio_api/jIOWebSection_requestComputerPartition.py index 503b303db..fe06f44dd 100644 --- a/master/bt5/slapos_jio_api_style/SkinTemplateItem/portal_skins/slapos_jio_api/jIOWebSection_requestComputerPartition.py +++ b/master/bt5/slapos_jio_api_style/SkinTemplateItem/portal_skins/slapos_jio_api/jIOWebSection_requestComputerPartition.py @@ -88,8 +88,8 @@ def getSoftwareInstanceForComputePartition(compute_node_id, # Loads partition parameter -partition_parameter = data_dict.get("parameters", {}) -if isinstance(partition_parameter, str): +partition_parameter = data_dict.get("parameters", None) +if partition_parameter: import json try: partition_parameter = json.loads(partition_parameter) @@ -99,11 +99,13 @@ if isinstance(partition_parameter, str): error_name="CANNOT-DECODE-COMPUTER-PARTITION-JSON-PARAMETER", ) -if not isinstance(partition_parameter, dict): - return logError( - "Parameters should be a key value object.", - error_name="INCORRECT-COMPUTER-PARTITION-JSON-PARAMETER", - ) + if not isinstance(partition_parameter, dict): + return logError( + "Parameters should be a key value object.", + error_name="INCORRECT-COMPUTER-PARTITION-JSON-PARAMETER", + ) +else: + partition_parameter = {} try: # filter dict -- 2.30.9