Allow to check metadata only once
PRODX-3456
Change-Id: I68e954ba76ae2c239d8d7ed20fcdae986d108a00
diff --git a/src/com/mirantis/mk/ReleaseWorkflow.groovy b/src/com/mirantis/mk/ReleaseWorkflow.groovy
index 63a3675..a6ac966 100644
--- a/src/com/mirantis/mk/ReleaseWorkflow.groovy
+++ b/src/com/mirantis/mk/ReleaseWorkflow.groovy
@@ -110,7 +110,8 @@
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)
+ Boolean catMetadataLog = params.get('catMetadataLog', false)
+ Boolean validateOnce = params.get('validateOnce', false)
def cred = common.getCredentials(gitCredentialsId, 'key')
String gerritUser = cred.username
@@ -166,15 +167,17 @@
}
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 (!validateOnce) {
+ def 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")
+ if (checkResult != 0) {
+ throw new Exception("Invalid metadata structure, see errors in the metadata.log file")
+ }
}
} finally {
if (valuesFromFile) {
@@ -182,6 +185,18 @@
}
}
}
+ if (validateOnce) {
+ def 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")
+ }
+ }
}
}