diff --git a/jjb/cord-test/mcord-build.yaml b/jjb/cord-test/mcord-build.yaml
index 7500fde..f90f2ed 100644
--- a/jjb/cord-test/mcord-build.yaml
+++ b/jjb/cord-test/mcord-build.yaml
@@ -1,34 +1,46 @@
 ---
-# POD Nightly Build Pipeline M-CORD Jobs
+# MCORD 6.0 Build+Test job on Single-Node
 
 - project:
-    name: mcord-nightly-build-pipeline
+    name: mcord-build
 
     project-name: '{name}'
 
-    build-timeout: '300'
-
     jobs:
-      # qct pod 4 build jobs (mcord)
-      - 'build_pod_manual':
-         pod: 'qct-pod4'
-         pod_config: 'qct-pod4-mcord.yml'
-         profile: 'mcord'
-         branch: 'cord-4.1'
-         Jenkinsfile: 'Jenkinsfile.newBuildSystem'
+      - 'mcord_build_test'
 
-      # onf pod build job (mcord)
-      - 'build_pod_manual':
-         pod: 'onf-mcord-dev'
-         pod_config: 'onlab-mcord-cavium-pod1.yml'
-         profile: 'mcord'
-         branch: 'cord-5.0'
-         Jenkinsfile: 'Jenkinsfile.MCORDBuildSystem'
+- job-template:
+    id: mcord_build_test
+    name: 'mcord_build_test'
+    description: |
+      Created by {id} job-template from ci-management/jjb/mcord-build.yaml
 
-      # qct pod 4 test jobs
-      - 'build_pod_manual_test':
-         pod: 'qct-pod4'
-         pod_config: 'qct-pod4-mcord.yml'
-         profile: 'mcord'
-         branch: 'cord-4.1'
-         Jenkinsfile: 'Jenkinsfile-mcord'
+    properties:
+      - cord-infra-properties:
+          build-days-to-keep: '{build-days-to-keep}'
+          artifact-num-to-keep: '{artifact-num-to-keep}'
+
+    wrappers:
+      - lf-infra-wrappers:
+          build-timeout: '{build-timeout}'
+          jenkins-ssh-credential: '{jenkins-ssh-credential}'
+
+    parameters:
+      - string:
+          name: executorNode
+          default: 'flex-ocp-mcord'
+          description: 'Name of the Jenkins node to run the job on'
+
+      - string:
+         name: notificationEmail
+         default: 'kailash@opennetworking.org, you@opennetworking.org, suchitra@opennetworking.org'
+         description: 'List of email recipients'
+
+    project-type: pipeline
+    concurrent: false
+
+    dsl: !include-raw-escape: ../pipeline/mcord-deployment.groovy
+
+    triggers:
+        - reverse:
+            jobs: 'deploy-node-maas'
diff --git a/jjb/mcord-build.yaml b/jjb/mcord-build.yaml
deleted file mode 100644
index d46ea6b..0000000
--- a/jjb/mcord-build.yaml
+++ /dev/null
@@ -1,42 +0,0 @@
----
-# MCORD 6.0 Build+Test job on Single-Node
-
-- project:
-    name: mcord-build
-
-    project-name: '{name}'
-
-    jobs:
-      - 'mcord_build_test'
-
-- job-template:
-    id: mcord_build_test
-    name: 'mcord_build_test'
-    description: |
-      Created by {id} job-template from ci-management/jjb/mcord-build.yaml
-
-    properties:
-      - cord-infra-properties:
-          build-days-to-keep: '{build-days-to-keep}'
-          artifact-num-to-keep: '{artifact-num-to-keep}'
-
-    wrappers:
-      - lf-infra-wrappers:
-          build-timeout: '{build-timeout}'
-          jenkins-ssh-credential: '{jenkins-ssh-credential}'
-
-    parameters:
-      - string:
-          name: executorNode
-          default: 'flex-ocp-mcord'
-          description: 'Name of the Jenkins node to run the job on'
-
-      - string:
-         name: notificationEmail
-         default: 'kailash@opennetworking.org, you@opennetworking.org, suchitra@opennetworking.org'
-         description: 'List of email recipients'
-
-    project-type: pipeline
-    concurrent: false
-
-    dsl: !include-raw-escape: pipeline/mcord-deployment.groovy
diff --git a/jjb/pipeline/redeploy-node-maas.groovy b/jjb/pipeline/redeploy-node-maas.groovy
new file mode 100644
index 0000000..fe93747
--- /dev/null
+++ b/jjb/pipeline/redeploy-node-maas.groovy
@@ -0,0 +1,54 @@
+/*re-deploy node via maas cli commands. to be used prior to mcord 6.0 build job*/
+
+pipeline {
+
+  /* no label, executor is determined by JJB */
+  agent {
+    label "${params.executorNode}"
+  }
+
+  stages {
+
+    stage ('Re-Deploy Node') {
+      steps {
+          sh "maas login maas http://${maas_ip}/MAAS/api/2.0 ${maas_api_key}"
+          sh "maas maas machine release ${node_id}"
+
+          timeout(time:15) {
+            waitUntil {
+              script {
+                  try {
+                    sh "maas maas machine read ${node_id} | grep Ready"
+                    return true
+                    } catch (exception) {
+                        return false
+                    }
+                 }
+              }
+            }
+
+            sh "maas maas machines allocate"
+            sh "maas maas machine deploy ${node_id}"
+
+         timeout(time:15) {
+            waitUntil {
+              script {
+                  try {
+                    sh "maas maas machine read ${node_id} | grep Deployed"
+                    return true
+                    } catch (exception) {
+                        return false
+                    }
+                 }
+              }
+            }
+          }
+      }
+   }
+
+  post {
+        always {
+          step([$class: 'Mailer', notifyEveryUnstableBuild: true, recipients: "${notificationEmail}", sendToIndividuals: false])
+     }
+    }
+}
diff --git a/jjb/redeploy-node-maas.yaml b/jjb/redeploy-node-maas.yaml
new file mode 100644
index 0000000..a0c7e00
--- /dev/null
+++ b/jjb/redeploy-node-maas.yaml
@@ -0,0 +1,58 @@
+---
+# Job to re-deploy a particular node on a given maas server
+# Job requires maas server api-key and node id
+
+- project:
+    name: deploy-node
+
+    project-name: '{name}'
+
+    jobs:
+      - 'deploy-node-maas'
+
+- job-template:
+    id: deploy-node-maas
+    name: 'deploy-node-maas'
+    description: |
+      Created by {id} job-template from ci-management/jjb/redeploy-node-maas.yaml
+
+    properties:
+      - cord-infra-properties:
+          build-days-to-keep: '{build-days-to-keep}'
+          artifact-num-to-keep: '{artifact-num-to-keep}'
+
+    wrappers:
+      - lf-infra-wrappers:
+          build-timeout: '{build-timeout}'
+          jenkins-ssh-credential: '{jenkins-ssh-credential}'
+
+    parameters:
+      - string:
+          name: executorNode
+          default: 'qa-testvm-pod'
+          description: 'Name of the Jenkins node to run the job on. This node must have access to the maas server'
+
+      - string:
+          name: maas_ip
+          default: ''
+          description: 'IP of MAAS Server'
+
+      - string:
+          name: maas_api_key
+          default: ''
+          description: 'MAAS API Key'
+
+      - string:
+          name: node_id
+          default: 'rrwkmn'
+          description: 'Node Id of node to release acquire and deploy'
+
+      - string:
+         name: notificationEmail
+         default: 'kailash@opennetworking.org, you@opennetworking.org, suchitra@opennetworking.org'
+         description: 'List of email recipients'
+
+    project-type: pipeline
+    concurrent: false
+
+    dsl: !include-raw-escape: pipeline/redeploy-node-maas.groovy
