diff --git a/scripts/cord-in-a-box.sh b/scripts/cord-in-a-box.sh
index 5eecc1c..7c475da 100755
--- a/scripts/cord-in-a-box.sh
+++ b/scripts/cord-in-a-box.sh
@@ -8,48 +8,15 @@
 SSHCONFIG=~/.ssh/config
 
 function cleanup_from_previous_test() {
-  set +e
-
   echo "## Cleanup ##"
 
-  echo "Shutting down all Vagrant VMs"
+  echo "Destroying all Vagrant VMs"
   cd $CORDDIR/build
   vagrant destroy
 
-  echo "Destroying juju environment"
-  juju destroy-environment --force -y manual
-
-  VMS=$( sudo uvt-kvm list )
-  for VM in $VMS
-  do
-    echo "Destroying $VM"
-    sudo uvt-kvm destroy $VM
-  done
-
-  echo "Cleaning up files"
-  rm -rf ~/.juju
-  rm -f ~/.ssh/known_hosts
-  rm -rf ~/platform-install
-  rm -rf ~/cord_apps
-  rm -rf ~/.ansible_async
-
-  echo "Removing MAAS"
-  [ -e  /usr/local/bin/remove-maas-components ] && /usr/local/bin/remove-maas-components
-
-  echo "Remove apt-cacher-ng"
-  sudo apt-get remove -y apt-cacher-ng
-  sudo rm -f /etc/apt/apt.conf.d/02apt-cacher-ng
-
-  echo "Removing mgmtbr"
-  ifconfig mgmtbr && sudo ip link set dev mgmtbr down && sudo brctl delbr mgmtbr
-
-  echo "Removing Juju packages"
-  sudo apt-get remove --purge -y $(dpkg --get-selections | grep "juju\|nova\|neutron\|keystone\|glance" | awk '{print $1}')
-  sudo apt-get autoremove -y
-
+  echo "Removing $CORDDIR"
+  cd ~
   rm -rf $CORDDIR
-
-  set -e
 }
 
 function bootstrap() {
@@ -60,10 +27,6 @@
   sudo apt-get -y install qemu-kvm libvirt-bin libvirt-dev curl nfs-kernel-server git build-essential
 
   [ -e ~/.ssh/id_rsa ] || ssh-keygen -t rsa -N "" -f ~/.ssh/id_rsa
-  cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
-
-  # Log into the local node once to get host key
-  ssh -o StrictHostKeyChecking=no localhost "ls > /dev/null"
 
   USER=$(whoami)
   sudo adduser $USER libvirtd
@@ -86,15 +49,6 @@
       echo "checking out opencord gerrit branch: $gerrit_branch"
       repo download ${gerrit_branch/:/ }
     done
-
-    cd $CORDDIR/build
-    sed -i "s/user: 'ubuntu'/user: \"$USER\"/" $CONFIG
-
-    # Set external interface in config file
-    IFACE=$(route | grep default | awk '{print $8}' )
-    SRC="'eth0'"
-    DST="'"$IFACE"'"
-    sed -i "s/$SRC/$DST/" $CONFIG
   fi
 
   cd $CORDDIR/build
@@ -119,116 +73,70 @@
     [ -d /var/lib/libvirt/images/ ] && [ ! -h /var/lib/libvirt/images ] && sudo rmdir /var/lib/libvirt/images
 
     sudo mkdir -p /mnt/extra/libvirt_images
-    sudo mkdir -p /mnt/extra/docker
-    sudo mkdir -p /mnt/extra/docker-registry
-    [ ! -e /var/lib/libvirt/images ] && sudo ln -s /mnt/extra/libvirt_images /var/lib/libvirt/images
-    [ ! -e /var/lib/docker ] && sudo ln -s /mnt/extra/docker /var/lib/docker
-    [ ! -e /docker-registry ] && sudo ln -s /mnt/extra/docker-registry /docker-registry
-
-    cd $CORDDIR/build
-    SRC="#- 'on_cloudlab=True'"
-    DST="- 'on_cloudlab=True'"
-    sed -i "s/$SRC/$DST/" config/cord_in_a_box.yml
+    if [ ! -e /var/lib/libvirt/images ]
+    then
+      sudo ln -s /mnt/extra/libvirt_images /var/lib/libvirt/images
+    fi
   fi
 }
 
-function unfortunate_hacks() {
-  cd $CORDDIR/build
-
-  # Allow compute nodes to PXE boot from mgmtbr
-  sed -i "s/@type='udp']/@type='udp' or @type='bridge']/" \
-    ~/.vagrant.d/gems/gems/vagrant-libvirt-0.0.35/lib/vagrant-libvirt/action/set_boot_order.rb
-}
-
-function corddev_up() {
+function vagrant_vms_up() {
   cd $CORDDIR/build
 
   sudo su $USER -c 'vagrant up corddev --provider libvirt'
+  sudo su $USER -c 'vagrant up prod --provider libvirt'
 
   # This is a workaround for a weird issue with ARP cache timeout breaking 'vagrant ssh'
   # It allows SSH'ing to the machine via 'ssh corddev'
-  sudo su $USER -c "grep corddev $SSHCONFIG || vagrant ssh-config corddev >> $SSHCONFIG"
+  sudo su $USER -c "vagrant ssh-config corddev prod > $SSHCONFIG"
+
+  scp ~/.ssh/id_rsa* corddev:.ssh
+  ssh corddev "chmod go-r ~/.ssh/id_rsa"
 }
 
 function install_head_node() {
   cd $CORDDIR/build
 
-  # Network setup to install physical server as head node
-  BRIDGE=$( route -n | grep 10.100.198.0 | awk '{print $8}' )
-  ip addr list dev $BRIDGE | grep 10.100.198.201 || sudo ip addr add dev $BRIDGE 10.100.198.201
-  ifconfig mgmtbr || sudo brctl addbr mgmtbr
-  sudo ifconfig mgmtbr 10.1.0.1/24 up
-
   # SSH config saved earlier allows us to connect to VM without running 'vagrant'
-  scp ~/.ssh/id_rsa* corddev:.ssh
   ssh corddev "cd /cord/build; ./gradlew fetch"
   ssh corddev "cd /cord/build; ./gradlew buildImages"
-  ssh corddev "cd /cord/build; ./gradlew -PdeployConfig=$VMDIR/$CONFIG -PtargetReg=10.100.198.201:5000 publish"
+  ssh corddev "cd /cord/build; ping -c 3 prod; ./gradlew -PdeployConfig=$VMDIR/$CONFIG -PtargetReg=10.100.198.201:5000 publish"
   ssh corddev "cd /cord/build; ./gradlew -PdeployConfig=$VMDIR/$CONFIG deploy"
-
-  # SSH config was overwritten by the deploy step
-  # Will go away when head node runs in 'prod' VM
-  sudo su $USER -c "grep corddev $SSHCONFIG || vagrant ssh-config corddev >> $SSHCONFIG"
 }
 
 function set_up_maas_user() {
-  # Set up MAAS user to restart nodes via libvirt
-  sudo mkdir -p /home/maas
-  sudo chown maas:maas /home/maas
-  sudo chsh -s /bin/bash maas
+  # Set up MAAS user on server to restart nodes via libvirt
+  grep maas /etc/passwd || sudo useradd -m maas
   sudo adduser maas libvirtd
 
-  sudo su maas -c 'cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys'
-}
+  # Copy generated public key to maas user's authorized_keys
+  sudo su maas -c "mkdir -p ~/.ssh"
+  sudo cp $HOME/.ssh/id_rsa.pub ~maas/.ssh/authorized_keys
+  sudo chown maas:maas ~maas/.ssh/authorized_keys
 
-FIRST_COMPUTE_NODE=true
+  # Copy generated private key to maas user's home dir in prod VM
+  scp $HOME/.ssh/id_rsa prod:/tmp
+  ssh prod "sudo mkdir -p ~maas/.ssh"
+  ssh prod "sudo cp /tmp/id_rsa ~maas/.ssh/id_rsa"
+  ssh prod "sudo chown -R maas:maas ~maas/.ssh"
+}
 
 function add_compute_node() {
   echo add_compute_node: $1 $2
-    
+
   cd $CORDDIR/build
   sudo su $USER -c "vagrant up $1 --provider libvirt"
 
-  if [ "$FIRST_COMPUTE_NODE" == true ]; then
-    # Change MAC address of bridge to match cord-pod service profile
-    # This change won't survive a reboot
-    BRIDGE=$( route -n | grep 10.6.1.0 | awk '{print $8}' )
-    sudo ifconfig $BRIDGE hw ether 02:42:0a:06:01:01
+  # Change MAC address of bridge to match cord-pod service profile
+  # This change won't survive a reboot
+  BRIDGE=$( route -n | grep 10.6.1.0 | awk '{print $8}' )
+  sudo ifconfig $BRIDGE hw ether 02:42:0a:06:01:01
 
-    # Add gateway IP addresses to $BRIDGE for vsg and exampleservice tests
-    # This change won't survive a reboot
-    sudo ip address add 10.6.1.129 dev $BRIDGE
-    sudo ip address add 10.6.1.193 dev $BRIDGE
+  ip addr list | grep 10.6.1.129 || sudo ip address add 10.6.1.129 dev $BRIDGE
+  ip addr list | grep 10.6.1.193 || sudo ip address add 10.6.1.193 dev $BRIDGE
 
-    FIRST_COMPUTE_NODE=false
-  fi
-
-  # Sign into MAAS
-  KEY=$(sudo maas-region-admin apikey --username=cord)
-  maas login cord http://localhost/MAAS/api/1.0 $KEY
-
-  NODEID=$(maas cord nodes list|jq -r '.[] | select(.status == 0).system_id')
-  until [ "$NODEID" ]; do
-    echo "Waiting for the compute node to transition to NEW state"
-    sleep 15
-    NODEID=$(maas cord nodes list|jq -r '.[] | select(.status == 0).system_id')
-  done
-
-  # Add remote power state
-  maas cord node update $NODEID power_type="virsh" \
-    power_parameters_power_address="qemu+ssh://maas@localhost/system" \
-    power_parameters_power_id="$2"
-
-  STATUS=$(sudo /usr/local/bin/get-node-prov-state |jq ".[] | select(.id == \"$NODEID\").status")
-  until [ "$STATUS" == "2" ]; do
-    if [ "$STATUS" == "3" ]; then
-      echo "*** [WARNING] Possible error in node provisioning process"
-      echo "*** [WARNING] Check /etc/maas/ansible/logs/$NODEID.log"
-    fi
-    echo "Waiting for the compute node to be fully provisioned"
-    sleep 60
-    STATUS=$(sudo /usr/local/bin/get-node-prov-state |jq ".[] | select(.id == \"$NODEID\").status")
-  done
+  # Set up power cycling for the compute node and wait for it to be provisioned
+  ssh prod "cd /cord/build/ansible; ansible-playbook maas-provision.yml --extra-vars \"maas_user=maas vagrant_name=$2\""
 
   echo ""
   echo "compute_node is fully provisioned!"
@@ -237,7 +145,7 @@
 function run_e2e_test () {
   cd $CORDDIR/build
 
-  # User has been added to the libvirtd group, but su $USER to be safe
+  # User has been added to the lbvirtd group, but su $USER to be safe
   ssh corddev "cd /cord/build; ./gradlew -PdeployConfig=$VMDIR/$CONFIG postDeployTests"
 }
 
@@ -297,12 +205,9 @@
   cleanup_from_previous_test
 fi
 
-set -e
-
 bootstrap
 cloudlab_setup
-unfortunate_hacks
-corddev_up
+vagrant_vms_up
 
 if [[ $SETUP_ONLY -ne 0 ]]
 then
@@ -313,7 +218,7 @@
 install_head_node
 set_up_maas_user
 
-#Limiting the maximum number of compute nodes that can be supported to 2. If 
+#Limiting the maximum number of compute nodes that can be supported to 2. If
 #more than 2 compute nodes are needed, this script need to be enhanced to set
 #the environment variable NUM_COMPUTE_NODES before invoking the Vagrant commands
 if [[ $NUM_COMPUTE_NODES -gt 2 ]]
