Use new pepper option --json-file to fix escaping problems
Change-Id: I94dabcffb6ce236d37dbcbb9e9942c2fcfd9df7e
diff --git a/src/com/mirantis/mk/Python.groovy b/src/com/mirantis/mk/Python.groovy
index 0d2287c..c746ef2 100644
--- a/src/com/mirantis/mk/Python.groovy
+++ b/src/com/mirantis/mk/Python.groovy
@@ -302,8 +302,11 @@
def common = new com.mirantis.mk.Common()
// virtualenv setup
- requirements = ['salt-pepper']
+ // TODO: once pepper changes are in pypi, reenable these lines
+ // requirements = ['salt-pepper']
+ requirements = []
setupVirtualenv(path, 'python2', requirements, null, false, true)
+ runVirtualenvCommand(path, "pip install git+https://github.com/chnyda/pepper.git")
// pepperrc creation
rcFile = "${path}/pepperrc"
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)