Use new pepper option --json-file to fix escaping problems
Change-Id: I94dabcffb6ce236d37dbcbb9e9942c2fcfd9df7e
diff --git a/src/com/mirantis/mk/Salt.groovy b/src/com/mirantis/mk/Salt.groovy
index 6cc9a23..dc9bd6f 100644
--- a/src/com/mirantis/mk/Salt.groovy
+++ b/src/com/mirantis/mk/Salt.groovy
@@ -663,8 +663,10 @@
def runPepperCommand(data, venv) {
def python = new com.mirantis.mk.Python()
def dataStr = new groovy.json.JsonBuilder(data).toString()
- dataStr = dataStr.replaceAll('"', '\\\\\"').replaceAll('\\$','\\\\\\$');
- def pepperCmd = "pepper -c ${venv}/pepperrc --make-token -x ${venv}/.peppercache --json \"" + dataStr + "\""
+
+ pepperCmdFile = "${venv}/pepper-cmd.json"
+ writeFile file: pepperCmdFile, text: dataStr
+ def pepperCmd = "pepper -c ${venv}/pepperrc --make-token -x ${venv}/.peppercache --json-file ${pepperCmdFile}"
if (venv) {
output = python.runVirtualenvCommand(venv, pepperCmd)