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)