Merge "Add install Ironic conductor step"
diff --git a/test-salt-formulas-pipeline.groovy b/test-salt-formulas-pipeline.groovy
index 6d76367..a019db4 100644
--- a/test-salt-formulas-pipeline.groovy
+++ b/test-salt-formulas-pipeline.groovy
@@ -106,13 +106,18 @@
           }
           common.infoMsg("Running kitchen testing, parallel mode: " + KITCHEN_TESTS_PARALLEL.toBoolean())
           wrap([$class: 'AnsiColorBuildWrapper']) {
-            filteredEnvs = ruby.filterKitchenEnvs(kitchenEnvs).unique()
-            if(kitchenEnvs && !kitchenEnvs.isEmpty() && !filteredEnvs.isEmpty()){
-              for(int i=0; i<filteredEnvs.size(); i++){
-                common.infoMsg("Found " + filteredEnvs.size() + " environment, kitchen running with env: " + filteredEnvs[i])
-                ruby.runKitchenTests(filteredEnvs[i], KITCHEN_TESTS_PARALLEL.toBoolean())
+            if(CUSTOM_KITCHEN_ENVS != null && CUSTOM_KITCHEN_ENVS != ''){
+                filteredEnvs = CUSTOM_KITCHEN_ENVS.tokenize('\n')
+              } else {
+                filteredEnvs = ruby.filterKitchenEnvs(kitchenEnvs).unique()
               }
-            }else{
+              // Allow custom filteredEnvs in case of empty kitchenEnvs
+            if((kitchenEnvs && !kitchenEnvs.isEmpty() && !filteredEnvs.isEmpty()) || ((kitchenEnvs==null || kitchenEnvs=='') && !filteredEnvs.isEmpty())){
+              for(int i=0; i<filteredEnvs.size(); i++){
+                common.infoMsg("Found " + filteredEnvs.size() + " environment, kitchen running with env: " + filteredEnvs[i].trim())
+                ruby.runKitchenTests(filteredEnvs[i].trim(), KITCHEN_TESTS_PARALLEL.toBoolean())
+              }
+            } else {
               ruby.runKitchenTests("", KITCHEN_TESTS_PARALLEL.toBoolean())
             }
           }
diff --git a/test-salt-models-pipeline.groovy b/test-salt-models-pipeline.groovy
index 1ed95f5..79a6662 100644
--- a/test-salt-models-pipeline.groovy
+++ b/test-salt-models-pipeline.groovy
@@ -14,6 +14,13 @@
 def ssh = new com.mirantis.mk.Ssh()
 def git = new com.mirantis.mk.Git()
 
+def  config_node_name_pattern
+try {
+  config_node_name_pattern = CONFIG_NODE_NAME_PATTERN
+} catch (MissingPropertyException e) {
+  config_node_name_pattern = "cfg01"
+}
+
 def gerritRef
 try {
   gerritRef = GERRIT_REFSPEC
@@ -81,7 +88,7 @@
 
     stage("test-nodes") {
       if(checkouted) {
-        def nodes = sh(script: "find ./nodes -type f -name 'cfg*.yml'", returnStdout: true).tokenize()
+        def nodes = sh(script: "find ./nodes -type f -name '${config_node_name_pattern}*.yml'", returnStdout: true).tokenize()
         def branches = [:]
         def acc = 0
         for (int i = 0; i < nodes.size(); i++) {