From 83e79104f3012f11dde94aa22ba2d6c286473c65 Mon Sep 17 00:00:00 2001 From: Enbo Wang Date: Mon, 2 Mar 2020 20:56:11 +0800 Subject: [PATCH] Fix parameter convertion for JSON array or object in LCM API payload This patch for Ansible server can dump the JSON array or object in LCM API payload to a correct format of string, and the string can be reloaded to array or object. Change-Id: Ia5a5844ecaa3869acaeabd695afd41c113e63690 Issue-ID: CCSDK-2144 Signed-off-by: Enbo Wang --- ansible-server/src/main/ansible-server/RestServer.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/ansible-server/src/main/ansible-server/RestServer.py b/ansible-server/src/main/ansible-server/RestServer.py index 483b8322..3f42bfe4 100755 --- a/ansible-server/src/main/ansible-server/RestServer.py +++ b/ansible-server/src/main/ansible-server/RestServer.py @@ -329,6 +329,13 @@ def process_pnf_playbook(input_json, Id, EnvParameters, time_now): cherrypy.log("Request Decode: EnvParameters " + json.dumps(EnvParameters)) cherrypy.log("Request Decode: PlaybookName " + PlaybookName) + for key in EnvParameters: + value = EnvParameters[key] + if isinstance(value, (list, dict)): + valueStr = json.dumps(value) + # Need to dump two times to keep the backslash and double quotes, add backslash and single quotes for spaces + EnvParameters[key] = "\\'" + json.dumps(valueStr)[1:-1] + "\\'" + str_uuid = str(uuid.uuid4()) HomeDir = os.path.dirname(os.path.realpath("~/")) -- 2.16.6