Merge "Add AIO cluster trigger"
diff --git a/src/com/mirantis/mk/Gerrit.groovy b/src/com/mirantis/mk/Gerrit.groovy
index a48f554..a10067f 100644
--- a/src/com/mirantis/mk/Gerrit.groovy
+++ b/src/com/mirantis/mk/Gerrit.groovy
@@ -551,7 +551,8 @@
}
common.infoMsg("GERRIT_EVENT_COMMENT_TEXT is ${gerritEventCommentTextStr}")
}
- if (gerritEventType == 'comment-added' && gerritEventCommentTextStr =~ /^Patch Set \d+:\s.*Workflow\+1$/) {
+ def gateComment = gerritEventCommentTextStr.split('\n')[0]
+ if (gerritEventType == 'comment-added' && gateComment =~ /^Patch Set \d+:\s.*Workflow\+1.*$/) {
common.infoMsg("Running in gate mode")
res = true
}
diff --git a/src/com/mirantis/mk/ReleaseWorkflow.groovy b/src/com/mirantis/mk/ReleaseWorkflow.groovy
index da17fb9..63a3675 100644
--- a/src/com/mirantis/mk/ReleaseWorkflow.groovy
+++ b/src/com/mirantis/mk/ReleaseWorkflow.groovy
@@ -62,6 +62,10 @@
checkoutReleaseMetadataRepo(params)
docker.image(appDockerImage).inside("--volume ${repoDir}:/workspace") {
+ checkResult = sh(script: "metadata-app --path /workspace/metadata ${opts} validate --structure", returnStatus: true)
+ if (checkResult != 0) {
+ throw new Exception("Invalid metadata structure, see errors in the metadata.log file")
+ }
result = sh(script: "metadata-app --path /workspace/metadata ${opts} get --key ${key}", returnStdout: true).trim()
}
common.infoMsg("""
@@ -106,6 +110,7 @@
String changeAuthorName = params.get('crAuthorName', 'MCP-CI')
String changeAuthorEmail = params.get('crAuthorEmail', 'mcp-ci-jenkins@ci.mcp.mirantis.net')
Boolean valuesFromFile = params.get('valuesFromFile', false)
+ Boolean catMetadataLog = params.get('catMetadataLog', false)
def cred = common.getCredentials(gitCredentialsId, 'key')
String gerritUser = cred.username
@@ -161,9 +166,19 @@
}
try {
sh "metadata-app --path /workspace/metadata update --create --key '${keyArr[i]}' ${valueExpression}"
+ checkResult = sh(script: "metadata-app --path /workspace/metadata validate --structure", returnStatus: true)
+ def MetadataLogFile = readFile("metadata.log")
+ if (MetadataLogFile.size() > 0) {
+ if (catMetadataLog) {
+ common.errorMsg("Invalid metadata structure, metadata.log file content:\n${MetadataLogFile}")
+ }
+ }
+ if (checkResult != 0) {
+ throw new Exception("Invalid metadata structure, see errors in the metadata.log file")
+ }
} finally {
- if (valuesFromFile){
- sh "rm ${tmpFile}"
+ if (valuesFromFile) {
+ sh "rm -v ${tmpFile}"
}
}
}