diff --git a/rollout-config-change.groovy b/rollout-config-change.groovy
index 5c83eee..dcb9034 100644
--- a/rollout-config-change.groovy
+++ b/rollout-config-change.groovy
@@ -31,65 +31,66 @@
 
 def common = new com.mirantis.mk.Common()
 def salt = new com.mirantis.mk.Salt()
+timeout(time: 12, unit: 'HOURS') {
+  node() {
+      try {
 
-node() {
-    try {
+          stage('Run config change on test env') {
+              build job: "deploy-update-service-config", parameters: [
+                [$class: 'StringParameterValue', name: 'SALT_MASTER_URL', value: TST_SALT_MASTER_URL],
+                [$class: 'StringParameterValue', name: 'SALT_MASTER_CREDENTIALS', value: TST_SALT_MASTER_CREDENTIALS],
+                [$class: 'StringParameterValue', name: 'TARGET_BATCH_LIVE', value: TARGET_BATCH_LIVE],
+                [$class: 'StringParameterValue', name: 'TARGET_SERVERS', value: TARGET_SERVERS],
+                [$class: 'StringParameterValue', name: 'TARGET_STATES', value: TARGET_STATES],
+                [$class: 'StringParameterValue', name: 'TARGET_SUBSET_LIVE', value: TARGET_SUBSET_LIVE],
+                [$class: 'StringParameterValue', name: 'TARGET_SUBSET_TEST', value: TARGET_SUBSET_TEST],
+              ]
+          }
 
-        stage('Run config change on test env') {
-            build job: "deploy-update-service-config", parameters: [
-              [$class: 'StringParameterValue', name: 'SALT_MASTER_URL', value: TST_SALT_MASTER_URL],
-              [$class: 'StringParameterValue', name: 'SALT_MASTER_CREDENTIALS', value: TST_SALT_MASTER_CREDENTIALS],
-              [$class: 'StringParameterValue', name: 'TARGET_BATCH_LIVE', value: TARGET_BATCH_LIVE],
-              [$class: 'StringParameterValue', name: 'TARGET_SERVERS', value: TARGET_SERVERS],
-              [$class: 'StringParameterValue', name: 'TARGET_STATES', value: TARGET_STATES],
-              [$class: 'StringParameterValue', name: 'TARGET_SUBSET_LIVE', value: TARGET_SUBSET_LIVE],
-              [$class: 'StringParameterValue', name: 'TARGET_SUBSET_TEST', value: TARGET_SUBSET_TEST],
-            ]
-        }
+          stage('Test config change on test env') {
+              build job: "deploy-test-service", parameters: [
+                [$class: 'StringParameterValue', name: 'SALT_MASTER_URL', value: TST_SALT_MASTER_URL],
+                [$class: 'StringParameterValue', name: 'SALT_MASTER_CREDENTIALS', value: TST_SALT_MASTER_CREDENTIALS],
+                [$class: 'StringParameterValue', name: 'TEST_SERVICE', value: TEST_SERVICE],
+                [$class: 'StringParameterValue', name: 'TEST_K8S_API_SERVER', value: TEST_K8S_API_SERVER],
+                [$class: 'StringParameterValue', name: 'TEST_K8S_CONFORMANCE_IMAGE', value: TEST_K8S_CONFORMANCE_IMAGE],
+              ]
+          }
 
-        stage('Test config change on test env') {
-            build job: "deploy-test-service", parameters: [
-              [$class: 'StringParameterValue', name: 'SALT_MASTER_URL', value: TST_SALT_MASTER_URL],
-              [$class: 'StringParameterValue', name: 'SALT_MASTER_CREDENTIALS', value: TST_SALT_MASTER_CREDENTIALS],
-              [$class: 'StringParameterValue', name: 'TEST_SERVICE', value: TEST_SERVICE],
-              [$class: 'StringParameterValue', name: 'TEST_K8S_API_SERVER', value: TEST_K8S_API_SERVER],
-              [$class: 'StringParameterValue', name: 'TEST_K8S_CONFORMANCE_IMAGE', value: TEST_K8S_CONFORMANCE_IMAGE],
-            ]
-        }
+          stage('Promote config change in repo') {
+              build job: "git-merge-branches", parameters: [
+                [$class: 'StringParameterValue', name: 'REPO_URL', value: MODEL_REPO_URL],
+                [$class: 'StringParameterValue', name: 'CREDENTIALS_ID', value: MODEL_REPO_CREDENTIALS],
+                [$class: 'StringParameterValue', name: 'SOURCE_BRANCH', value: MODEL_REPO_SOURCE_BRANCH],
+                [$class: 'StringParameterValue', name: 'TARGET_BRANCH', value: MODEL_REPO_TARGET_BRANCH],
+              ]
+          }
 
-        stage('Promote config change in repo') {
-            build job: "git-merge-branches", parameters: [
-              [$class: 'StringParameterValue', name: 'REPO_URL', value: MODEL_REPO_URL],
-              [$class: 'StringParameterValue', name: 'CREDENTIALS_ID', value: MODEL_REPO_CREDENTIALS],
-              [$class: 'StringParameterValue', name: 'SOURCE_BRANCH', value: MODEL_REPO_SOURCE_BRANCH],
-              [$class: 'StringParameterValue', name: 'TARGET_BRANCH', value: MODEL_REPO_TARGET_BRANCH],
-            ]
-        }
+          stage('Run config change on production env') {
+              build job: "deploy-update-service-config", parameters: [
+                [$class: 'StringParameterValue', name: 'SALT_MASTER_URL', value: PRD_SALT_MASTER_URL],
+                [$class: 'StringParameterValue', name: 'SALT_MASTER_CREDENTIALS', value: PRD_SALT_MASTER_CREDENTIALS],
+                [$class: 'StringParameterValue', name: 'TARGET_BATCH_LIVE', value: TARGET_BATCH_LIVE],
+                [$class: 'StringParameterValue', name: 'TARGET_SERVERS', value: TARGET_SERVERS],
+                [$class: 'StringParameterValue', name: 'TARGET_STATES', value: TARGET_STATES],
+                [$class: 'StringParameterValue', name: 'TARGET_SUBSET_LIVE', value: TARGET_SUBSET_LIVE],
+                [$class: 'StringParameterValue', name: 'TARGET_SUBSET_TEST', value: TARGET_SUBSET_TEST],
+              ]
+          }
 
-        stage('Run config change on production env') {
-            build job: "deploy-update-service-config", parameters: [
-              [$class: 'StringParameterValue', name: 'SALT_MASTER_URL', value: PRD_SALT_MASTER_URL],
-              [$class: 'StringParameterValue', name: 'SALT_MASTER_CREDENTIALS', value: PRD_SALT_MASTER_CREDENTIALS],
-              [$class: 'StringParameterValue', name: 'TARGET_BATCH_LIVE', value: TARGET_BATCH_LIVE],
-              [$class: 'StringParameterValue', name: 'TARGET_SERVERS', value: TARGET_SERVERS],
-              [$class: 'StringParameterValue', name: 'TARGET_STATES', value: TARGET_STATES],
-              [$class: 'StringParameterValue', name: 'TARGET_SUBSET_LIVE', value: TARGET_SUBSET_LIVE],
-              [$class: 'StringParameterValue', name: 'TARGET_SUBSET_TEST', value: TARGET_SUBSET_TEST],
-            ]
-        }
+          stage('Test config change on prod env') {
+              def result = build job: "deploy-test-service", parameters: [
+                [$class: 'StringParameterValue', name: 'SALT_MASTER_URL', value: PRD_SALT_MASTER_URL],
+                [$class: 'StringParameterValue', name: 'SALT_MASTER_CREDENTIALS', value: PRD_SALT_MASTER_CREDENTIALS],
+                [$class: 'StringParameterValue', name: 'TEST_SERVICE', value: TEST_SERVICE],
+                [$class: 'StringParameterValue', name: 'TEST_K8S_API_SERVER', value: TEST_K8S_API_SERVER],
+                [$class: 'StringParameterValue', name: 'TEST_K8S_CONFORMANCE_IMAGE', value: TEST_K8S_CONFORMANCE_IMAGE],
+              ]
+          }
 
-        stage('Test config change on prod env') {
-            def result = build job: "deploy-test-service", parameters: [
-              [$class: 'StringParameterValue', name: 'SALT_MASTER_URL', value: PRD_SALT_MASTER_URL],
-              [$class: 'StringParameterValue', name: 'SALT_MASTER_CREDENTIALS', value: PRD_SALT_MASTER_CREDENTIALS],
-              [$class: 'StringParameterValue', name: 'TEST_SERVICE', value: TEST_SERVICE],
-              [$class: 'StringParameterValue', name: 'TEST_K8S_API_SERVER', value: TEST_K8S_API_SERVER],
-              [$class: 'StringParameterValue', name: 'TEST_K8S_CONFORMANCE_IMAGE', value: TEST_K8S_CONFORMANCE_IMAGE],
-            ]
-        }
-
-    } catch (Throwable e) {
-        currentBuild.result = 'FAILURE'
-        throw e
-    }
+      } catch (Throwable e) {
+          currentBuild.result = 'FAILURE'
+          throw e
+      }
+  }
 }
