diff --git a/generate-cookiecutter-products.groovy b/generate-cookiecutter-products.groovy
index b3dc718..6964653 100644
--- a/generate-cookiecutter-products.groovy
+++ b/generate-cookiecutter-products.groovy
@@ -170,7 +170,20 @@
                 if (sharedReclassUrl != "" && TEST_MODEL && TEST_MODEL.toBoolean()) {
                     sh("cp -r ${modelEnv} ${testEnv}")
                     def DockerCName = "${env.JOB_NAME.toLowerCase()}_${env.BUILD_TAG.toLowerCase()}"
-                    saltModelTesting.setupAndTestNode("${saltMaster}.${clusterDomain}", "", testEnv, dockerContainerName: DockerCName)
+                    saltModelTesting.setupAndTestNode(
+                            "${saltMaster}.${clusterDomain}",
+                            "",
+                            "",
+                            testEnv,
+                            'pkg',
+                            'stable',
+                            'master',
+                            0,
+                            false,
+                            false,
+                            '',
+                            '',
+                            DockerCName)
                 }
             }
 
diff --git a/test-cookiecutter-reclass.groovy b/test-cookiecutter-reclass.groovy
index 57fcb74..fedbd14 100644
--- a/test-cookiecutter-reclass.groovy
+++ b/test-cookiecutter-reclass.groovy
@@ -97,8 +97,20 @@
         nbTry++
         try {
             def DockerCName = "${env.JOB_NAME.toLowerCase()}_${env.BUILD_TAG.toLowerCase()}"
-            saltModelTesting.setupAndTestNode("cfg01.${clusterDomain}", clusterName, EXTRA_FORMULAS, testEnv, "pkg",
-                    DISTRIB_REVISION, dockerContainerName: DockerCName)
+            saltModelTesting.setupAndTestNode(
+                    "cfg01.${clusterDomain}",
+                    clusterName,
+                    EXTRA_FORMULAS,
+                    testEnv,
+                    'pkg',
+                    DISTRIB_REVISION,
+                    'master',
+                    0,
+                    false,
+                    false,
+                    '',
+                    '',
+                    DockerCName)
             break
         } catch (Exception e) {
             if (e.getMessage() == "script returned exit code 124") {
diff --git a/test-salt-model-node.groovy b/test-salt-model-node.groovy
index ccea1f4..3b6ee09 100644
--- a/test-salt-model-node.groovy
+++ b/test-salt-model-node.groovy
@@ -65,9 +65,21 @@
             common.infoMsg("Running salt model test for node ${NODE_TARGET} in cluster ${CLUSTER_NAME}")
             try {
               def DockerCName = "${env.JOB_NAME.toLowerCase()}_${env.BUILD_TAG.toLowerCase()}"
-              saltModelTesting.setupAndTestNode(NODE_TARGET, CLUSTER_NAME, EXTRA_FORMULAS, workspace, FORMULAS_SOURCE,
-                      FORMULAS_REVISION, RECLASS_VERSION, MAX_CPU_PER_JOB.toInteger(), RECLASS_IGNORE_CLASS_NOTFOUND,
-                      LEGACY_TEST_MODE, APT_REPOSITORY, APT_REPOSITORY_GPG, dockerContainerName: DockerCName)
+
+              saltModelTesting.setupAndTestNode(
+                      NODE_TARGET,
+                      CLUSTER_NAME,
+                      EXTRA_FORMULAS,
+                      workspace,
+                      FORMULAS_SOURCE,
+                      FORMULAS_REVISION,
+                      RECLASS_VERSION,
+                      MAX_CPU_PER_JOB.toInteger(),
+                      RECLASS_IGNORE_CLASS_NOTFOUND,
+                      LEGACY_TEST_MODE,
+                      APT_REPOSITORY,
+                      APT_REPOSITORY_GPG,
+                      DockerCName)
             } catch (Exception e) {
               if (e.getMessage() == "script returned exit code 124") {
                 common.errorMsg("Impossible to test node due to timeout of salt-master, ABORTING BUILD")
