diff options
author | Enbo Wang <wangenbo@huawei.com> | 2020-03-02 20:56:11 +0800 |
---|---|---|
committer | Enbo Wang <wangenbo@huawei.com> | 2020-03-02 20:56:11 +0800 |
commit | 83e79104f3012f11dde94aa22ba2d6c286473c65 (patch) | |
tree | b84bebc115a6295ef75191f9f73c41cbe292c53a | |
parent | 5e5cc2b2ace3a5fe4b1b2394bfa5a32f4664e52b (diff) |
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 <wangenbo@huawei.com>
-rwxr-xr-x | ansible-server/src/main/ansible-server/RestServer.py | 7 |
1 files changed, 7 insertions, 0 deletions
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("~/")) |