diff --git a/podconfig/rcord-controlpod.yml b/podconfig/rcord-controlpod.yml
new file mode 100644
index 0000000..a910f83
--- /dev/null
+++ b/podconfig/rcord-controlpod.yml
@@ -0,0 +1,21 @@
+---
+# Copyright 2017-present Open Networking Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# rcord-controlpod Pod Config
+# Creates a single-node controlpod with R-CORD services
+
+cord_scenario: controlpod
+cord_profile: rcord
+
diff --git a/scenarios/controlpod/Vagrantfile b/scenarios/controlpod/Vagrantfile
new file mode 100644
index 0000000..8af7476
--- /dev/null
+++ b/scenarios/controlpod/Vagrantfile
@@ -0,0 +1,38 @@
+# -*- mode: ruby -*-
+# vi: set ft=ruby :
+#
+# single Scenario Vagrantfile
+
+require 'yaml'
+settings = YAML.load_file('genconfig/config.yml')
+
+Vagrant.configure("2") do |config|
+
+  config.vm.box = settings["head_vagrant_box"]
+
+  # sync these folders with VM
+  config.vm.synced_folder "../../../", "/opt/cord/", create: true
+  config.vm.synced_folder "../../../../cord_profile/", "/opt/cord_profile/", create: true
+  config.vm.synced_folder "../../platform-install/credentials/", "/opt/credentials/", create: true
+
+  # set the headnode VM
+  config.vm.define "head1" do |d|
+    d.vm.hostname = "head1"
+    d.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: '*'
+    d.vm.network "private_network",
+      ip: settings['head_vm_ip']
+    d.vm.provider :virtualbox do |vb|
+      vb.memory = settings['head_vm_mem']
+      vb.cpus = settings['head_vm_cpu']
+    end
+    d.vm.provider :libvirt do |v, override|
+      v.memory = settings['head_vm_mem']
+      v.cpus = settings['head_vm_cpu']
+      override.vm.synced_folder "../../../", "/opt/cord/", type: "nfs", nfs_udp: false, nfs_version: 4
+      override.vm.synced_folder "../../../../cord_profile/", "/opt/cord_profile/", type: "nfs", nfs_udp: false, nfs_version: 4
+      override.vm.synced_folder "../../platform-install/credentials/", "/opt/credentials/", type: "nfs", nfs_udp: false, nfs_version: 4
+    end
+  end
+
+end
+
diff --git a/scenarios/controlpod/config.yml b/scenarios/controlpod/config.yml
new file mode 100644
index 0000000..d904149
--- /dev/null
+++ b/scenarios/controlpod/config.yml
@@ -0,0 +1,97 @@
+---
+# Copyright 2017-present Open Networking Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# controlpod scenario
+# Brings up XOS with synchronizers and ONOS
+
+# create a cord_profile dir next to the cord checkout
+config_cord_dir: "{{ ( playbook_dir ~ '/../..') | realpath }}"
+config_cord_profile_dir: "{{ ( playbook_dir ~ '/../../../cord_profile' ) | realpath }}"
+
+build_cord_dir: /opt/cord
+
+# Vagrant VM configuration
+head_vagrant_box: "generic/ubuntu1604"
+head_vm_mem: 4096
+head_vm_cpu: 8
+head_vm_ip: "192.168.46.100"
+
+physical_node_list:
+  - name: head1
+    ipv4_last_octet: 1
+    aliases:
+      - head
+
+# make targets
+build_targets:
+  - onboard-profile
+
+cord_config_prereqs:
+  - vagrant-ssh-install
+
+prep_headnode_prereqs:
+  - prep-buildnode
+
+docker_images_prereqs:
+  - prep-headnode
+
+start_xos_prereqs:
+  - deploy-onos
+
+# controlpod scenario configuration
+frontend_only: False
+use_maas: False
+use_apt_cache: False
+use_openstack: False
+create_configdirs_become: False
+xos_images: []
+
+# whitelist of images for imagebuilder to build/pull (tagged elsewhere)
+docker_image_whitelist:
+  - "xosproject/xos-base"
+  - "xosproject/xos"
+  - "xosproject/xos-client"
+  - "xosproject/xos-corebuilder"
+  - "xosproject/xos-gui"
+  - "xosproject/xos-gui-builder"
+  - "xosproject/xos-libraries"
+  - "xosproject/xos-postgres"
+  - "xosproject/xos-tosca"
+  - "xosproject/xos-ws"
+  - "xosproject/chameleon"
+  - "xosproject/xos-synchronizer-base"
+  - "gliderlabs/consul-server"
+  - "gliderlabs/registrator"
+  - "nginx"
+  - "onosproject/onos"
+  - "opencord/mavenrepo"
+  - "redis"
+  - "node"
+
+# Ansible Inventory
+inventory_groups:
+
+  config:
+    localhost:
+      ansible_connection: local
+
+  build:
+    head1:
+
+  head:
+    head1:
+
+  compute:
+
diff --git a/scripts/cord-bootstrap.sh b/scripts/cord-bootstrap.sh
index e6c0431..cbfcfc0 100755
--- a/scripts/cord-bootstrap.sh
+++ b/scripts/cord-bootstrap.sh
@@ -32,8 +32,6 @@
 REPO_BRANCH="${REPO_BRANCH:-master}"
 
 # Tool/OS versioning
-UBUNTU_VERSION="ubuntu/trusty64"
-
 HOST_RELEASE=`lsb_release -c -s`
 
 if [ ${HOST_RELEASE} = "trusty" ]; then
@@ -126,18 +124,27 @@
 
   echo "Installing vagrant plugins if needed..."
   vagrant plugin list | grep -q vagrant-libvirt || vagrant plugin install vagrant-libvirt --plugin-version ${VAGRANT_LIBVIRT_VERSION}
-  vagrant plugin list | grep -q vagrant-mutate || vagrant plugin install vagrant-mutate
   vagrant plugin list | grep -q vagrant-hosts || vagrant plugin install vagrant-hosts
 
-  if ! vagrant box list | grep -q ${UBUNTU_VERSION}.*libvirt
-  then
-    add_box ${UBUNTU_VERSION}
+  echo "Obtaining libvirt image of Ubuntu"
+
+  if [[ $XENIAL -eq 1 ]]; then
+    add_xenial
+  else
+    add_trusty
   fi
 }
 
-function add_box() {
-  vagrant box list | grep $1 | grep virtualbox || vagrant box add $1
-  vagrant box list | grep $1 | grep libvirt || vagrant mutate $1 libvirt --input-provider virtualbox
+function add_trusty() {
+  UBUNTU_VERSION=${UBUNTU_VERSION:-ubuntu/trusty64}
+  vagrant plugin list | grep -q vagrant-mutate || vagrant plugin install vagrant-mutate
+  vagrant box list | grep ${UBUNTU_VERSION} | grep virtualbox || vagrant box add ${UBUNTU_VERSION}
+  vagrant box list | grep ${UBUNTU_VERSION} | grep libvirt || vagrant mutate ${UBUNTU_VERSION} libvirt --input-provider virtualbox
+}
+
+function add_xenial() {
+  UBUNTU_VERSION=${UBUNTU_VERSION:-generic/ubuntu1604}
+  vagrant box list | grep ${UBUNTU_VERSION} | grep libvirt || vagrant box add --provider libvirt ${UBUNTU_VERSION}
 }
 
 function cloudlab_setup() {
@@ -204,8 +211,9 @@
 GROUP_LIST=()
 DOCKER=0
 VAGRANT=0
+XENIAL=0
 
-while getopts "dhp:t:v" opt; do
+while getopts "dhp:t:vx" opt; do
   case ${opt} in
     d ) DOCKER=1
         GROUP_LIST+=("docker")
@@ -216,6 +224,7 @@
       echo "  -p <project:change/revision> Download a patch from gerrit. Can be repeated."
       echo "  -t <target>                  Run '$MAKECMD <target>' in cord/build/. Can be repeated."
       echo "  -v                           Install Vagrant for mock/virtual/physical scenarios."
+      echo "  -x                           Use Xenial (16.04) in Vagrant VM's."
       exit 0
       ;;
     p ) GERRIT_PATCHES+=("$OPTARG")
@@ -225,6 +234,8 @@
     v ) VAGRANT=1
         GROUP_LIST+=("libvirtd")
       ;;
+    x ) XENIAL=1
+      ;;
     \? ) echo "Invalid option: -$OPTARG"
       exit 1
       ;;
