diff --git a/tcp_tests/managers/runtestmanager.py b/tcp_tests/managers/runtestmanager.py
index b5772c5..70d573b 100644
--- a/tcp_tests/managers/runtestmanager.py
+++ b/tcp_tests/managers/runtestmanager.py
@@ -14,6 +14,7 @@
 
 import json
 import os
+import time
 
 from devops.helpers import helpers
 
@@ -124,15 +125,7 @@
             'pip.install', 'docker'), None
 
     def run_salt_minion_state(self):
-        return self.salt_api.enforce_state(self.master_tgt, 'salt.minion')
-
-    def check_ping_salt_master(self):
-        return self.salt_api.local('cfg01*', 'test.ping')
-
-    def install_formula(self):
-        return self.salt_api.local(
-            self.master_tgt,
-            'pkg.install', 'salt-formula-runtest'), None
+        return self.salt_api.local('cfg01*', 'state.sls', 'salt.minion')
 
     def create_networks(self):
         return self.salt_api.enforce_state(self.master_tgt, 'neutron.client')
@@ -207,17 +200,13 @@
 
     def prepare(self):
         self.store_runtest_model()
-        res = self.install_formula()
-        LOG.info(json.dumps(res, indent=4))
 
         res = self.install_python_lib()
         LOG.info(json.dumps(res, indent=4))
 
         res = self.run_salt_minion_state()
         LOG.info(json.dumps(res, indent=4))
-
-        res = self.check_ping_salt_master()
-        LOG.info(json.dumps(res, indent=4))
+        time.sleep(10)
 
         res = self.create_networks()
         LOG.info(json.dumps(res, indent=4))
diff --git a/tcp_tests/templates/cookied-mcp-pike-dpdk/openstack.yaml b/tcp_tests/templates/cookied-mcp-pike-dpdk/openstack.yaml
index 394da50..87d11e3 100644
--- a/tcp_tests/templates/cookied-mcp-pike-dpdk/openstack.yaml
+++ b/tcp_tests/templates/cookied-mcp-pike-dpdk/openstack.yaml
@@ -240,5 +240,3 @@
   skip_fail: false
 
 {{ SHARED.INSTALL_DOCKER_ON_GTW() }}
-{{ SHARED.RUN_NEW_TEMPEST() }}
-
diff --git a/tcp_tests/templates/cookied-mcp-pike-dvr/openstack.yaml b/tcp_tests/templates/cookied-mcp-pike-dvr/openstack.yaml
index 464323e..26d7992 100644
--- a/tcp_tests/templates/cookied-mcp-pike-dvr/openstack.yaml
+++ b/tcp_tests/templates/cookied-mcp-pike-dvr/openstack.yaml
@@ -350,4 +350,3 @@
   skip_fail: false
 
 {{ SHARED.INSTALL_DOCKER_ON_GTW() }}
-{{ SHARED.RUN_NEW_TEMPEST() }}
diff --git a/tcp_tests/templates/cookied-mcp-pike-ovs/openstack.yaml b/tcp_tests/templates/cookied-mcp-pike-ovs/openstack.yaml
index 6b23f36..9a8e2ab 100644
--- a/tcp_tests/templates/cookied-mcp-pike-ovs/openstack.yaml
+++ b/tcp_tests/templates/cookied-mcp-pike-ovs/openstack.yaml
@@ -329,4 +329,3 @@
   skip_fail: false
 
 {{ SHARED.INSTALL_DOCKER_ON_GTW() }}
-{{ SHARED.RUN_NEW_TEMPEST() }}
diff --git a/tcp_tests/templates/shared-salt.yaml b/tcp_tests/templates/shared-salt.yaml
index 3e26277..4f0801e 100644
--- a/tcp_tests/templates/shared-salt.yaml
+++ b/tcp_tests/templates/shared-salt.yaml
@@ -9,6 +9,7 @@
 {% set SALT_MODELS_SYSTEM_COMMIT = os_env('SALT_MODELS_SYSTEM_COMMIT','') %}
 {% set SALT_MODELS_SYSTEM_REF_CHANGE = os_env('SALT_MODELS_SYSTEM_REF_CHANGE','') %}
 {% set SALT_MODELS_SYSTEM_TAG = os_env('SALT_MODELS_SYSTEM_TAG','') %}
+{% set COOKIECUTTER_TEMPLATES_REPOSITORY = os_env('COOKIECUTTER_TEMPLATES_REPOSITORY','https://gerrit.mcp.mirantis.net/mk/cookiecutter-templates') %}
 {% set COOKIECUTTER_REF_CHANGE = os_env('COOKIECUTTER_REF_CHANGE','') %}
 {% set COOKIECUTTER_TAG = os_env('COOKIECUTTER_TAG','') %}
 {% set COOKIECUTTER_TEMPLATE_COMMIT = os_env('COOKIECUTTER_TEMPLATE_COMMIT','') %}
@@ -237,23 +238,24 @@
     {%- elif SALT_MODELS_COMMIT != 'master' %}
     git checkout {{ SALT_MODELS_COMMIT }};
     {%- endif %}
+
     {%- if SALT_MODELS_SYSTEM_COMMIT != '' %}
     pushd classes/system/;
     git checkout {{ SALT_MODELS_SYSTEM_COMMIT }};
     popd;
-    {%- if SALT_MODELS_SYSTEM_TAG != '' %}
-    pushd classes/system/;
-    git fetch --all --tags --prune
-    git checkout tags/{{ SALT_MODELS_SYSTEM_TAG }};
-    popd;
-    {%- endif %}
     {%- elif SALT_MODELS_SYSTEM_REF_CHANGE != '' %}
     pushd classes/system/ && \
     {%- for item in SALT_MODELS_SYSTEM_REF_CHANGE.split(" ") %}
     git fetch {{ SALT_MODELS_SYSTEM_REPOSITORY }} {{ item }} && git cherry-pick FETCH_HEAD;
     {%- endfor %}
     popd;
+    {%- elif SALT_MODELS_SYSTEM_TAG != '' %}
+    pushd classes/system/;
+    git fetch --all --tags --prune
+    git checkout tags/{{ SALT_MODELS_SYSTEM_TAG }};
+    popd;
     {%- endif %}
+
     popd;
     mkdir -p /srv/salt/reclass/classes/service;
     mkdir -p /srv/salt/reclass/nodes/_generated/;
@@ -331,26 +333,52 @@
     remote_path: /tmp/
   node_name: {{ HOSTNAME_CFG01 }}
 
+- description: "Show options enabled in the context file for model generation"
+  cmd: |
+      echo "===== Options enabled in the context for generation the model {{ LAB_CONFIG_NAME }} ====="
+      fgrep "True" {{ CLUSTER_CONTEXT_PATH }}
+      echo "===== Sources for model generation ====="
+      echo "# mcp_version: {{ REPOSITORY_SUITE }}"
+      echo "COOKIECUTTER_TEMPLATES_REPOSITORY={{ COOKIECUTTER_TEMPLATES_REPOSITORY }}"
+      {%- if CLUSTER_PRODUCT_MODELS != '' %}
+        echo "CLUSTER_PRODUCT_MODELS={{ CLUSTER_PRODUCT_MODELS }}"
+      {%- endif %}
+      {%- if COOKIECUTTER_TEMPLATE_COMMIT != '' %}
+        echo "COOKIECUTTER_TEMPLATE_COMMIT={{ COOKIECUTTER_TEMPLATE_COMMIT }}"
+      {%- elif COOKIECUTTER_REF_CHANGE != '' %}
+        echo "COOKIECUTTER_REF_CHANGE={{ COOKIECUTTER_REF_CHANGE }}"
+      {%- elif COOKIECUTTER_TAG != '' %}
+        echo "COOKIECUTTER_TAG={{ COOKIECUTTER_TAG }}"
+      {%- endif %}
+      echo "SALT_MODELS_SYSTEM_REPOSITORY={{ SALT_MODELS_SYSTEM_REPOSITORY }}"
+      {%- if SALT_MODELS_SYSTEM_COMMIT != '' %}
+        echo "SALT_MODELS_SYSTEM_COMMIT={{ SALT_MODELS_SYSTEM_COMMIT }}"
+      {%- elif SALT_MODELS_SYSTEM_REF_CHANGE != '' %}
+        echo "SALT_MODELS_SYSTEM_REF_CHANGE={{ SALT_MODELS_SYSTEM_REF_CHANGE }}"
+      {%- elif SALT_MODELS_SYSTEM_TAG != '' %}
+        echo "SALT_MODELS_SYSTEM_TAG={{ SALT_MODELS_SYSTEM_TAG }}"
+      {%- endif %}
+      echo "======================================="
+  node_name: {{ HOSTNAME_CFG01 }}
+  retry: {count: 1, delay: 1}
+  skip_fail: false
+
 - description: Create cluster model from cookiecutter templates
   cmd: |
     set -e;
     sudo apt-get install python-setuptools -y
     pip install cookiecutter
-    export GIT_SSL_NO_VERIFY=true; git clone  https://gerrit.mcp.mirantis.net/mk/cookiecutter-templates /tmp/cookiecutter-templates
+    export GIT_SSL_NO_VERIFY=true; git clone {{ COOKIECUTTER_TEMPLATES_REPOSITORY }} /tmp/cookiecutter-templates
 
     {%- if COOKIECUTTER_TEMPLATE_COMMIT != '' %}
     pushd /tmp/cookiecutter-templates
     git checkout {{ COOKIECUTTER_TEMPLATE_COMMIT }}
     popd
-    {%- endif %}
-
-    {%- if COOKIECUTTER_REF_CHANGE != '' %}
+    {%- elif COOKIECUTTER_REF_CHANGE != '' %}
     pushd /tmp/cookiecutter-templates
-    git fetch https://gerrit.mcp.mirantis.net/mk/cookiecutter-templates {{ COOKIECUTTER_REF_CHANGE }} && git checkout FETCH_HEAD
+    git fetch {{ COOKIECUTTER_TEMPLATES_REPOSITORY }} {{ COOKIECUTTER_REF_CHANGE }} && git checkout FETCH_HEAD
     popd
-    {%- endif %}
-
-    {%- if COOKIECUTTER_TAG != '' %}
+    {%- elif COOKIECUTTER_TAG != '' %}
     pushd /tmp/cookiecutter-templates
     git fetch --all --tags --prune
     git checkout tags/{{ COOKIECUTTER_TAG }}
@@ -398,7 +426,7 @@
         --output-dir /srv/salt/reclass/classes/cluster/;
     done
 
-    export GIT_SSL_NO_VERIFY=true; git clone https://gerrit.mcp.mirantis.net/salt-models/reclass-system /srv/salt/reclass/classes/system/
+    export GIT_SSL_NO_VERIFY=true; git clone {{ SALT_MODELS_SYSTEM_REPOSITORY }} /srv/salt/reclass/classes/system/
 
     # Create the cfg01 inventory file or use existing
     export CFG01_INVENTORY_FILE="/srv/salt/reclass/nodes/_generated/cfg01.{{ DOMAIN_NAME }}.yml"
@@ -417,14 +445,19 @@
     set -e;
     {%- if SALT_MODELS_SYSTEM_COMMIT != '' %}
     pushd /srv/salt/reclass/classes/system/
-    git checkout {{ SALT_MODELS_SYSTEM_COMMIT }} && \
-    popd
+    git checkout {{ SALT_MODELS_SYSTEM_COMMIT }};
+    popd;
     {%- elif SALT_MODELS_SYSTEM_REF_CHANGE != '' %}
-    pushd /srv/salt/reclass/classes/system/
+    pushd /srv/salt/reclass/classes/system/ && \
     {%- for item in SALT_MODELS_SYSTEM_REF_CHANGE.split(" ") %}
-    git fetch {{ SALT_MODELS_SYSTEM_REPOSITORY }} {{ item }} && git cherry-pick FETCH_HEAD
+    git fetch {{ SALT_MODELS_SYSTEM_REPOSITORY }} {{ item }} && git cherry-pick FETCH_HEAD;
     {%- endfor %}
-    popd
+    popd;
+    {%- elif SALT_MODELS_SYSTEM_TAG != '' %}
+    pushd /srv/salt/reclass/classes/system/
+    git fetch --all --tags --prune
+    git checkout tags/{{ SALT_MODELS_SYSTEM_TAG }};
+    popd;
     {%- endif %}
 
     {%- if IS_CONTRAIL_LAB %}
diff --git a/tcp_tests/templates/virtual-mcp-pike-dvr-ceph-rgw/ceph.yaml b/tcp_tests/templates/virtual-mcp-pike-dvr-ceph-rgw/ceph.yaml
index 34432e6..e55c9f8 100644
--- a/tcp_tests/templates/virtual-mcp-pike-dvr-ceph-rgw/ceph.yaml
+++ b/tcp_tests/templates/virtual-mcp-pike-dvr-ceph-rgw/ceph.yaml
@@ -169,4 +169,3 @@
 
 {{ BACKUP.MACRO_BACKUP_CEPH() }}
 {{ SHARED.INSTALL_DOCKER_ON_GTW() }}
-{{ SHARED.RUN_NEW_TEMPEST() }}
diff --git a/tcp_tests/templates/virtual-mcp-pike-dvr-ssl-barbican/openstack.yaml b/tcp_tests/templates/virtual-mcp-pike-dvr-ssl-barbican/openstack.yaml
index b08f8d1..98e2784 100644
--- a/tcp_tests/templates/virtual-mcp-pike-dvr-ssl-barbican/openstack.yaml
+++ b/tcp_tests/templates/virtual-mcp-pike-dvr-ssl-barbican/openstack.yaml
@@ -349,5 +349,4 @@
   skip_fail: false
 
 {{ SHARED.INSTALL_DOCKER_ON_GTW() }}
-{{ SHARED.RUN_NEW_TEMPEST() }}
 
diff --git a/tcp_tests/templates/virtual-mcp-pike-dvr-ssl/openstack.yaml b/tcp_tests/templates/virtual-mcp-pike-dvr-ssl/openstack.yaml
index 8844355..7417c09 100644
--- a/tcp_tests/templates/virtual-mcp-pike-dvr-ssl/openstack.yaml
+++ b/tcp_tests/templates/virtual-mcp-pike-dvr-ssl/openstack.yaml
@@ -334,5 +334,4 @@
   skip_fail: false
 
 {{ SHARED.INSTALL_DOCKER_ON_GTW() }}
-{{ SHARED.RUN_NEW_TEMPEST() }}
 
diff --git a/tcp_tests/templates/virtual-mcp-pike-dvr/openstack.yaml b/tcp_tests/templates/virtual-mcp-pike-dvr/openstack.yaml
index 87ab689..97c05e4 100644
--- a/tcp_tests/templates/virtual-mcp-pike-dvr/openstack.yaml
+++ b/tcp_tests/templates/virtual-mcp-pike-dvr/openstack.yaml
@@ -330,4 +330,3 @@
 {{ BACKUP.MACRO_BACKUP_BACKUPNINJA() }}
 {{ BACKUP.MACRO_BACKUP_XTRABACKUP() }}
 {{ SHARED.INSTALL_DOCKER_ON_GTW() }}
-{{ SHARED.RUN_NEW_TEMPEST() }}
diff --git a/tcp_tests/templates/virtual-mcp-pike-ovs-ceph/ceph.yaml b/tcp_tests/templates/virtual-mcp-pike-ovs-ceph/ceph.yaml
index aa22053..c97a270 100644
--- a/tcp_tests/templates/virtual-mcp-pike-ovs-ceph/ceph.yaml
+++ b/tcp_tests/templates/virtual-mcp-pike-ovs-ceph/ceph.yaml
@@ -168,5 +168,4 @@
   skip_fail: false
 
 {{ SHARED.INSTALL_DOCKER_ON_GTW() }}
-{{ SHARED.RUN_NEW_TEMPEST() }}
 
diff --git a/tcp_tests/templates/virtual-mcp-pike-ovs/openstack.yaml b/tcp_tests/templates/virtual-mcp-pike-ovs/openstack.yaml
index 88815bd..08c7cc7 100644
--- a/tcp_tests/templates/virtual-mcp-pike-ovs/openstack.yaml
+++ b/tcp_tests/templates/virtual-mcp-pike-ovs/openstack.yaml
@@ -349,4 +349,3 @@
 {{ BACKUP.MACRO_BACKUP_BACKUPNINJA() }}
 {{ BACKUP.MACRO_BACKUP_XTRABACKUP() }}
 {{ SHARED.INSTALL_DOCKER_ON_GTW() }}
-{{ SHARED.RUN_NEW_TEMPEST() }}
\ No newline at end of file
