diff --git a/Jenkinsfile-mcord-local-build b/Jenkinsfile-mcord-local-build
index 8d301b1..5609414 100644
--- a/Jenkinsfile-mcord-local-build
+++ b/Jenkinsfile-mcord-local-build
@@ -124,6 +124,7 @@
                 }
             }
 
+            // In current development progress, we prefered to keep this for testing eNodeB's functionality
             stage("Install M-CORD Control Plane Services") {
                 sh returnStdout: true, script: """
                 export KUBECONFIG=$WORKSPACE/${configBaseDir}/${configKubernetesDir}/${configFileName}.conf
diff --git a/Jenkinsfile-mcord-remote-build b/Jenkinsfile-mcord-remote-build
index bee380c..d6b1b6c 100644
--- a/Jenkinsfile-mcord-remote-build
+++ b/Jenkinsfile-mcord-remote-build
@@ -42,20 +42,6 @@
                         }
                     }
                     timeout(5) {
-                        dir ("helm-charts") {
-                            stage("Cleanup SR-IOV CNI and SR-IOV Network Device Plugin") {
-                                sh returnStdout: true, script: """
-                                export KUBECONFIG=$WORKSPACE/${configBaseDir}/${configKubernetesDir}/${configFileName}.conf
-                                kubectl delete -f mcord/cni-config/05-sriov-device-plugin.yaml
-                                kubectl delete -f mcord/cni-config/04-sriov-device-plugin-configmap.yaml
-                                kubectl delete -f mcord/cni-config/03-network-definition.yaml
-                                kubectl delete -f mcord/cni-config/02-network-crd.yaml
-                                kubectl delete -f mcord/cni-config/01-cni-service-account.yaml
-                                """
-                            }
-                        }
-                    }
-                    timeout(5) {
                         waitUntil {
                             kubectl_deleted = sh returnStdout: true, script: """
                             export KUBECONFIG=$WORKSPACE/${configBaseDir}/${configKubernetesDir}/${configFileName}.conf &&
@@ -113,29 +99,22 @@
                 }
             }
 
-            dir ("helm-charts") {
-                stage('Install SR-IOV CNI and SR-IOV Network Device Plugin') {
-                    sh returnStdout: true, script: """
-                    export KUBECONFIG=$WORKSPACE/${configBaseDir}/${configKubernetesDir}/${configFileName}.conf
-                    kubectl apply -f mcord/cni-config/02-network-crd.yaml
-                    kubectl apply -f mcord/cni-config/
-                    sleep 5
-                    """
-                }
-            }
-
             stage("Install M-CORD Control Plane Services") {
                 sh returnStdout: true, script: """
                 export KUBECONFIG=$WORKSPACE/${configBaseDir}/${configKubernetesDir}/${configFileName}.conf
                 helm install -n mcord-control-plane --namespace epc -f $WORKSPACE/${configBaseDir}/${configKubernetesDir}/${configFileName}.yml cord/mcord-control-plane
                 """
             }
-            
-            stage("Install M-CORD Data Plane Services") {
-                sh returnStdout: true, script: """
-                export KUBECONFIG=$WORKSPACE/${configBaseDir}/${configKubernetesDir}/${configFileName}.conf
-                helm install -n mcord-data-plane --namespace epc -f $WORKSPACE/${configBaseDir}/${configKubernetesDir}/${configFileName}.yml cord/mcord-data-plane
-                """
+
+            stage('Check M-CORD Control Plane available') {
+                timeout(20) {
+                    control_plane = sh returnStdout: true, script: """
+                    export KUBECONFIG=$WORKSPACE/${configBaseDir}/${configKubernetesDir}/${configFileName}.conf
+                    kubectl -n epc get pods | grep Running | grep 1/1 | wc -l
+                    """
+                    // We have 4 pods: cassandra, hss, mme and ngic-cp
+                    return control_plane.toInteger() == 4
+                }
             }
 
             // stage('Install CORD Kafka') {
