Merge "Split restoreGaleraDb function and add restoreType param support"
diff --git a/src/com/mirantis/mcp/SlackNotification.groovy b/src/com/mirantis/mcp/SlackNotification.groovy
index d78d63a..6cc73bc 100644
--- a/src/com/mirantis/mcp/SlackNotification.groovy
+++ b/src/com/mirantis/mcp/SlackNotification.groovy
@@ -29,11 +29,13 @@
  * @param buildUrl build url param, if empty env.BUILD_URL will be used
  * @param channel param, default is '#mk-ci'
  * @param credentialsId slack hook url credential, default is 'SLACK_WEBHOOK_URL'
+ * @param description Additional text related to Job result
  */
 def jobResultNotification(String buildStatusParam, String channel = "#mk-ci",
                           String jobName=null,
                           Number buildNumber=null, String buildUrl=null,
-                          String credentialsId="SLACK_WEBHOOK_URL") {
+                          String credentialsId="SLACK_WEBHOOK_URL",
+                          String description='') {
     def jobNameParam = jobName != null && jobName != "" ? jobName : env.JOB_NAME
     def buildUrlParam = buildUrl != null && buildUrl != "" ? buildUrl : env.BUILD_URL
     def buildNumberParam = buildNumber != null && buildNumber != "" ? buildNumber : env.BUILD_NUMBER
@@ -54,7 +56,7 @@
     }
 
     queryString = 'payload={' +
-            "'text':'${buildStatusParam.toUpperCase()}: Job <${buildUrlParam}|${jobNameParam} [${buildNumberParam}]>', " +
+            "'text':'${buildStatusParam.toUpperCase()}: Job <${buildUrlParam}|${jobNameParam} [${buildNumberParam}]>\\n ${description}', " +
             "'color':'${colorCode}'," +
             "'pretext': '', " +
             '"icon_url": "https://cfr.slack-edge.com/ae7f/img/services/jenkins-ci_192.png",' +
diff --git a/src/com/mirantis/mk/Salt.groovy b/src/com/mirantis/mk/Salt.groovy
index 7688c0e..ca4587e 100644
--- a/src/com/mirantis/mk/Salt.groovy
+++ b/src/com/mirantis/mk/Salt.groovy
@@ -508,7 +508,7 @@
         if (checkAvailability) {
             minionsReachable(saltId, 'I@salt:master', target_reachable)
         }
-        def running = salt.runSaltProcessStep(saltId, target, 'saltutil.running', [], null, true, timeout)
+        def running = runSaltProcessStep(saltId, target, 'saltutil.running', [], null, true, timeout)
         for (value in running.get("return")[0].values()) {
             if (value != []) {
                 throw new Exception("Not all salt-minions are ready for execution")
diff --git a/src/com/mirantis/mk/SaltModelTesting.groovy b/src/com/mirantis/mk/SaltModelTesting.groovy
index 585cb8b..0e49a42 100644
--- a/src/com/mirantis/mk/SaltModelTesting.groovy
+++ b/src/com/mirantis/mk/SaltModelTesting.groovy
@@ -50,17 +50,21 @@
     if (baseRepoPreConfig) {
         // extra repo on mirror.mirantis.net, which is not supported before 2018.11.0 release
         def extraRepoSource = "deb [arch=amd64] http://mirror.mirantis.com/${distribRevision}/extra/xenial xenial main"
+        def releaseVersionQ4 = '2018.11.0'
+        def oldRelease = false
         try {
             def releaseNaming = 'yyyy.MM.dd'
             def repoDateUsed = new Date().parse(releaseNaming, distribRevision)
-            def extraAvailableFrom = new Date().parse(releaseNaming, '2018.11.0')
+            def extraAvailableFrom = new Date().parse(releaseNaming, releaseVersionQ4)
             if (repoDateUsed < extraAvailableFrom) {
                 extraRepoSource = "deb http://apt.mcp.mirantis.net/xenial ${distribRevision} extra"
+                oldRelease = true
             }
         } catch (Exception e) {
             common.warningMsg(e)
             if (!(distribRevision in ['nightly', 'proposed', 'testing'])) {
                 extraRepoSource = "deb [arch=amd64] http://apt.mcp.mirantis.net/xenial ${distribRevision} extra"
+                oldRelease = true
             }
         }
 
@@ -96,6 +100,12 @@
         def extraRepoMergeStrategy = config.get('extraRepoMergeStrategy', 'override')
         def extraRepos = config.get('extraRepos', [:])
         def defaultRepos = readYaml text: defaultExtraReposYaml
+        if (! oldRelease && distribRevision != releaseVersionQ4) {
+            defaultRepos['repo']['mcp_saltformulas_update'] = [
+                'source': "deb [arch=amd64]  http://mirror.mirantis.com/update/${distribRevision}/salt-formulas/xenial xenial main",
+                'repo_key': "http://mirror.mirantis.com/update/${distribRevision}/salt-formulas/xenial/archive-salt-formulas.key"
+            ]
+        }
         if (extraRepoMergeStrategy == 'merge') {
             extraReposConfig = common.mergeMaps(defaultRepos, extraRepos)
         } else {