Mount artifact-metadata dir to /workspace
Sometimes artifact-metadata dir is located under long
enouth path, and being mounted 'as is' it leads to tox
failure. This is because pip (?) replaces shebang string in
'metadata-app' when installs it into virtualenv, and if the
string is long enough we've got failure.
There is github issue related:
https://github.com/pypa/virtualenv/issues/596
This commit mounts any external path to internal '/workspace'
dir and fixes the issue.
Related-Prod: PRODX-2782
Change-Id: Ie3405086a94a9f7315ce0ba935d1dd68a85d0325
diff --git a/src/com/mirantis/mk/ReleaseWorkflow.groovy b/src/com/mirantis/mk/ReleaseWorkflow.groovy
index 45974aa..bfb1155 100644
--- a/src/com/mirantis/mk/ReleaseWorkflow.groovy
+++ b/src/com/mirantis/mk/ReleaseWorkflow.groovy
@@ -58,8 +58,8 @@
checkoutReleaseMetadataRepo(params)
- docker.image(toxDockerImage).inside {
- result = sh(script: "cd ${repoDir} && tox -qq -e metadata -- ${opts} get --key ${key}", returnStdout: true).trim()
+ docker.image(toxDockerImage).inside("--volume ${repoDir}:/workspace") {
+ result = sh(script: "cd /workspace && tox -qq -e metadata -- ${opts} get --key ${key}", returnStdout: true).trim()
}
common.infoMsg("""
Release metadata key ${key} has value:
@@ -163,9 +163,9 @@
def keyArr = key.split(';')
def valueArr = value.split(';')
if (keyArr.size() == valueArr.size()) {
- docker.image(toxDockerImage).inside {
+ docker.image(toxDockerImage).inside("--volume ${repoDir}:/workspace") {
for (i in 0..keyArr.size()-1) {
- sh "cd ${repoDir} && tox -qq -e metadata -- update --key '${keyArr[i]}' --value '${valueArr[i]}'"
+ sh "cd /workspace && tox -qq -e metadata -- update --key '${keyArr[i]}' --value '${valueArr[i]}'"
}
}
}