diff --git a/Jenkinsfile-mcord-remote-build b/Jenkinsfile-mcord-remote-build
index 7582e76..ef37d1e 100644
--- a/Jenkinsfile-mcord-remote-build
+++ b/Jenkinsfile-mcord-remote-build
@@ -18,6 +18,7 @@
             stage ("Parse deployment configuration file") {
                 sh returnStdout: true, script: "rm -rf helm-charts helm-repo-tools ${configBaseDir}"
                 sh returnStdout: true, script: "git clone -b ${branch} ${cordRepoUrl}/helm-repo-tools"
+                sh returnStdout: true, script: "git clone -b ${branch} ${cordRepoUrl}/helm-charts"
                 sh returnStdout: true, script: "git clone -b ${branch} ${cordRepoUrl}/${configBaseDir}"
                 deployment_config = readYaml file: "${configBaseDir}/${configDeploymentDir}/${configFileName}.yaml"
             }
@@ -79,22 +80,42 @@
                 }
             }
 
+            
+
             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
+                helm install -n mcord-control-plane --namespace epc -f $WORKSPACE/${configBaseDir}/${configKubernetesDir}/${configFileName}.yml --set spgwu_s1u_ip=${dataplane_s1u_ip} --set accelleran_hostname=${accelleran_bbu_ip} cord/mcord-control-plane
                 """
 
                 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
+                    kubectl -n epc get pods | grep -i running | grep 1/1 | wc -l
                     """
                     // We have 4 pods: cassandra, hss, mme and ngic-cp
                     return control_plane.toInteger() == 4
                 }
             }
 
+            // TODO: Use --namespace wowz to create the namespace
+            stage("Install CDN Remote Services") {
+                sh returnStdout: true, script: """
+                export KUBECONFIG=$WORKSPACE/${configBaseDir}/${configKubernetesDir}/${configFileName}.conf
+                helm install -n cdn-remote cord/mcord-cdn-remote
+                """
+
+                timeout(3) {
+                    waitUntil {
+                        mcord_remote_cdn_working = sh returnStdout: true, script: """
+                        export KUBECONFIG=$WORKSPACE/${configBaseDir}/${configKubernetesDir}/${configFileName}.conf &&
+                        kubectl -n wowz get pods -o wide | grep -i running | grep 1/1 | wc -l
+                        """
+                        return mcord_remote_cdn_working.toInteger() == 1
+                    }
+                }
+            }
+
             currentBuild.result = 'SUCCESS'
         } catch (err) {
             currentBuild.result = 'FAILURE'
