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}"
                         }
                     }
                 }
