diff --git a/jobs/pipelines/mosk/deploy-bm.groovy b/jobs/pipelines/mosk/deploy-bm.groovy
index 0dddf3d..a2cae19 100644
--- a/jobs/pipelines/mosk/deploy-bm.groovy
+++ b/jobs/pipelines/mosk/deploy-bm.groovy
@@ -120,37 +120,18 @@
             println openstack_credentials
             writeFile(file: "openstack_credentials.yaml", text: openstack_credentials, encoding: "UTF-8")
           } //stage get credentials
-
-          stage("Tempest configuration and run") {
-            kubectl_openstack_cmd = "ssh ${ssh_params} root@${seed_ext_ip} /root/kaas-bootstrap/bin/kubectl --kubeconfig /root/child.kubeconfig -n openstack "
-            sh "${kubectl_openstack_cmd} patch osdpl osh-dev --type merge -p '{\\\"spec\\\":{\\\"features\\\":{\\\"services\\\":[\\\"tempest\\\"]}}}'"
-            tempest_pod_name_cmd = "ssh ${ssh_params} root@${seed_ext_ip} '/root/kaas-bootstrap/bin/kubectl --kubeconfig /root/child.kubeconfig -n openstack get pods -o custom-columns=POD:.metadata.name --no-headers | grep openstack-tempest-run-tests'"
-            tempest_pod_name = ''
-            while(tempest_pod_name==''){
-              try{
-                tempest_pod_name = sh(returnStdout: true, script: "${tempest_pod_name_cmd}").trim()
-              } catch(Exception e) {
-              println("Wait tempest pod start (Exception: ${e}")}
-              sleep 30
+          if (env.RUN_TESTS_AFTER_DEPLOY == "true") {
+            stage("Run tempest job"){
+              def deploy = build job: 'mosk-tempest',
+                parameters: [
+                  string(name: 'NODE_LABEL', value: NODE_LABEL),
+                  string(name: 'MAINTENANCE_TEAM_SSH_ID', value: MAINTENANCE_TEAM_SSH_ID),
+                  string(name: 'TCP_QA_REFS', value: env.TCP_QA_REFS),
+                  string(name: 'SEED_EXT_IP', value: seed_ext_ip)
+                ],
+                wait: false,
+                propagate: false
             }
-            tempest_check_cmd = "ssh ${ssh_params} root@${seed_ext_ip} '/root/kaas-bootstrap/bin/kubectl --kubeconfig /root/child.kubeconfig -n openstack get -o jsonpath=\'{.status.phase}\' pod/${tempest_pod_name}'"
-            status = ""
-            while (status != "Succeeded"){ //Completed
-              status = sh(returnStdout: true, script: "${tempest_check_cmd}").trim()
-              println("Tempest pod status is ${status}")
-              sleep 60
-            }
-          } //stage tempest
-          stage("Archive artifacts"){
-            sh "${kubectl_openstack_cmd} apply -f /root/bm_mcc_mosk/child/kaas_workloads/tempest-pvc-storage.yaml"
-            sleep 60
-            ssh_cmd = "ssh ${ssh_params} root@${seed_ext_ip} "
-            sh "${ssh_cmd} '/root/kaas-bootstrap/bin/kubectl --kubeconfig /root/child.kubeconfig -n openstack cp tempest-test-results-pod:var/lib/tempest/data/ /root/tempest_log/'"
-            sh "scp -r -v ${ssh_params} root@${seed_ext_ip}:/root/tempest_log ."
-            sh "tar -czvf tempest_log/tempest_full.tar.gz tempest_log/tempest.log"
-            archiveArtifacts artifacts: "openstack_credentials.yaml, tempest_log/*/tempest.log, tempest_log/tempest_full.tar.gz"
-            sh "${kubectl_openstack_cmd} delete pod tempest-test-results-pod"
-            sh "${kubectl_openstack_cmd} patch osdpl osh-dev --type merge -p '{\\\"spec\\\":{\\\"features\\\":{\\\"services\\\":[]}}}'"
           }
         } //withCredentials
       } //sshagent
diff --git a/jobs/pipelines/mosk/mosk-archive-artifacts.groovy b/jobs/pipelines/mosk/mosk-archive-artifacts.groovy
new file mode 100644
index 0000000..7762945
--- /dev/null
+++ b/jobs/pipelines/mosk/mosk-archive-artifacts.groovy
@@ -0,0 +1,44 @@
+@Library('tcp-qa')_
+
+import groovy.xml.XmlUtil
+
+common = new com.mirantis.mk.Common()
+shared = new com.mirantis.system_qa.SharedPipeline()
+
+NODE_LABEL = env.NODE_LABEL ?: "sre-team-infra"
+MAINTENANCE_TEAM_SSH_ID = env.MAINTENANCE_TEAM_SSH_ID ?: 'maintenance-team-ssh'
+//IPMI_CREDS = 'lab_engineer' // base bm lab
+seed_ext_ip = env.SEED_EXT_IP ?: '172.16.180.2'
+ssh_params = "-o ConnectTimeout=20 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null"
+kubectl_openstack_cmd = "ssh ${ssh_params} root@${seed_ext_ip} /root/kaas-bootstrap/bin/kubectl --kubeconfig /root/child.kubeconfig -n openstack "
+
+
+timeout(time: 6, unit: 'HOURS') {
+  timestamps {
+    node ("${NODE_LABEL}") {
+      checkout scm
+      shared.update_working_dir()
+      sshagent(credentials: ['maintenance-team-ssh']) {
+        withCredentials(
+        [[$class: 'SSHUserPrivateKeyBinding',
+          keyFileVariable: "MAINTENANCE_TEAM_SSH_KEY",
+          credentialsId: MAINTENANCE_TEAM_SSH_ID,
+          usernameVariable: "MAINTENANCE_TEAM_SSH_USERNAME"]]) {
+          stage("Archive artifacts"){
+            sh "${kubectl_openstack_cmd} apply -f /root/bm_mcc_mosk/child/kaas_workloads/tempest-pvc-storage.yaml"
+            sleep 60
+            ssh_cmd = "ssh ${ssh_params} root@${seed_ext_ip} "
+            sh "${ssh_cmd} '/root/kaas-bootstrap/bin/kubectl --kubeconfig /root/child.kubeconfig -n openstack cp tempest-test-results-pod:var/lib/tempest/data/ /root/tempest_log/'"
+            sh "scp -r -v ${ssh_params} root@${seed_ext_ip}:/root/tempest_log ."
+            sh "tar -czvf tempest_log/tempest_full.tar.gz tempest_log/tempest.log"
+            archiveArtifacts artifacts: "openstack_credentials.yaml, tempest_log/*/tempest.log, tempest_log/tempest_full.tar.gz"
+            sh "${kubectl_openstack_cmd} delete pod tempest-test-results-pod"
+            if( env.DELETE_TEMPEST_POD == true ){
+              sh "${kubectl_openstack_cmd} patch osdpl osh-dev --type merge -p '{\\\"spec\\\":{\\\"features\\\":{\\\"services\\\":[]}}}'"
+            }
+          }
+        } //withCredentials
+      } //sshagent
+    } //node
+  } //timestamps
+} //timeout
\ No newline at end of file
diff --git a/jobs/pipelines/mosk/mosk-tempest.groovy b/jobs/pipelines/mosk/mosk-tempest.groovy
new file mode 100644
index 0000000..bbce7c9
--- /dev/null
+++ b/jobs/pipelines/mosk/mosk-tempest.groovy
@@ -0,0 +1,70 @@
+@Library('tcp-qa')_
+
+import groovy.xml.XmlUtil
+
+common = new com.mirantis.mk.Common()
+shared = new com.mirantis.system_qa.SharedPipeline()
+
+NODE_LABEL = env.NODE_LABEL ?: "sre-team-infra"
+MAINTENANCE_TEAM_SSH_ID = env.MAINTENANCE_TEAM_SSH_ID ?: 'maintenance-team-ssh'
+//IPMI_CREDS = 'lab_engineer' // base bm lab
+seed_ext_ip = env.SEED_EXT_IP ?: '172.16.180.2'
+ssh_params = "-o ConnectTimeout=20 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null"
+kubectl_openstack_cmd = "ssh ${ssh_params} root@${seed_ext_ip} /root/kaas-bootstrap/bin/kubectl --kubeconfig /root/child.kubeconfig -n openstack "
+
+timeout(time: 6, unit: 'HOURS') {
+  timestamps {
+    node ("${NODE_LABEL}") {
+      checkout scm
+      shared.update_working_dir()
+      sshagent(credentials: ['maintenance-team-ssh']) {
+        withCredentials(
+        [[$class: 'SSHUserPrivateKeyBinding',
+          keyFileVariable: "MAINTENANCE_TEAM_SSH_KEY",
+          credentialsId: MAINTENANCE_TEAM_SSH_ID,
+          usernameVariable: "MAINTENANCE_TEAM_SSH_USERNAME"]]) {
+          stage("Delete old tempest pod") {
+            cmd_get_service_list_wo_tempest = "${kubectl_openstack_cmd} get osdpl osh-dev -o jsonpath='{.spec.features.services}' | jq 'del(.[index(\\\"tempest\\\")])' "
+            try {
+              service_list_wo_tempest = sh(returnStdout: true, script: "${cmd_get_service_list_wo_tempest}").trim()
+              sh "${kubectl_openstack_cmd} patch osdpl osh-dev --type merge -p '{\\\"spec\\\":{\\\"features\\\":{\\\"services\\\":${service_list_wo_tempest}}}}'"
+              sleep 60
+            }
+            catch(Exception e) {
+              println("Tempest not included in services (Exception: ${e}")}
+          }
+          stage("Tempest configuration and run") {
+            sh "${kubectl_openstack_cmd} patch osdpl osh-dev --type merge -p '{\\\"spec\\\":{\\\"features\\\":{\\\"services\\\":[\\\"tempest\\\"]}}}'"
+            tempest_pod_name_cmd = "ssh ${ssh_params} root@${seed_ext_ip} '/root/kaas-bootstrap/bin/kubectl --kubeconfig /root/child.kubeconfig -n openstack get pods -o custom-columns=POD:.metadata.name --no-headers | grep openstack-tempest-run-tests'"
+            tempest_pod_name = ''
+            while(tempest_pod_name==''){
+              try{
+                tempest_pod_name = sh(returnStdout: true, script: "${tempest_pod_name_cmd}").trim()
+              } catch(Exception e) {
+              println("Wait tempest pod start (Exception: ${e}")}
+              sleep 30
+            }
+            tempest_check_cmd = "ssh ${ssh_params} root@${seed_ext_ip} '/root/kaas-bootstrap/bin/kubectl --kubeconfig /root/child.kubeconfig -n openstack get -o jsonpath=\'{.status.phase}\' pod/${tempest_pod_name}'"
+            status = ""
+            while (status != "Succeeded"){ //Completed
+              status = sh(returnStdout: true, script: "${tempest_check_cmd}").trim()
+              println("Tempest pod status is ${status}")
+              sleep 60
+            }
+          } //stage tempest
+          stage("Run archive artifacts job") {
+            def deploy = build job: 'mosk-archive-artifacts',
+              parameters: [
+                string(name: 'NODE_LABEL', value: NODE_LABEL),
+                string(name: 'MAINTENANCE_TEAM_SSH_ID', value: MAINTENANCE_TEAM_SSH_ID),
+                string(name: 'TCP_QA_REFS', value: env.TCP_QA_REFS),
+                string(name: 'SEED_EXT_IP', value: seed_ext_ip)
+              ],
+              wait: false,
+              propagate: false
+          }
+        } //withCredentials
+      } //sshagent
+    } //node
+  } //timestamps
+} //timeout
\ No newline at end of file
