diff --git a/tcp_tests/templates/released-heat-cicd-pike-contrail41-sl/salt-context-cookiecutter-contrail.yaml b/tcp_tests/templates/released-heat-cicd-pike-contrail41-sl/salt-context-cookiecutter-contrail.yaml
index a8d05b3..207c298 100644
--- a/tcp_tests/templates/released-heat-cicd-pike-contrail41-sl/salt-context-cookiecutter-contrail.yaml
+++ b/tcp_tests/templates/released-heat-cicd-pike-contrail41-sl/salt-context-cookiecutter-contrail.yaml
@@ -319,4 +319,4 @@
   # Enable Mirantis repo with CVE fixes for xenial
   updates_mirantis_login: "%LOGIN%"
   updates_mirantis_password: "%PASS%"
-  updates_mirantis_version: "staging"
\ No newline at end of file
+  updates_mirantis_version: "stable"
\ No newline at end of file
diff --git a/tcp_tests/templates/released-heat-cicd-queens-dvr-sl/salt-context-cookiecutter.yaml b/tcp_tests/templates/released-heat-cicd-queens-dvr-sl/salt-context-cookiecutter.yaml
index 6e575b1..1b4ffe0 100644
--- a/tcp_tests/templates/released-heat-cicd-queens-dvr-sl/salt-context-cookiecutter.yaml
+++ b/tcp_tests/templates/released-heat-cicd-queens-dvr-sl/salt-context-cookiecutter.yaml
@@ -382,4 +382,4 @@
   # Enable Mirantis repo with CVE fixes for xenial
   updates_mirantis_login: "%LOGIN%"
   updates_mirantis_password: "%PASS%"
-  updates_mirantis_version: "staging"
\ No newline at end of file
+  updates_mirantis_version: "stable"
\ No newline at end of file
diff --git a/tcp_tests/templates/shared-salt.yaml b/tcp_tests/templates/shared-salt.yaml
index 200ae8d..354d59e 100644
--- a/tcp_tests/templates/shared-salt.yaml
+++ b/tcp_tests/templates/shared-salt.yaml
@@ -66,6 +66,8 @@
 # Needed for using different models in different templates
 {% set CLUSTER_NAME = os_env('CLUSTER_NAME', LAB_CONFIG_NAME) %}
 
+# Ubuntu-postEOL updates by cloudlinux
+{% set UPDATES_MIRANTIS_VERSION = os_env('UPDATES_MIRANTIS_VERSION', '') %}
 
 {%- macro MACRO_INSTALL_PACKAGES_ON_NODES(NODE_NAME) %}
 {#####################################################}
@@ -426,6 +428,10 @@
       {%- if JENKINS_PIPELINE_BRANCH != '' %}
         echo "JENKINS_PIPELINE_BRANCH={{ JENKINS_PIPELINE_BRANCH }}"
       {%- endif %}
+      {%- if UPDATES_MIRANTIS_VERSION != '' %}
+        echo "UPDATES_MIRANTIS_VERSION={{ UPDATES_MIRANTIS_VERSION }}"
+      {%- endif %}
+
       echo "======================================="
   node_name: {{ HOSTNAME_CFG01 }}
   retry: {count: 1, delay: 1}
@@ -517,6 +523,10 @@
     find ${REPLACE_DIRS} -type f -exec sed -i 's/==IPV4_NET_TENANT_PREFIX==/{{ IPV4_NET_TENANT_PREFIX }}/g' {} +
     find ${REPLACE_DIRS} -type f -exec sed -i 's/==IPV4_NET_EXTERNAL_PREFIX==/{{ IPV4_NET_EXTERNAL_PREFIX }}/g' {} +
 
+    {%- if UPDATES_MIRANTIS_VERSION != '' %}
+    sed -i "s/updates_mirantis_version:.*/updates_mirantis_version: '{{ UPDATES_MIRANTIS_VERSION }}'/g" {{ CLUSTER_CONTEXT_PATH }}
+    {%- endif %}
+
     {% set items = CLUSTER_PRODUCT_MODELS or '$(ls /root/cookiecutter-templates/cluster_product/)' %}
     mkdir -p /tmp/output /srv/salt/reclass/classes/cluster/{{ CLUSTER_NAME }}/
     # Allow to use encryption keys
diff --git a/tcp_tests/tests/system/test_mcp_update.py b/tcp_tests/tests/system/test_mcp_update.py
index c01c80f..5ec2627 100644
--- a/tcp_tests/tests/system/test_mcp_update.py
+++ b/tcp_tests/tests/system/test_mcp_update.py
@@ -226,11 +226,32 @@
     salt_actions.run_state("*", "saltutil.refresh_pillar")
 
 
+@pytest.fixture(scope='class')
+def switch_to_staging_updates_mirantis_repo(reclass_actions, salt_actions):
+    version_param = "parameters._param.updates_mirantis_version"
+    infra_yml = "cluster/*/infra/init.yml"
+
+    current_version = reclass_actions.get_key(version_param, infra_yml)
+    if current_version == 'staging':
+        LOG.info("updates.mirantis.com already set to 'staging', skipping")
+        return
+    if current_version is None:
+        LOG.info("updates.mirantis.com is not enabled, "
+                 "skipping /staging repo pillar")
+        return
+
+    LOG.info("Switch to updates.mirantis.com/staging repo")
+    reclass_actions.add_key(version_param, 'staging', infra_yml)
+
+    salt_actions.run_state("*", "saltutil.refresh_pillar")
+
+
 @pytest.mark.usefixtures("switch_to_proposed_pipelines",
                          "update_to_tag",
                          "wa_for_galera_clustercheck_password_prod35705",
                          "wa_for_alerta_password_prod35958",
-                         "wa_redis_server_version_3_prod36960")
+                         "wa_redis_server_version_3_prod36960",
+                         "switch_to_staging_updates_mirantis_repo")
 class TestUpdateMcpCluster(object):
     """
     Following the steps in
