diff --git a/Jenkinsfile-mcord-build b/Jenkinsfile-mcord-local-build
similarity index 92%
rename from Jenkinsfile-mcord-build
rename to Jenkinsfile-mcord-local-build
index 5a70dbf..bee380c 100644
--- a/Jenkinsfile-mcord-build
+++ b/Jenkinsfile-mcord-local-build
@@ -93,6 +93,26 @@
                     }
                 }
             }
+
+            stage('Install etcd-cluster') {
+                timeout(10) {
+                    sh returnStdout: true, script: """
+                    export KUBECONFIG=$WORKSPACE/${configBaseDir}/${configKubernetesDir}/${configFileName}.conf
+                    helm install -f $WORKSPACE/${configBaseDir}/${configKubernetesDir}/${configFileName}.yml --version 0.8.3 -n etcd-operator stable/etcd-operator
+                    helm install -f $WORKSPACE/${configBaseDir}/${configKubernetesDir}/${configFileName}.yml --set etcdNodePort=32379 cord/etcd-cluster
+                    """
+                }
+                timeout(10) {
+                    waitUntil {
+                        etcd_running = sh returnStdout: true, script: """
+                        export KUBECONFIG=$WORKSPACE/${configBaseDir}/${configKubernetesDir}/${configFileName}.conf &&
+                        kubectl get pods | grep etcd | grep -i running | grep 1/1 | wc -l
+                        """
+                        return etcd_running.toInteger() == 6
+                    }
+                }
+            }
+
             dir ("helm-charts") {
                 stage('Install SR-IOV CNI and SR-IOV Network Device Plugin') {
                     sh returnStdout: true, script: """
diff --git a/Jenkinsfile-mcord-build b/Jenkinsfile-mcord-remote-build
similarity index 92%
copy from Jenkinsfile-mcord-build
copy to Jenkinsfile-mcord-remote-build
index 5a70dbf..bee380c 100644
--- a/Jenkinsfile-mcord-build
+++ b/Jenkinsfile-mcord-remote-build
@@ -93,6 +93,26 @@
                     }
                 }
             }
+
+            stage('Install etcd-cluster') {
+                timeout(10) {
+                    sh returnStdout: true, script: """
+                    export KUBECONFIG=$WORKSPACE/${configBaseDir}/${configKubernetesDir}/${configFileName}.conf
+                    helm install -f $WORKSPACE/${configBaseDir}/${configKubernetesDir}/${configFileName}.yml --version 0.8.3 -n etcd-operator stable/etcd-operator
+                    helm install -f $WORKSPACE/${configBaseDir}/${configKubernetesDir}/${configFileName}.yml --set etcdNodePort=32379 cord/etcd-cluster
+                    """
+                }
+                timeout(10) {
+                    waitUntil {
+                        etcd_running = sh returnStdout: true, script: """
+                        export KUBECONFIG=$WORKSPACE/${configBaseDir}/${configKubernetesDir}/${configFileName}.conf &&
+                        kubectl get pods | grep etcd | grep -i running | grep 1/1 | wc -l
+                        """
+                        return etcd_running.toInteger() == 6
+                    }
+                }
+            }
+
             dir ("helm-charts") {
                 stage('Install SR-IOV CNI and SR-IOV Network Device Plugin') {
                     sh returnStdout: true, script: """
diff --git a/VERSION b/VERSION
index e010258..5410937 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-2.0.5
+2.0.6-dev
