Implement patch-diff artifacts for test-cookiecutter-reclass

   * test-cookiecutter-reclass:
     - build  in paralell 2 full-contexts - for patched
       and for head CC repos.
     - compare and publish results via diff
     - all env's|models use same system-reclass version
   * Move GetBaseName func to pipeline-lib
   * Misc patches for test-cookiecutter-reclass-chunk.groovy

Closes-Bug: PROD-22114 (PROD:22114)

Change-Id: I29ba901f07275670a62a20297bbcafc09f7720fe
diff --git a/test-cookiecutter-reclass-chunk.groovy b/test-cookiecutter-reclass-chunk.groovy
index 12428ba..9e34cea 100644
--- a/test-cookiecutter-reclass-chunk.groovy
+++ b/test-cookiecutter-reclass-chunk.groovy
@@ -1,23 +1,27 @@
 package com.mirantis.mk
+
 def common = new com.mirantis.mk.Common()
 def saltModelTesting = new com.mirantis.mk.SaltModelTesting()
 
 /**
  * Test CC model wrapper
  *  EXTRA_VARIABLES_YAML: yaml based string, to be directly passed into testCCModel
+ *  SLAVE_NODE:
  */
 
+slaveNode = env.SLAVE_NODE ?: 'python&&docker'
+
 timeout(time: 1, unit: 'HOURS') {
-node() {
-  try {
-    extra_vars = readYaml text: EXTRA_VARIABLES_YAML
-    currentBuild.description = extra_vars.modelFile
-    saltModelTesting.testCCModel(extra_vars)
+  node(slaveNode) {
+    try {
+      extraVars = readYaml text: EXTRA_VARIABLES_YAML
+      currentBuild.description = extraVars.modelFile
+      saltModelTesting.testCCModel(extraVars)
     } catch (Throwable e) {
-          // If there was an error or exception thrown, the build failed
-          currentBuild.result = "FAILURE"
-          currentBuild.description = currentBuild.description ? e.message + " " + currentBuild.description : e.message
-          throw e
-        }
-      }
+      // If there was an error or exception thrown, the build failed
+      currentBuild.result = "FAILURE"
+      currentBuild.description = currentBuild.description ? e.message + " " + currentBuild.description : e.message
+      throw e
     }
+  }
+}