diff --git a/mk-k8s-simple-deploy-pipeline.groovy b/mk-k8s-simple-deploy-pipeline.groovy
index e515486..37aa245 100644
--- a/mk-k8s-simple-deploy-pipeline.groovy
+++ b/mk-k8s-simple-deploy-pipeline.groovy
@@ -28,6 +28,7 @@
 openstack = new com.mirantis.mk.Openstack()
 salt = new com.mirantis.mk.Salt()
 orchestrate = new com.mirantis.mk.Orchestrate()
+test = new com.mirantis.mk.Test()
 
 node {
 
@@ -86,11 +87,15 @@
     if (RUN_TESTS == "1") {
         sleep(30000)
         stage('Run k8s bootstrap tests') {
-            orchestrate.runConformanceTests(saltMaster, K8S_API_SERVER, 'tomkukral/k8s-scripts')
+            test.runConformanceTests(saltMaster, K8S_API_SERVER, 'tomkukral/k8s-scripts')
         }
 
         stage("Run k8s conformance e2e tests") {
-            orchestrate.runConformanceTests(saltMaster, K8S_API_SERVER, CONFORMANCE_IMAGE)
+            test.runConformanceTests(saltMaster, K8S_API_SERVER, CONFORMANCE_IMAGE)
+        }
+
+        stage("Copy k8s e2e test output to config node ") {
+            test.copyTestsOutput(saltMaster,CONFORMANCE_IMAGE)
         }
     }
 
diff --git a/mk-lab-pipeline.groovy b/mk-lab-pipeline.groovy
index 7a21e16..a5f2eb4 100644
--- a/mk-lab-pipeline.groovy
+++ b/mk-lab-pipeline.groovy
@@ -34,6 +34,7 @@
 openstack = new com.mirantis.mk.Openstack()
 salt = new com.mirantis.mk.Salt()
 orchestrate = new com.mirantis.mk.Orchestrate()
+test = new com.mirantis.mk.Test()
 
 node {
 
@@ -108,11 +109,15 @@
 
         if (TESTS.toLowerCase().contains('k8s')) {
             stage('Run k8s bootstrap tests') {
-                orchestrate.runConformanceTests(saltMaster, K8S_API_SERVER, 'tomkukral/k8s-scripts')
+                test.runConformanceTests(saltMaster, K8S_API_SERVER, 'tomkukral/k8s-scripts')
             }
 
             stage('Run k8s conformance e2e tests') {
-                orchestrate.runConformanceTests(saltMaster, K8S_API_SERVER, K8S_CONFORMANCE_IMAGE)
+                test.runConformanceTests(saltMaster, K8S_API_SERVER, K8S_CONFORMANCE_IMAGE)
+            }
+
+            stage("Copy k8s e2e test output to config node ") {
+                test.copyTestsOutput(saltMaster,K8S_CONFORMANCE_IMAGE)
             }
         }
     }
