diff --git a/mk-k8s-mcp-oc-deploy-pipeline.groovy b/mk-k8s-mcp-oc-deploy-pipeline.groovy
index ec007ed..33b8c95 100644
--- a/mk-k8s-mcp-oc-deploy-pipeline.groovy
+++ b/mk-k8s-mcp-oc-deploy-pipeline.groovy
@@ -17,6 +17,8 @@
  *   HEAT_STACK_ENVIRONMENT     Heat stack environmental parameters
  *   HEAT_STACK_ZONE            Heat stack availability zone
  *   HEAT_STACK_PUBLIC_NET      Heat stack floating IP pool
+ *   CONFORMANCE_IMAGE          Path to docker image with conformance e2e tests
+ *   K8S_API_SERVER             Kubernetes API address
  */
 
 git = new com.mirantis.mk.git()
@@ -81,6 +83,10 @@
         salt.installOpenstackMcpCompute(saltMaster)
     }
 
+    stage("Run k8s conformance e2e tests") {
+        salt.runConformanceTest(saltMaster, K8S_API_SERVER, CONFORMANCE_IMAGE)
+    }
+
     if (HEAT_STACK_DELETE == "1") {
         stage('Trigger cleanup job') {
             build job: 'mk-k8s-cleanup', parameters: [[$class: 'StringParameterValue', name: 'HEAT_STACK_NAME', value: HEAT_STACK_NAME]]
diff --git a/mk-k8s-simple-deploy-pipeline.groovy b/mk-k8s-simple-deploy-pipeline.groovy
index b624aff..a6f9938 100644
--- a/mk-k8s-simple-deploy-pipeline.groovy
+++ b/mk-k8s-simple-deploy-pipeline.groovy
@@ -17,6 +17,8 @@
  *   HEAT_STACK_ENVIRONMENT     Heat stack environmental parameters
  *   HEAT_STACK_ZONE            Heat stack availability zone
  *   HEAT_STACK_PUBLIC_NET      Heat stack floating IP pool
+ *   CONFORMANCE_IMAGE          Path to docker image with conformance e2e tests
+ *   K8S_API_SERVER             Kubernetes API address
  */
 
 git = new com.mirantis.mk.git()
@@ -81,6 +83,10 @@
     //    salt.installOpenstackMcpCompute(saltMaster)
     //}
 
+    stage("Run k8s conformance e2e tests") {
+        salt.runConformanceTest(saltMaster, K8S_API_SERVER, CONFORMANCE_IMAGE)
+    }
+
     if (HEAT_STACK_DELETE == "1") {
         stage('Trigger cleanup job') {
             build job: 'mk-k8s-cleanup', parameters: [[$class: 'StringParameterValue', name: 'HEAT_STACK_NAME', value: HEAT_STACK_NAME]]
diff --git a/mk-kubernetes-deploy-pipeline.groovy b/mk-kubernetes-deploy-pipeline.groovy
index 25d3298..fa77110 100644
--- a/mk-kubernetes-deploy-pipeline.groovy
+++ b/mk-kubernetes-deploy-pipeline.groovy
@@ -17,6 +17,8 @@
  *   HEAT_STACK_ENVIRONMENT     Heat stack environmental parameters
  *   HEAT_STACK_ZONE            Heat stack availability zone
  *   HEAT_STACK_PUBLIC_NET      Heat stack floating IP pool
+ *   CONFORMANCE_IMAGE          Path to docker image with conformance e2e tests
+ *   K8S_API_SERVER             Kubernetes API address
  */
 
 git = new com.mirantis.mk.git()
@@ -77,6 +79,10 @@
         salt.installOpenstackMcpCompute(saltMaster)
     }
 
+    stage("Run k8s conformance e2e tests") {
+        salt.runConformanceTest(saltMaster, K8S_API_SERVER, CONFORMANCE_IMAGE)
+    }
+
     //stage('Delete Heat stack') {
     //    openstack.deleteHeatStack(openstackCloud, HEAT_STACK_NAME, openstackEnv)
     //}
