diff --git a/Jenkinsfile.ciab b/Jenkinsfile.ciab
index c8ba745..492100a 100644
--- a/Jenkinsfile.ciab
+++ b/Jenkinsfile.ciab
@@ -1,58 +1,18 @@
-node ('build') {
-    stage 'Redeploy CiaB build node'
-    try {
-        maasOps: {
-            sh "maas login maas http://10.90.0.2/MAAS/api/2.0 ${apiKey}"
-            sh "maas maas machine release ${systemId}"
+node ('ciab-build') {
+  try {
+    stage 'Run CORD-in-a-Box script'
+    sh "curl -o cord-in-a-box.sh https://raw.githubusercontent.com/opencord/cord/master/scripts/cord-in-a-box.sh"
+    sh "bash ./cord-in-a-box.sh -c"
 
-            timeout(time: 15) {
-                waitUntil {
-                    try {
-                        sh "maas maas machine read ${systemId} | grep Ready"
-                        return true
-                    } catch (exception) {
-                        return false
-                    }
-                }
-            }
+    stage 'Run end-to-end tests'
+    sh "~/opencord/build/scripts/run-tests.sh"
 
-            sh 'maas maas machines allocate'
-            sh "maas maas machine deploy ${systemId}"
+    currentBuild.result = 'SUCCESS'
+  } catch (err) {
+    currentBuild.result = 'FAILURE'
+    step([$class: 'Mailer', notifyEveryUnstableBuild: true, recipients: 'cord-dev@opencord.org', sendToIndividuals: false])
+  } finally {
+  }
 
-            timeout(time: 30) {
-                waitUntil {
-                    try {
-                        sh "maas maas machine read ${systemId} | grep Deployed"
-                        return true
-                    } catch (exception) {
-                        return false
-                    }
-                }
-            }
-        }
-
-        stage 'Wait for SSH on the CiaB build node'
-        sh 'ssh-keygen -f "/home/ubuntu/.ssh/known_hosts" -R 10.90.0.253'
-        timeout(time: 15) {
-            waitUntil {
-                try {
-                    sh "sshpass -p ${headnodepass} ssh -oStrictHostKeyChecking=no -l ${headnodeuser} 10.90.0.253 curl -o cord-in-a-box.sh https://raw.githubusercontent.com/opencord/cord/master/scripts/cord-in-a-box.sh"
-                    return true
-                } catch (exception) {
-                    return false
-                }
-            }
-        }
-
-        stage 'Run CORD-in-a-Box script'
-        sh "sshpass -p ${headnodepass} ssh -oStrictHostKeyChecking=no -l ${headnodeuser} 10.90.0.253 bash cord-in-a-box.sh -t"
-
-        currentBuild.result = 'SUCCESS'
-    } catch (err) {
-        currentBuild.result = 'FAILURE'
-        step([$class: 'Mailer', notifyEveryUnstableBuild: true, recipients: 'cord-dev@opencord.org', sendToIndividuals: false])
-    } finally {
-    }
-
-    echo "RESULT: ${currentBuild.result}"
+  echo "RESULT: ${currentBuild.result}"
 }
