diff --git a/inventory/cord-cloudlab b/inventory/single-localhost
similarity index 100%
rename from inventory/cord-cloudlab
rename to inventory/single-localhost
diff --git a/scripts/single-node-pod.sh b/scripts/single-node-pod.sh
index 1d9c2ee..57de0f8 100755
--- a/scripts/single-node-pod.sh
+++ b/scripts/single-node-pod.sh
@@ -39,14 +39,23 @@
 
 function setup_openstack() {
     # Run the playbook
-    ansible-playbook -i inventory/cord-cloudlab cord-single-playbook.yml
+    ansible-playbook -i $INVENTORY cord-single-playbook.yml
 }
 
-function build_xos_with_exampleservice() {
+function build_xos_docker_images() {
     echo ""
-    echo "Adding exampleservice to XOS"
+    echo "Checking out XOS branch $BUILD_BRANCH"
     ssh ubuntu@xos "cd xos; git config --global user.email 'ubuntu@localhost'; git config --global user.name 'XOS ExampleService'"
-    ssh ubuntu@xos "cd xos/xos/configurations/cord-pod; git cherry-pick 775e00549e535803522fbcd70152e5e1b0629c83"
+    ssh ubuntu@xos "cd xos; git checkout $BUILD_BRANCH"
+    if [[ $EXAMPLESERVICE -eq 1 ]]
+    then
+      echo ""
+      echo "Adding exampleservice to XOS"
+      ssh ubuntu@xos "cd xos; git cherry-pick 775e00549e535803522fbcd70152e5e1b0629c83"
+    fi
+    echo ""
+    echo "Rebuilding XOS containers"
+    ssh ubuntu@xos "cd xos/xos/configurations/cord-pod; make local_containers"
 }
 
 function setup_xos() {
@@ -144,6 +153,8 @@
     source ~/admin-openrc.sh
 
     echo "*** Wait for exampleservice VM to come up."
+    echo "!!! NOTE that currently the VM will only be created after you login"
+    echo "!!! to XOS and manually create an ExampleService tenant."
     i=0
     until nova list --all-tenants|grep exampleservice.*ACTIVE > /dev/null
     do
@@ -180,20 +191,29 @@
 # Parse options
 RUN_TEST=0
 EXAMPLESERVICE=0
-while getopts ":eht" opt; do
+BUILD_BRANCH=""
+INVENTORY="inventory/single-localhost"
+
+while getopts "b:eht" opt; do
   case ${opt} in
-    h ) "echo Usage:"
-      echo "    $0            install OpenStack and prep XOS and ONOS VMs [default]"
-      echo "    $0 -e         add exampleservice to XOS"
-      echo "    $0 -h         display this help message"
-      echo "    $0 -t         do install, bring up cord-pod configuration, run E2E test"
-      exit 0
-      ;;
-    t ) RUN_TEST=1
+    b ) BUILD_BRANCH=$OPTARG
       ;;
     e ) EXAMPLESERVICE=1
       ;;
-    \? ) echo "Invalid option"
+    h ) echo "Usage:"
+      echo "    $0                install OpenStack and prep XOS and ONOS VMs [default]"
+      echo "    $0 -b <branch>    build XOS containers based on GitHub <branch> instead of pulling them from Docker Hub"
+      echo "    $0 -e             add exampleservice to XOS"
+      echo "    $0 -h             display this help message"
+      echo "    $0 -i <inv_file>  specify an inventory file (default is inventory/single-localhost)"
+      echo "    $0 -t             do install, bring up cord-pod configuration, run E2E test"
+      exit 0
+      ;;
+    i ) INVENTORY=$OPTARG
+      ;;
+    t ) RUN_TEST=1
+      ;;
+    \? ) echo "Invalid option: -$OPTARG"
       exit 1
       ;;
   esac
@@ -212,9 +232,9 @@
 
 if [[ $RUN_TEST -eq 1 ]]
 then
-  if [[ $EXAMPLESERVICE -eq 1 ]]
+  if [[ -n $BUILD_BRANCH || $EXAMPLESERVICE -eq 1 ]]
   then
-    build_xos_with_exampleservice
+    build_xos_docker_images
   fi
   setup_xos
   setup_test_client
