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>
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("~/"))