Set correct Ruby version for OS kitchen tests

	- also update envOverrides

Related: PROD-26476 (PROD:26476)

Change-Id: I690037545826a595e01e8b0fee9ca1b9d3b3974a
diff --git a/test-salt-formulas-pipeline.groovy b/test-salt-formulas-pipeline.groovy
index 6d7e622..d7dcd40 100644
--- a/test-salt-formulas-pipeline.groovy
+++ b/test-salt-formulas-pipeline.groovy
@@ -22,6 +22,7 @@
 envOverrides = []
 futureFormulas = []
 failedFormulas = []
+kitchenFileName = ''
 
 def setupRunner(defaultGitRef, defaultGitUrl) {
   def branches = [:]
@@ -174,18 +175,21 @@
         }/** TODO: End of block for removal */
         } else {
           if (checkouted) {
-            if (fileExists(".kitchen.yml") || fileExists(".kitchen.openstack.yml")) {
-              if (fileExists(".kitchen.openstack.yml")) {
-                common.infoMsg("Openstack Kitchen test configuration found, running Openstack kitchen tests.")
-                envOverrides.add("KITCHEN_YAML=.kitchen.openstack.yml")
-                if (fileExists(".kitchen.yml")) {
-                  common.infoMsg("Ignoring the docker Kitchen test configuration file.")
-                }
-              } else {
-                common.infoMsg("Docker Kitchen test configuration found, running Docker kitchen tests.")
-              }
+            if (fileExists(".kitchen.openstack.yml")) {
+              common.infoMsg("Openstack Kitchen test configuration found, running Openstack kitchen tests.")
+              kitchenFileName = ".kitchen.openstack.yml"
+              envOverrides.add("KITCHEN_YAML=${kitchenFileName}")
+            } else if (fileExists(".kitchen.yml")) {
+              common.infoMsg("Docker Kitchen test configuration found, running Docker kitchen tests.")
+              kitchenFileName = ".kitchen.yml"
+            }
+            if (kitchenFileName) {
               def kitchenEnvs = []
-              ruby.ensureRubyEnv()
+              def kitchenYML = readYaml(file: "${kitchenFileName}")
+              if (kitchenYML.containsKey("driver")) {
+                rubyVersion = kitchenYML.get("mcp_ruby_version", '2.4.1')
+              }
+              ruby.ensureRubyEnv(rubyVersion)
               if (!fileExists("Gemfile")) {
                 sh("curl -s -o ./Gemfile 'https://gerrit.mcp.mirantis.com/gitweb?p=salt-formulas/salt-formulas-scripts.git;a=blob_plain;f=Gemfile;hb=refs/heads/master'")
                 ruby.installKitchen()
@@ -209,9 +213,11 @@
                 }
                 setupRunner(defaultGitRef, defaultGitUrl)
               } else {
+                common.errorMsg("No enviroments defined in the Kitchen file: ${kitchenFileName}")
+              }
+            } else {
                 common.warningMsg(".kitchen.yml nor .kitchen.openstack.yml file not found, no kitchen tests triggered.")
               }
-            }
           }
         }
       }