diff --git a/common/Dockerfile.common b/common/Dockerfile.common
deleted file mode 100644
index aedd245..0000000
--- a/common/Dockerfile.common
+++ /dev/null
@@ -1,144 +0,0 @@
-FROM       ubuntu:14.04.2
-MAINTAINER Andy Bavier <acb@cs.princeton.edu>
-
-# XXX Workaround for docker bug:
-# https://github.com/docker/docker/issues/6345
-# Kernel 3.15 breaks docker, uss the line below as a workaround
-# until there is a fix
-RUN ln -s -f /bin/true /usr/bin/chfn
-# XXX End workaround
-
-# Install.
-RUN apt-get update && apt-get install -y \
-    git \
-    postgresql \
-    python-psycopg2 \
-    graphviz \
-    graphviz-dev \
-    libxslt1.1 \
-    libxslt1-dev \
-    python-pip \
-    tar \
-    gcc \
-    python-httplib2 \
-    geoip-database \
-    libgeoip1 \
-    wget \
-    curl \
-    python-dev \
-    libyaml-dev \
-    pkg-config \
-    python-pycurl
-
-RUN pip install django==1.7
-RUN pip install djangorestframework==2.4.4
-RUN pip install markdown  # Markdown support for the browseable API.
-RUN pip install pyyaml    # YAML content-type support.
-RUN pip install django-filter==0.11.0  # Filtering support
-RUN pip install lxml  # XML manipulation library
-RUN pip install netaddr # IP Addr library
-RUN pip install pytz
-RUN pip install django-timezones
-RUN pip install requests
-RUN pip install python-logstash
-RUN pip install django-crispy-forms
-RUN pip install django-geoposition
-RUN pip install django-extensions
-RUN pip install django-suit==0.3a1
-RUN pip install django-bitfield
-RUN pip install django-ipware
-RUN pip install django-encrypted-fields
-RUN pip install python-keyczar
-RUN pip install pygraphviz --install-option="--include-path=/usr/include/graphviz" --install-option="--library-path=/usr/lib/graphviz/"
-RUN pip install dnslib
-
-RUN DEBIAN_FRONTEND=noninteractive apt-get install -y python-keystoneclient
-RUN DEBIAN_FRONTEND=noninteractive apt-get install -y python-novaclient
-RUN DEBIAN_FRONTEND=noninteractive apt-get install -y python-neutronclient
-RUN DEBIAN_FRONTEND=noninteractive apt-get install -y python-glanceclient
-RUN DEBIAN_FRONTEND=noninteractive apt-get install -y python-ceilometerclient
-
-RUN pip install django_rest_swagger
-
-RUN DEBIAN_FRONTEND=noninteractive apt-get install -y python-setuptools
-RUN easy_install python_gflags
-RUN easy_install --upgrade httplib2
-RUN easy_install google_api_python_client
-RUN easy_install httplib2.ca_certs_locater
-
-# Install custom Ansible
-RUN DEBIAN_FRONTEND=noninteractive apt-get install -y python-crypto
-RUN DEBIAN_FRONTEND=noninteractive apt-get install -y python-yaml
-RUN DEBIAN_FRONTEND=noninteractive apt-get install -y openssh-client
-RUN DEBIAN_FRONTEND=noninteractive apt-get install -y python-paramiko
-RUN DEBIAN_FRONTEND=noninteractive apt-get install -y python-jinja2
-RUN DEBIAN_FRONTEND=noninteractive apt-get install -y python-httplib2
-RUN git clone -b release1.8.2 git://github.com/ansible/ansible.git /opt/ansible
-RUN git clone -b release1.8.2 git://github.com/ansible/ansible-modules-extras.git /opt/ansible/lib/ansible/modules/extras
-RUN git clone -b release1.8.2 git://github.com/ansible/ansible-modules-extras.git /opt/ansible/v2/ansible/modules/extras
-RUN git clone git://github.com/sb98052/ansible-modules-core.git /opt/ansible/lib/ansible/modules/core
-RUN git clone git://github.com/sb98052/ansible-modules-core.git /opt/ansible/v2/ansible/modules/core
-ADD ansible-hosts /etc/ansible/hosts
-
-ADD http://code.jquery.com/jquery-1.9.1.min.js /usr/local/lib/python2.7/dist-packages/suit/static/suit/js/
-
-# For Observer
-RUN git clone git://git.planet-lab.org/fofum.git /tmp/fofum
-RUN cd /tmp/fofum; python setup.py install
-RUN rm -rf /tmp/fofum
-
-RUN mkdir -p /usr/local/share /bin
-ADD http://phantomjs.googlecode.com/files/phantomjs-1.7.0-linux-x86_64.tar.bz2 /usr/local/share/
-RUN tar jxvf /usr/local/share/phantomjs-1.7.0-linux-x86_64.tar.bz2 -C /usr/local/share/
-RUN rm -f /usr/local/share/phantomjs-1.7.0-linux-x86_64.tar.bz2
-RUN ln -s /usr/local/share/phantomjs-1.7.0-linux-x86_64 /usr/local/share/phantomjs
-RUN ln -s /usr/local/share/phantomjs/bin/phantomjs /bin/phantomjs
-
-# Supervisor
-RUN DEBIAN_FRONTEND=noninteractive apt-get install -y supervisor
-ADD observer.conf /etc/supervisor/conf.d/
-
-# Get XOS
-ADD xos /opt/xos
-
-# Initscript is broken in Ubuntu
-#ADD observer-initscript /etc/init.d/xosobserver
-
-RUN chmod +x /opt/xos/tools/xos-manage
-RUN /opt/xos/tools/xos-manage genkeys
-
-# Workaround for AUFS issue
-# https://github.com/docker/docker/issues/783#issuecomment-56013588
-RUN mkdir /etc/ssl/private-copy; mv /etc/ssl/private/* /etc/ssl/private-copy/; rm -r /etc/ssl/private; mv /etc/ssl/private-copy /etc/ssl/private; chmod -R 0700 /etc/ssl/private; chown -R postgres /etc/ssl/private
-
-# Set postgres password to match default value in settings.py
-RUN service postgresql start; sudo -u postgres psql -c "alter user postgres with password 'password';"
-
-# Turn DEBUG on so that devel server will serve static files
-#    (not necessary if --insecure is passed to 'manage.py runserver')
-# RUN sed -i 's/DEBUG = False/DEBUG = True/' /opt/xos/xos/settings.py
-
-# Cruft to workaround problems with migrations, should go away...
-RUN /opt/xos/tools/xos-manage remigrate
-
-# git clone uses cached copy, doesn't pick up latest
-RUN git -C /opt/ansible pull
-RUN git -C /opt/ansible/lib/ansible/modules/core pull
-RUN git -C /opt/ansible/v2/ansible/modules/core pull
-
-# install Tosca engine
-RUN apt-get install -y m4
-RUN pip install python-dateutil
-RUN bash /opt/xos/tosca/install_tosca.sh
-
-EXPOSE 8000
-
-# Set environment variables.
-ENV HOME /root
-
-# Define working directory.
-WORKDIR /root
-
-# Define default command.
-#CMD ["/bin/bash"]
-#CMD /opt/xos/tools/docker_start_xos
diff --git a/common/fixtures.yaml b/common/fixtures.yaml
index 198f5d2..1c07b26 100644
--- a/common/fixtures.yaml
+++ b/common/fixtures.yaml
@@ -88,7 +88,7 @@
     Customize:
       type: tosca.nodes.DashboardView
       properties:
-          url: template:customize
+          url: template:xosDashboardManager
 
     Tenant:
       type: tosca.nodes.DashboardView
diff --git a/cord-deprecated/Dockerfile.cord b/cord-deprecated/Dockerfile.cord
deleted file mode 100644
index 3e63eb2..0000000
--- a/cord-deprecated/Dockerfile.cord
+++ /dev/null
@@ -1,27 +0,0 @@
-RUN mkdir -p /root/setup
-ADD xos/configurations/common/admin-openrc.sh /root/setup/
-ADD xos/configurations/common/controller_settings /root/setup/
-ADD xos/configurations/common/flat_net_name /root/setup/
-ADD xos/configurations/common/nodes.yaml /opt/xos/configurations/commmon/
-ADD xos/configurations/common/id_rsa.pub /root/setup/padmin_public_key
-ADD xos/configurations/common/id_rsa.pub /opt/xos/synchronizers/vcpe/vcpe_public_key
-ADD xos/configurations/common/id_rsa /opt/xos/synchronizers/vcpe/vcpe_private_key
-ADD xos/configurations/common/id_rsa.pub /opt/xos/synchronizers/monitoring_channel/monitoring_channel_public_key
-ADD xos/configurations/common/id_rsa /opt/xos/synchronizers/monitoring_channel/monitoring_channel_private_key
-ADD xos/configurations/common/id_rsa.pub /opt/xos/synchronizers/onos/onos_key.pub
-ADD xos/configurations/common/id_rsa /opt/xos/synchronizers/onos/onos_key
-ADD xos/configurations/common/node_key.pub /root/setup/node_key.pub
-ADD xos/configurations/common/node_key /root/setup/node_key
-ADD xos/configurations/common/ceilometer_url /root/setup/ceilometer_url
-ADD xos/synchronizers/vcpe/supervisor/vcpe-observer.conf /etc/supervisor/conf.d/
-ADD xos/synchronizers/vbng/supervisor/vbng-observer.conf /etc/supervisor/conf.d/
-ADD xos/synchronizers/onos/supervisor/onos-observer.conf /etc/supervisor/conf.d/
-ADD xos/synchronizers/monitoring_channel/supervisor/monitoring_channel_observer.conf /etc/supervisor/conf.d/
-RUN sed -i 's/proxy_ssh=True/proxy_ssh=False/' /opt/xos/synchronizers/vcpe/vcpe_synchronizer_config
-RUN sed -i 's/proxy_ssh=True/proxy_ssh=False/' /opt/xos/synchronizers/monitoring_channel/monitoring_channel_synchronizer_config
-ADD xos/configurations/cord/virtualbng.json /root/setup/
-ADD xos/configurations/cord/vtn-network-cfg.json /root/setup/
-
-CMD /usr/bin/make -C /opt/xos/configurations/cord -f Makefile.inside; /bin/bash
-
-#CMD ["/bin/bash"]
diff --git a/cord-deprecated/Makefile b/cord-deprecated/Makefile
deleted file mode 100644
index 184f2d5..0000000
--- a/cord-deprecated/Makefile
+++ /dev/null
@@ -1,100 +0,0 @@
-SETUPDIR:=../setup
-MYIP:=$(shell hostname -i)
-
-cloudlab: common_cloudlab cord acord
-
-devstack: upgrade_pkgs common_devstack devstack_net_fix cord
-
-cord: virtualbng_json vtn_network_cfg_json
-	sudo MYIP=$(MYIP) docker-compose up -d
-	bash ../common/wait_for_xos.sh
-	sudo MYIP=$(MYIP) docker-compose run xos python /opt/xos/tosca/run.py none /opt/xos/configurations/common/fixtures.yaml
-	sudo docker-compose run xos python /opt/xos/tosca/run.py none /opt/xos/configurations/common/mydeployment.yaml
-	sudo MYIP=$(MYIP) docker-compose run xos python /opt/xos/tosca/run.py padmin@vicci.org /opt/xos/configurations/common/cloudlab-openstack.yaml
-	sudo MYIP=$(MYIP) docker-compose run xos python /opt/xos/tosca/run.py padmin@vicci.org /root/setup/nodes.yaml
-	sudo MYIP=$(MYIP) docker-compose run xos python /opt/xos/tosca/run.py padmin@vicci.org /opt/xos/configurations/cord/cord.yaml
-
-containers:
-	cd ../../../containers/xos; make devel
-	cd ../../../containers/synchronizer; make
-
-common_cloudlab:
-	make -C ../common -f Makefile.cloudlab
-
-common_devstack:
-	make -C ../common -f Makefile.devstack
-
-acord: cloudlab_ceilometer_custom_images ceilometer_cloudlab_cord_plugins
-	sudo MYIP=$(MYIP) docker-compose run xos python /opt/xos/tosca/run.py padmin@vicci.org /opt/xos/configurations/cord/ceilometer.yaml
-
-ceilometer_cloudlab_cord_plugins:
-	if [ -d ./ceilometer-plugins ]; then rm -fr ./ceilometer-plugins; fi
-	git clone https://github.com/srikanthvavila/ceilometer-plugins.git
-	sudo cp -r ceilometer-plugins/network/ext_services /usr/lib/python2.7/dist-packages/ceilometer/network/
-	sudo cp -r ceilometer-plugins/network/statistics/onos /usr/lib/python2.7/dist-packages/ceilometer/network/statistics/
-	sudo cp ceilometer-plugins/network/statistics/__init__.py /usr/lib/python2.7/dist-packages/ceilometer/network/statistics/ 
-	sudo cp ceilometer-plugins/entry_points.txt /usr/lib/python2.7/dist-packages/ceilometer-*egg-info/
-	sudo cp ceilometer-plugins/pipeline.yaml /etc/ceilometer/
-	echo "Restarting ceilometer-agent-notification"
-	sudo service ceilometer-agent-notification restart
-	echo "Restarting ceilometer-agent-central"
-	sudo service ceilometer-agent-central restart
-
-ceilometer_pub_sub:
-	if [ -d ./pub-sub ]; then rm -fr ./pub-sub; fi
-	git clone https://github.com/srikanthvavila/pub-sub.git
-	echo "Starting Ceilometer PUB/SUB service...Ensure zookeeper and kafka services are launched (if required)"
-	cd pub-sub/ceilometer_pub_sub/ ; python sub_main.py & 
-	cd ../..
-
-virtualbng_json:
-	export SETUPDIR=$(SETUPDIR); bash make-virtualbng-json.sh
-
-vtn_network_cfg_json:
-	export SETUPDIR=$(SETUPDIR); bash make-vtn-networkconfig-json.sh
-
-stop:
-	sudo MYIP=$(MYIP) docker-compose stop
-
-rm:
-	sudo MYIP=$(MYIP) docker-compose rm
-
-showlogs:
-	sudo MYIP=$(MYIP) docker-compose logs
-
-ps:
-	sudo MYIP=$(MYIP) docker-compose ps
-
-dataplane: etc_hosts
-	cd dataplane; ./gen-inventory.sh > hosts
-	cd dataplane; ansible-playbook -i hosts dataplane.yaml
-
-dataplane_bm: dataplane
-	cd dataplane; bash -c "./generate-bm.sh > hosts-bm"
-	cd dataplane; sudo bash -c "ansible-playbook -i hosts-bm dataplane-bm.yaml"
-
-etc_hosts:
-	sudo bash -c "sed -i '/^10.11.10/ d' /etc/hosts"
-	cd dataplane; sudo bash -c "./gen-etc-hosts.sh >> /etc/hosts"
-
-setup_client:
-	# add subscriber to vOLT?  Is there a REST API?
-	echo "Don't forget: add-subscriber-access of:0000000000000001 1 432"
-	cd dataplane; ansible -i hosts client -m shell -s -a "route del default gw 10.11.10.5; dhclient br-sub"
-	# reboot the vBNG ONOS
-	cd dataplane; ansible -i hosts onos_vbng -m shell -s -a "docker restart ONOS"
-
-cleanup: stop rm
-	cd dataplane; ./cleanup.sh
-	bash -c "source ../setup/admin-openrc.sh; nova list --all-tenants; neutron net-list"
-	echo "Don't forget to clean up vCPE containers"
-
-devstack_net_fix:
-	sudo ../common/devstack/net-fix.sh
-	sudo bash -c "source ../setup/admin-openrc.sh; neutron subnet-update private-subnet --dns-nameservers list=true 8.8.8.8 8.8.4.4"
-
-upgrade_pkgs:
-	sudo pip install httpie --upgrade
-
-cloudlab_ceilometer_custom_images:
-	bash -c "source ../setup/admin-openrc.sh; glance image-show ceilometer-trusty-server-multi-nic || if test -f /proj/xos-PG0/images/ceilometer-trusty-server-multi-nic.compressed.qcow2 ; then glance image-create --name ceilometer-trusty-server-multi-nic --disk-format qcow2 --file /proj/xos-PG0/images/ceilometer-trusty-server-multi-nic.compressed.qcow2 --container-format bare ; else mkdir -p /tmp/images && wget http://www.vicci.org/cord/ceilometer-trusty-server-multi-nic.compressed.qcow2 -P /tmp/images && glance image-create --name ceilometer-trusty-server-multi-nic --disk-format qcow2 --file /tmp/images/ceilometer-trusty-server-multi-nic.compressed.qcow2 --container-format bare ; fi "
diff --git a/cord-deprecated/Makefile.inside b/cord-deprecated/Makefile.inside
deleted file mode 100644
index d7bdbaf..0000000
--- a/cord-deprecated/Makefile.inside
+++ /dev/null
@@ -1,12 +0,0 @@
-all: setup_xos run_develserver
-
-setup_xos:
-	bash /opt/xos/tools/docker_setup_xos
-	python /opt/xos/tosca/run.py padmin@vicci.org /opt/xos/configurations/common/fixtures.yaml
-	python /opt/xos/tosca/run.py padmin@vicci.org /opt/xos/configurations/common/base.yaml
-	python /opt/xos/tosca/run.py padmin@vicci.org /opt/xos/configurations/common/nodes.yaml
-	python /opt/xos/tosca/run.py padmin@vicci.org /opt/xos/configurations/cord/cord.yaml
-	python /opt/xos/tosca/run.py padmin@vicci.org /opt/xos/configurations/cord/ceilometer.yaml
-
-run_develserver:
-	cd /opt/xos; python manage.py runserver 0.0.0.0:8000 --insecure
diff --git a/cord-deprecated/README-VTN.md b/cord-deprecated/README-VTN.md
deleted file mode 100644
index a3c4e69..0000000
--- a/cord-deprecated/README-VTN.md
+++ /dev/null
@@ -1,156 +0,0 @@
-# vtn notes:
-
-see also: https://github.com/hyunsun/documentations/wiki/Neutron-ONOS-Integration-for-CORD-VTN#onos-setup
-
-VTN doesn't seem to like cloudlab's networks (flat-net-1, ext-net, etc). I've placed a script in xos/scripts/ called destroy-all-networks.sh that will automate tearing down all of cloudlab's neutron networks.
-
-    cd xos/tools
-    ./destroy-all-networks.sh
-
-inside the xos container, update the configuration. Make sure to restart Openstack Synchronizer afterward. Might be a good idea to restart the XOS UI as well:
-
-    python /opt/xos/tosca/run.py padmin@vicci.org /opt/xos/tosca/samples/vtn.yaml
-    emacs /opt/xos/xos_configuration/xos_common_config
-        [networking]
-        use_vtn=True
-    supervisorctl restart observer
-
-### ctl node:
-
-    # set ONOS_VTN_HOSTNAME to the host where the VTN container was installed
-    ONOS_VTN_HOSTNAME="cp-2.smbaker-xos5.xos-pg0.clemson.cloudlab.us"
-    apt-get -y install python-pip
-    pip install -U setuptools pip
-    pip install testrepository
-    git clone https://github.com/openstack/networking-onos.git
-    cd networking-onos
-    python setup.py install
-    # the above fails the first time with an error about pbr.json
-    # I ran it again and it succeeded, but I am skeptical there's
-    # not still an issue lurking...
-    cat > /usr/local/etc/neutron/plugins/ml2/conf_onos.ini <<EOF
-    [onos]
-    url_path = http://$ONOS_VTN_HOSTNAME:8181/onos/cordvtn
-    username = karaf
-    password = karaf
-    EOF
-    emacs /etc/neutron/plugins/ml2/ml2_conf.ini
-        update settings as per vtn docs ([ml2] and [ml2_type_vxlan] sections)
-    systemctl stop neutron-server
-    # I started neutron manually to make sure it's using exactly the right config
-    # files. Maybe it can be restarted using systemctl instead...
-    /usr/bin/neutron-server --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.ini --config-file /usr/local/etc/neutron/plugins/ml2/conf_onos.ini
-
-### Compute nodes and nm nodes:
-
-    cd xos/configurations/cord/dataplane
-    ./generate-bm.sh > hosts-bm
-    ansible-playbook -i hosts-bm dataplane-vtn.yaml
-    # the playbook will:
-    #  1) turn off neutron openvswitch-agent
-    #  2) set openvswitch to listen on port 6641
-    #  3) restart openvswitch
-    #  4) delete any existing br-int bridge
-    #  5) [nm only] turn off neutron-dhcp-agent
-
-Additional compute node stuff:
-
-I've been deleting any existing unused bridges. Not sure if it's necesary.
-
-    ovs-vsctl del-br br-tun
-    ovs-vsctl del-br br-flat-lan-1
-
-To get the management network working, we need to create management network template, slice, and network. configurations/cord/vtn.yaml will do this for you. Then add a connection to the management network for any slice that needs management connectivity.
-    
-### Notes:
-* I've configured the OpenvSwitch switches to use port 6641 instead of port 6640. This is because the VTN app listens on 6640
-itself, and since we're running it in docker 'host' networking mode now, it would conflict with an Openvswitch that was
-also listening on 6640.
-* Adding use_vtn=True to the [networking] section in the XOS config file has two effects: 1) it sets the gateway in sync_controller_networks, and 2) it disables automatic creation of nat-net for new slices. This is because VTN will fail if there is no gateway on a network, and because we don't have nat-net under the VTN configuration.
-* When using of-vfctl to look at flow rules, if you get a protocol error, try "ovs-ofctl show -O OpenFlow13 br-int "
-* Note that the VTN Synchronizer isn't started automatically. It's only use for inter-Service connectivity, so no need to mess with it until intra-Slice connectivity is working first. 
-* Note that the VTN Synchronizer won't connect non-access networks. Any network templates you want VTN to connect must have Access set to "Direct" or "Indirect". 
-
-In case management network isn't working, you can use a VNC tunnel, like this:
-
-    # on compute node, run the following and note the IP address and port number
-    virsh vncdisplay <instance-id>
-    
-    # from home
-    ssh -o "GatewayPorts yes"  -L <port+5900>:<IP>:<port+5900> <username>@<compute_node_hostname>
-    
-    # example
-    ssh -o "GatewayPorts yes"  -L 5901:192.168.0.7:5901 smbaker@cp-1.smbaker-xos3.xos-pg0.clemson.cloudlab.us
-
-Then open a VNC session to the local port on your local machine. You'll have a console on the Instance. The username is "Ubuntu" and the password can be obtained from your cloudlab experiment description
-
-### Things that can be tested:
-
-* Create an Instance, it should have a Private network, and there should be a tap attached from the instance to br-int
-* Two Instances in the same Slice can talk to one another. They can be on the same machine or different machines.
-* Two Slices can talk to one another if the slices are associated with Services and those Services have a Tenancy relationship between them. Note that 1) The VTN Synchronizer must be running, 2) There must be a Private network with Access=[Direct|Indirect], and 3) The connectivity is unidirectional, from subscriber service to provider service.
-
-### Testing service composition
-
-1. Change the private network template's 'Access' field from None to Direct
-2. Create a Service, Service-A
-3. Enter Slice Admin for Slice-1 and assign it to Service-A
-4. Create a Service, Service-B
-5. Enter Slice Admin for Slice-2 and assign it to Service-B
-6. Enter Service Admin for Service-B, Go to Tenancy Tab
-7. In the 'Provided Tenants' section of Service-B, create a Tenant with Subsciber-Service=Serivce-A. 
-8. Start the VTN Observer. It will send a REST request to VTN app.
-9. Launch tcpdump in one of Slice-2's instances
-10. From Slice-1, start pinging the instance in Slice-2 where you launched tcpdump
-11. You should see the pings arrive and responses sent out. Note that the ping responses will not reach Slice-1, since VTN traffic is unidirectional.
-12. Delete the Tenancy relation you created in Step #7. The ping traffic should no longer appear in the tcpdump.
-
-### Getting external connectivity working on cloudlab
-
-On head node:
-
-    ovs-vsctl del-br br-flat-lan-1
-    ifconfig eth2 10.123.0.1
-    iptables --table nat --append POSTROUTING --out-interface br-ex -j MASQUERADE
-    #arp -s 10.123.0.3 fa:16:3e:ea:11:0a
-    sysctl net.ipv4.conf.all.send_redirects
-    sysctl net.ipv4.conf.all.send_redirects=0
-    sysctl net.ipv4.conf.default.send_redirects=0
-    sysctl net.ipv4.conf.eth0.send_redirects=0
-    sysctl net.ipv4.conf.br-ex.send_redirects=0
-    
-Substitute for your installation:
-
-    10.123.0.3 = wan_ip of vSG
-    10.123.0.1 = wan gateway
-    fa:16:3e:ea:11:0a = wan_mac of vSG
-    00:8c:fa:5b:09:d8 = wan_mac of gateway
-    
-### Setting up a test-client
-
-Before setting up VTN, create a bridge and attach it to the dataplane device on each compute node:
-
-    brctl addbr br-inject
-    brctl addif br-inject eth3   # substitute dataplane eth device here, may be different on each compute node
-    ip link set br-inject up
-    ip link set dev br-inject promisc on
-    
-Then update the network-config attribute of the VTN ONOS App in XOS to use a dataplaneIntf of br-inject instead of the eth device. Bring up VTN and a VSG. WAN connectivity and everything else should be working fine. 
-
-Add a new slice, mysite_client, and make sure to give it both a private and a management network. Bring up an instance on the same node as the vSG you want to test. On the compute node, run the following:
-
-    $MAC=<make-up-some-mac>
-    $INSTANCE=<instance-id>
-    virsh attach-interface --domain $INSTANCE --type bridge --source br-inject --model virtio --mac $MAC --config --live
-    
-Log into the vSG via the management interface. Inside of the vSG run the following:
-
-    STAG=<your s-tag here>
-    CTAG=<your c-tag here>
-    ip link add link eth2 eth2.$STAG type vlan id $STAG
-    ip link add link eth2.$STAG eth2.$STAG.$CTAG type vlan id $CTAG
-    ip link set eth2.$STAG up
-    ip link set eth2.$STAG.$CTAG up
-    ip addr add 192.168.0.2/24 dev eth2.$STAG.$CTAG
-    ip route del default
-    ip route add default via 192.168.0.1
diff --git a/cord-deprecated/README.md b/cord-deprecated/README.md
deleted file mode 100644
index 64075d9..0000000
--- a/cord-deprecated/README.md
+++ /dev/null
@@ -1,151 +0,0 @@
-# CORD development environment
-
-This configuration can be used to set up a CORD development environment.
-It does the following:
-
-* Sets up a basic dataplane for testing end-to-end packet flow between a subscriber client and the Internet
-* Brings up ONOS apps for controlling the dataplane: virtualbng, olt
-* Configures XOS with the CORD services: vCPE, vBNG, vOLT
-
-**NOTE: This configuration is stale and likely not working at present.  If you are looking to evaluate 
-and/or contribute to [CORD](http://opencord.org/), 
-you should look instead at the [cord-pod](../cord-pod) configuration. Almost
-all CORD developers have transitioned to [cord-pod](../cord-pod).**
-
-## End-to-end dataplane
-
-The configuration uses XOS to set up an end-to-end dataplane for development of the XOS services and ONOS apps
-used in CORD.  It abstracts away most of the complexity of the CORD hardware using virtual networks
-and Open vSwitch (OvS) switches.  At a high level the dataplane looks like this:
-
-```
-             olt                 virtualbng
-             ----                  ----
-             ONOS                  ONOS
-              |                     |
-client ----> CPqD ----> vCPE ----> OvS ----> Internet
-         1         2          3         4
-```
-
-On the datapath are two OvS switches, controlled by the `olt` and `virtualbng` ONOS applications.  Once all the pieces are in
-place, the client at left should be able to obtain an IP address via DHCP from the vCPE and send packets out to the Internet.
-
-All of the components in the above diagram (i.e., client, OvS switches, ONOS, and vCPE) currently run in distinct VMs
-created by XOS.  The numbers in the diagram correspond to networks set up by XOS:
-
-1. subscriber_network
-2. lan_network
-3. wan_network
-4. public_network
-
-## How to run it
-
-The configuration is intended to be run on [CloudLab](http://cloudlab.us).
-It launches an XOS container on Cloudlab that runs the XOS develserver.  The container is left running in the background.
-
-To get started on CloudLab:
-* Create an experiment using the *OpenStack-CORD* profile.  (You can also use the *OpenStack* profile, but choose *Kilo*
-with two compute nodes and disable security groups.)
-* Wait until you get an email from CloudLab with title "OpenStack Instance Finished Setting Up".
-* Login to the *ctl* node of your experiment and run:
-```
-ctl:~$ git clone https://github.com/open-cloud/xos.git
-ctl:~$ cd xos/xos/configurations/cord/
-ctl:~/xos/xos/configurations/cord$ make
-```
-
-Running `make` in this directory creates the XOS Docker container and runs the TOSCA engine with `cord.yaml` to
-configure XOS with the CORD services.  In addition, a number of VMs are created:
-
-1. *Slice mysite_onos*: runs the ONOS Docker container with `virtualbng` app loaded
-1. *Slice mysite_onos*: runs the ONOS Docker container with `olt` app loaded
-1. *Slice mysite_vbng*: for running OvS with the `virtualbng` app as controller
-1. *Slice mysite_volt*: for running the CPqD switch with the `olt` app as controller
-1. *Slice mysite_clients*: a subscriber client for end-to-end testing
-1. *Slice mysite_vcpe*: runs the vCPE Docker container (if not using containers on bare metal)
-
-Once all the VMs are up and the ONOS apps are configured, XOS should be able to get an address mapping from the `virtualbng`
-ONOS app for the vCPE. To verify that it has received an IP address mapping, look at the **Routeable subnet:** field in
-the appropriate *Vbng tenant* object in XOS.  It should contain an IP address in the 10.254.0.0/24 subnet.
-
-After launching the ONOS apps, it is necessary to configure software switches along the dataplane so that ONOS can control
-them.  To do this, from the `cord` configuration directory:
-```
-ctl:~/xos/xos/configurations/cord$ cd dataplane/
-ctl:~/xos/xos/configurations/cord/dataplane$ ./gen-inventory.sh > hosts
-ctl:~/xos/xos/configurations/cord/dataplane$ ansible-playbook -i hosts dataplane.yaml
-```
-
-To setup the dataplane for containers on bare metal, perform these steps in addition to the above (note: make sure to sudo when running the playbook):
-```
-ctl:~/xos/xos/configurations/cord/dataplane$ ./generate-bm.sh > hosts-bm   
-ctl:~/xos/xos/configurations/cord/dataplane$ sudo ansible-playbook -i hosts-bm dataplane-bm.yaml
-```
-
-Check that the vCPE container has started, by going into the XOS UI, selecting 'Services', 'service_vcpe', 'Administration', 'Vcpe Tenants', and make sure there's a green icon next to the vCPE.
-
-If the vCPE Tenant is still red, then the Instance could be exponentially backed-off due to errors while trying to sync before dataplane.yaml was run. You can reset the exponential backoff by tracking down the vCPE Instance (Slices->mysite_vcpe->Instances, and find the Instance associated with the vCPE Tenant) and hitting the save button.
-
-Now SSH into ONOS running the OLT app (see below) and activate the subscriber:
-```
-onos> add-subscriber-access of:0000000000000001 1 432
-```
-
-At this point the client should be able to get an IP address from the vCPE via
-DHCP.  To set up the IP address and default route on the client:
-```
-client:$ sudo route del default gw 10.11.10.5
-client:$ sudo dhclient br-sub
-```
-Once `dhclient` returns, the client should now be able to surf the Internet
-through the dataplane.
-
-## Setting up /etc/hosts
-
-To make it easy to log into the various VMs that make up the dataplane, add entries for them into `/etc/hosts` on the
-*ctl* node.  As root, run:
-```
-ctl:~/xos/xos/configurations/cord/dataplane$ ./gen-etc-hosts.sh >> /etc/hosts
-```
-For example, to log into the client:
-```
-ctl:~$ ssh ubuntu@client
-```
-
-## How to log into ONOS
-
-ONOS apps are run inside Docker containers hosted in VMs.  All ports exposed by the ONOS container are forwarded to the
-outside, and can be accessed from the *ctl* node over the `flat-lan-1-net` network.  Assuming that `/etc/hosts`
-has been configured as described above, it is possible to SSH to the ONOS running the `virtualbng` app as follows (password is *karaf*):
-
-```
-$ ssh -p 8101 karaf@onos_vbng
-Password authentication
-Password:
-Welcome to Open Network Operating System (ONOS)!
-     ____  _  ______  ____
-    / __ \/ |/ / __ \/ __/
-   / /_/ /    / /_/ /\ \
-   \____/_/|_/\____/___/
-
-
-Hit '<tab>' for a list of available commands
-and '[cmd] --help' for help on a specific command.
-Hit '<ctrl-d>' or type 'system:shutdown' or 'logout' to shutdown ONOS.
-
-onos>
-```
-
-For instance, to check the IP address mappings managed by the `virtualbng` app:
-
-```
-onos> vbngs
-   Private IP - Public IP
-   10.0.1.3 - 10.254.0.129
-```
-
-## Troubleshooting
-
-#### Problem: No external connectivity from vCPE container
-1. Make sure the hosts listed in `virtualbng.json` are the actual compute nodes used in your experiment.
-2. Try rebooting the ONOS container running the `virtualbng` app: `$ ssh ubuntu@onos-vbng "sudo docker restart ONOS"`
diff --git a/cord-deprecated/ceilometer.yaml b/cord-deprecated/ceilometer.yaml
deleted file mode 100644
index 464b07b..0000000
--- a/cord-deprecated/ceilometer.yaml
+++ /dev/null
@@ -1,270 +0,0 @@
-tosca_definitions_version: tosca_simple_yaml_1_0
-
-description: Setup CORD-related services -- vOLT, vCPE, vBNG.
-
-imports:
-   - custom_types/xos.yaml
-
-node_types:
-    tosca.nodes.SFlowService:
-        derived_from: tosca.nodes.Root
-        description: >
-            XOS SFlow Collection Service
-        capabilities:
-            scalable:
-                type: tosca.capabilities.Scalable
-            service:
-                type: tosca.capabilities.xos.Service
-        properties:
-            kind:
-                type: string
-                default: generic
-                description: Type of service.
-            view_url:
-                type: string
-                required: false
-                description: URL to follow when icon is clicked in the Service Directory.
-            icon_url:
-                type: string
-                required: false
-                description: ICON to display in the Service Directory.
-            enabled:
-                type: boolean
-                default: true
-            published:
-                type: boolean
-                default: true
-                description: If True then display this Service in the Service Directory.
-            public_key:
-                type: string
-                required: false
-                description: Public key to install into Instances to allows Services to SSH into them.
-            private_key_fn:
-                type: string
-                required: false
-                description: Location of private key file
-            versionNumber:
-                type: string
-                required: false
-                description: Version number of Service.
-            sflow_port:
-              type: integer
-              required: false
-              default: 6343
-              description: sFlow listening port
-            sflow_api_port:
-              type: integer
-              required: false
-              default: 33333
-              description: sFlow publish subscribe api listening port
-
-    tosca.nodes.CeilometerService:
-        derived_from: tosca.nodes.Root
-        description: >
-            XOS Ceilometer Service
-        capabilities:
-            scalable:
-                type: tosca.capabilities.Scalable
-            service:
-                type: tosca.capabilities.xos.Service
-        properties:
-            kind:
-                type: string
-                default: generic
-                description: Type of service.
-            view_url:
-                type: string
-                required: false
-                description: URL to follow when icon is clicked in the Service Directory.
-            icon_url:
-                type: string
-                required: false
-                description: ICON to display in the Service Directory.
-            enabled:
-                type: boolean
-                default: true
-            published:
-                type: boolean
-                default: true
-                description: If True then display this Service in the Service Directory.
-            public_key:
-                type: string
-                required: false
-                description: Public key to install into Instances to allows Services to SSH into them.
-            private_key_fn:
-                type: string
-                required: false
-                description: Location of private key file
-            versionNumber:
-                type: string
-                required: false
-                description: Version number of Service.
-            ceilometer_pub_sub_url:
-                type: string
-                required: false
-                description: REST URL of ceilometer PUB/SUB component
-
-    tosca.nodes.CeilometerTenant:
-        derived_from: tosca.nodes.Root
-        description: >
-            CORD: A Tenant of the Ceilometer Service.
-        properties:
-            kind:
-                type: string
-                default: generic
-                description: Kind of tenant
-
-topology_template:
-  node_templates:
-    service_ceilometer:
-      type: tosca.nodes.CeilometerService
-      requirements:
-      properties:
-          view_url: /admin/ceilometer/ceilometerservice/$id$/
-          kind: ceilometer
-          ceilometer_pub_sub_url: http://10.11.10.1:4455/
-          public_key: { get_artifact: [ SELF, pubkey, LOCAL_FILE] }
-      artifacts:
-          pubkey: /opt/xos/synchronizers/monitoring_channel/monitoring_channel_public_key
-
-#    service_sflow:
-#      type: tosca.nodes.SFlowService
-#      requirements:
-#      properties:
-#          view_url: /admin/ceilometer/sflowservice/$id$/
-#          kind: sflow
-#          sflow_port: 6343
-#          sflow_api_port: 33333
-
-    Private:
-      type: tosca.nodes.NetworkTemplate
-
-    ceilometer_network:
-      type: tosca.nodes.network.Network.XOS
-      properties:
-          ip_version: 4
-          labels: ceilometer_client_access
-      requirements:
-          - network_template:
-              node: Private
-              relationship: tosca.relationships.UsesNetworkTemplate
-          - owner:
-              node: mysite_ceilometer
-              relationship: tosca.relationships.MemberOfSlice
-          - connection:
-              node: mysite_ceilometer
-              relationship: tosca.relationships.ConnectsToSlice
-
-    mysite:
-      type: tosca.nodes.Site
-
-    trusty-server-multi-nic:
-      type: tosca.nodes.Image
-
-    ceilometer-trusty-server-multi-nic:
-      type: tosca.nodes.Image
-
-    m1.small:
-      type: tosca.nodes.Flavor
-
-    mysite_ceilometer:
-      description: Ceilometer Proxy Slice
-      type: tosca.nodes.Slice
-      requirements:
-          - ceilometer_service:
-              node: service_ceilometer
-              relationship: tosca.relationships.MemberOfService
-          - site:
-              node: mysite
-              relationship: tosca.relationships.MemberOfSite
-          - default_image:
-                node: ceilometer-trusty-server-multi-nic
-                relationship: tosca.relationships.DefaultImage
-          - default_flavor:
-                node: m1.small
-                relationship: tosca.relationships.DefaultFlavor
-
-#    mysite_sflow:
-#      description: Slice for sFlow service
-#      type: tosca.nodes.Slice
-#      requirements:
-#          - sflow_service:
-#              node: service_sflow
-#              relationship: tosca.relationships.MemberOfService
-#          - site:
-#              node: mysite
-#              relationship: tosca.relationships.MemberOfSite
-
-    my_ceilometer_tenant:
-      description: Ceilometer Service default Tenant
-      type: tosca.nodes.CeilometerTenant
-      requirements:
-          - provider_service:
-              node: service_ceilometer
-              relationship: tosca.relationships.MemberOfService
-       
-    # Virtual machines
-#    sflow_service_instance:
-#      type: tosca.nodes.Compute
-#      capabilities:
-#        # Host container properties
-#        host:
-#         properties:
-#           num_cpus: 1
-#           disk_size: 10 GB
-#           mem_size: 4 MB
-#        # Guest Operating System properties
-#        os:
-#          properties:
-#            # host Operating System image properties
-#            architecture: x86_64
-#            type: linux
-#            distribution: Ubuntu
-#            version: 14.10
-#      requirements:
-#          - slice:
-#                node: mysite_sflow
-#                relationship: tosca.relationships.MemberOfSlice
-
-    Customer Care:
-      type: tosca.nodes.DashboardView
-      properties:
-          url: template:xosDiagnostic
-
-    TruckRoll:
-      type: tosca.nodes.DashboardView
-      properties:
-          url: template:xosTruckroll
-
-    Ceilometer:
-      type: tosca.nodes.DashboardView
-      properties:
-          url: template:xosCeilometerDashboard
-
-
-    Tenant:
-      type: tosca.nodes.DashboardView
-      properties:
-          no-create: true
-          no-update: true
-          no-delete: true
-
-    padmin@vicci.org:
-      type: tosca.nodes.User
-      properties:
-          firstname: XOS
-          lastname: admin
-          is_admin: true
-      requirements:
-          - customer_care_dashboard:
-              node: Customer Care
-              relationship: tosca.relationships.UsesDashboard
-          - truckroll_dashboard:
-              node: TruckRoll
-              relationship: tosca.relationships.UsesDashboard
-          - ceilometer_dashboard:
-              node: Ceilometer
-              relationship: tosca.relationships.UsesDashboard
-          - tenant_dashboard:
-              node: Tenant
-              relationship: tosca.relationships.UsesDashboard
diff --git a/cord-deprecated/cord.yaml b/cord-deprecated/cord.yaml
deleted file mode 100644
index c708d8e..0000000
--- a/cord-deprecated/cord.yaml
+++ /dev/null
@@ -1,550 +0,0 @@
-tosca_definitions_version: tosca_simple_yaml_1_0
-
-description: Setup CORD-related services -- vOLT, vCPE, vBNG.
-
-imports:
-   - custom_types/xos.yaml
-
-topology_template:
-  node_templates:
-    # CORD Services
-    service_vtr:
-      type: tosca.nodes.Service
-      properties:
-          view_url: /admin/vtr/vtrservice/$id$/
-          kind: vTR
-
-    service_volt:
-      type: tosca.nodes.Service
-      requirements:
-          - vsg_tenant:
-              node: service_vsg
-              relationship: tosca.relationships.TenantOfService
-          - lan_network:
-              node: lan_network
-              relationship: tosca.relationships.UsesNetwork
-          - wan_network:
-              node: wan_network
-              relationship: tosca.relationships.UsesNetwork
-      properties:
-          view_url: /admin/cord/voltservice/$id$/
-          kind: vOLT
-
-    # set a pool of addresses that we can hand out for the VSG Wan.
-    public_addresses:
-      type: tosca.nodes.AddressPool
-      properties:
-          addresses: 10.123.0.0/24 10.124.0.0/24
-
-    service_vsg:
-      type: tosca.nodes.VSGService
-      requirements:
-          - vbng_tenant:
-              node: service_vbng
-              relationship: tosca.relationships.TenantOfService
-      properties:
-          view_url: /admin/cord/vsgservice/$id$/
-          backend_network_label: hpc_client
-          public_key: { get_artifact: [ SELF, pubkey, LOCAL_FILE] }
-          private_key_fn: /opt/xos/synchronizers/vcpe/vcpe_private_key
-#          node_label: label_vsg
-      artifacts:
-          pubkey: /opt/xos/synchronizers/vcpe/vcpe_public_key
-
-    service_vbng:
-      type: tosca.nodes.VBNGService
-      properties:
-          view_url: /admin/cord/vbngservice/$id$/
-# if unspecified, vbng observer will look for an ONOSApp Tenant and
-# generate a URL from its IP address
-#          vbng_url: http://10.11.10.24:8181/onos/virtualbng/
-
-    service_ONOS_vBNG:
-      type: tosca.nodes.ONOSService
-      requirements:
-      properties:
-          kind: onos
-          view_url: /admin/onos/onosservice/$id$/
-          public_key: { get_artifact: [ SELF, pubkey, LOCAL_FILE] }
-      artifacts:
-          pubkey: /opt/xos/synchronizers/onos/onos_key.pub
-
-#
-# To actually bring up the vBNG app
-# - Set up the dataplane using the ansible script
-# - Log into the vBNG ONOS and run 'devices' to get switch dpID
-# - Change the dpID values in vBNG ONOS app in XOS GUI
-# - (Synchronizer should copy the files to ONOS container immediately)
-# - Log into service_ONOS_vBNG VM and restart ONOS Docker container
-#   (Should roll this step into a Synchronizer)
-#f
-    vBNG_ONOS_app:
-      type: tosca.nodes.ONOSvBNGApp
-      requirements:
-          - onos_tenant:
-              node: service_ONOS_vBNG
-              relationship: tosca.relationships.TenantOfService
-          - vbng_service:
-              node: service_vbng
-              relationship: tosca.relationships.UsedByService
-      properties:
-          dependencies: org.onosproject.proxyarp, org.onosproject.virtualbng, org.onosproject.openflow, org.onosproject.fwd
-          config_network-cfg.json: >
-            {
-              "ports" : {
-                "of:0000000000000001/1" : {
-                  "interfaces" : [
-                    {
-                      "ips"  : [ "10.0.1.253/24" ],
-                      "mac"  : "00:00:00:00:00:99"
-                    }
-                  ]
-                },
-                "of:0000000000000001/2" : {
-                  "interfaces" : [
-                    {
-                      "ips"  : [ "10.254.0.2/24" ],
-                      "mac"  : "00:00:00:00:00:98"
-                    }
-                  ]
-                }
-              }
-            }
-          config_virtualbng.json: { get_artifact: [ SELF, virtualbng_json, LOCAL_FILE] }
-      artifacts:
-          virtualbng_json: /root/setup/virtualbng.json
-
-    service_ONOS_vOLT:
-      type: tosca.nodes.ONOSService
-      requirements:
-      properties:
-          kind: onos
-          view_url: /admin/onos/onosservice/$id$/
-          public_key: { get_artifact: [ SELF, pubkey, LOCAL_FILE] }
-          rest_onos/v1/network/configuration/: >
-            {
-              "devices" : {
-                "of:0000000000000001" : {
-                  "accessDevice" : {
-                    "uplink" : "2",
-                    "vlan"   : "222",
-                    "defaultVlan" : "1"
-                  },
-                  "basic" : {
-                    "driver" : "pmc-olt"
-                  }
-                }
-              }
-            }
-      artifacts:
-          pubkey: /opt/xos/synchronizers/onos/onos_key.pub
-
-
-    vOLT_ONOS_app:
-      type: tosca.nodes.ONOSvOLTApp
-      requirements:
-          - onos_tenant:
-              node: service_ONOS_vOLT
-              relationship: tosca.relationships.TenantOfService
-          - volt_service:
-              node: service_volt
-              relationship: tosca.relationships.UsedByService
-      properties:
-          install_dependencies: onos-ext-notifier-1.0-SNAPSHOT.oar, onos-ext-volt-event-publisher-1.0-SNAPSHOT.oar
-          dependencies: org.onosproject.openflow-base, org.onosproject.olt, org.ciena.onos.ext_notifier, org.ciena.onos.volt_event_publisher
-          component_config: >
-             {
-                "org.ciena.onos.ext_notifier.KafkaNotificationBridge":{
-                   "rabbit.user": "<rabbit_user>",
-                   "rabbit.password": "<rabbit_password>",
-                   "rabbit.host": "<rabbit_host>",
-                   "publish.kafka": "false",
-                   "publish.rabbit": "true",
-                   "volt.events.rabbit.topic": "notifications.info",
-                   "volt.events.rabbit.exchange": "voltlistener",
-                   "volt.events.opaque.info": "{project_id: <keystone_tenant_id>, user_id: <keystone_user_id>}",
-                   "publish.volt.events": "true"
-                }
-             }
-#          config_network-cfg.json: >
-#            {
-#              "devices" : {
-#                "of:0000000000000001" : {
-#                  "accessDevice" : {
-#                    "uplink" : "2",
-#                    "vlan"   : "222",
-#                    "defaultVlan" : "1"
-#                  },
-#                  "basic" : {
-#                    "driver" : "default"
-#                  }
-#                }
-#              }
-#            }
-
-    # Network templates
-    Private:
-      type: tosca.nodes.NetworkTemplate
-
-    Public network hack:
-      type: tosca.nodes.NetworkTemplate
-      properties:
-          visibility: private
-          translation: NAT
-          shared_network_name: tun0-net
-
-
-    # Networks required by the CORD setup
-    lan_network:
-      type: tosca.nodes.network.Network
-      properties:
-          ip_version: 4
-      requirements:
-          - network_template:
-              node: Private
-              relationship: tosca.relationships.UsesNetworkTemplate
-          - owner:
-              node: mysite_vsg
-              relationship: tosca.relationships.MemberOfSlice
-          - connection:
-              node: mysite_vsg
-              relationship: tosca.relationships.ConnectsToSlice
-          - connection:
-              node: mysite_vsg
-              relationship: tosca.relationships.ConnectsToSlice
-
-    wan_network:
-      type: tosca.nodes.network.Network
-      properties:
-          ip_version: 4
-      requirements:
-          - network_template:
-              node: Private
-              relationship: tosca.relationships.UsesNetworkTemplate
-          - owner:
-              node: mysite_vsg
-              relationship: tosca.relationships.MemberOfSlice
-          - connection:
-              node: mysite_vsg
-              relationship: tosca.relationships.ConnectsToSlice
-          - connection:
-              node: mysite_vsg
-              relationship: tosca.relationships.ConnectsToSlice
-
-    Private-Direct:
-      type: tosca.nodes.NetworkTemplate
-      properties:
-          access: direct
-
-    Private-Indirect:
-      type: tosca.nodes.NetworkTemplate
-      properties:
-          access: indirect
-
-    subscriber_network:
-      type: tosca.nodes.network.Network
-      properties:
-          ip_version: 4
-      requirements:
-          - network_template:
-              node: Private
-              relationship: tosca.relationships.UsesNetworkTemplate
-          - owner:
-              node: mysite_volt
-              relationship: tosca.relationships.MemberOfSlice
-          - connection:
-              node: mysite_volt
-              relationship: tosca.relationships.ConnectsToSlice
-          - connection:
-              node: mysite_clients
-              relationship: tosca.relationships.ConnectsToSlice
-
-    public_network:
-      type: tosca.nodes.network.Network
-      properties:
-      requirements:
-          - network_template:
-              node: Public network hack
-              relationship: tosca.relationships.UsesNetworkTemplate
-          - owner:
-              node: mysite_vbng
-              relationship: tosca.relationships.MemberOfSlice
-          - connection:
-              node: mysite_vbng
-              relationship: tosca.relationships.ConnectsToSlice
-
-
-    mysite:
-      type: tosca.nodes.Site
-
-    label_vsg:
-      type: tosca.nodes.NodeLabel
-
-    # CORD Slices
-    mysite_vsg:
-      description: vSG Controller Slice
-      type: tosca.nodes.Slice
-      requirements:
-          - vsg_service:
-              node: service_vsg
-              relationship: tosca.relationships.MemberOfService
-          - site:
-              node: mysite
-              relationship: tosca.relationships.MemberOfSite
-          - vsg_docker_image:
-              node: docker-vsg
-              relationship: tosca.relationships.UsesImage
-#      properties:
-#          default_isolation: container
-
-    mysite_onos_vbng:
-      description: ONOS Controller Slice for vBNG
-      type: tosca.nodes.Slice
-      requirements:
-          - ONOS:
-              node: service_ONOS_vBNG
-              relationship: tosca.relationships.MemberOfService
-          - site:
-              node: mysite
-              relationship: tosca.relationships.MemberOfSite
-
-    mysite_onos_volt:
-      description: ONOS Controller Slice for vOLT
-      type: tosca.nodes.Slice
-      requirements:
-          - ONOS:
-              node: service_ONOS_vOLT
-              relationship: tosca.relationships.MemberOfService
-          - site:
-              node: mysite
-              relationship: tosca.relationships.MemberOfSite
-
-    mysite_vbng:
-      description: slice running OVS controlled by vBNG
-      type: tosca.nodes.Slice
-      requirements:
-          - site:
-              node: mysite
-              relationship: tosca.relationships.MemberOfSite
-
-    mysite_volt:
-      description: OVS controlled by vOLT
-      type: tosca.nodes.Slice
-      requirements:
-          - site:
-              node: mysite
-              relationship: tosca.relationships.MemberOfSite
-
-    mysite_clients:
-      description: slice for clients at the subscriber
-      type: tosca.nodes.Slice
-      requirements:
-          - site:
-              node: mysite
-              relationship: tosca.relationships.MemberOfSite
-
-
-    # Virtual machines
-    onos_app_1:
-      type: tosca.nodes.Compute
-      capabilities:
-        # Host container properties
-        host:
-         properties:
-           num_cpus: 1
-           disk_size: 10 GB
-           mem_size: 4 MB
-        # Guest Operating System properties
-        os:
-          properties:
-            # host Operating System image properties
-            architecture: x86_64
-            type: linux
-            distribution: Ubuntu
-            version: 14.10
-      requirements:
-          - slice:
-                node: mysite_onos_vbng
-                relationship: tosca.relationships.MemberOfSlice
-
-    onos_app_2:
-      type: tosca.nodes.Compute
-      capabilities:
-        # Host container properties
-        host:
-         properties:
-           num_cpus: 1
-           disk_size: 10 GB
-           mem_size: 4 MB
-        # Guest Operating System properties
-        os:
-          properties:
-            # host Operating System image properties
-            architecture: x86_64
-            type: linux
-            distribution: Ubuntu
-            version: 14.10
-      requirements:
-          - slice:
-                node: mysite_onos_volt
-                relationship: tosca.relationships.MemberOfSlice
-
-    # VM for running the OVS controlled by vBNG
-    ovs_vbng:
-      type: tosca.nodes.Compute
-      capabilities:
-        # Host container properties
-        host:
-         properties:
-           num_cpus: 1
-           disk_size: 10 GB
-           mem_size: 4 MB
-        # Guest Operating System properties
-        os:
-          properties:
-            # host Operating System image properties
-            architecture: x86_64
-            type: linux
-            distribution: ubuntu
-            version: 14.04
-      requirements:
-          - slice:
-                node: mysite_vbng
-                relationship: tosca.relationships.MemberOfSlice
-
-    # VM for running the OVS controlled by vOLT
-    ovs_volt:
-      type: tosca.nodes.Compute
-      capabilities:
-        # Host container properties
-        host:
-         properties:
-           num_cpus: 1
-           disk_size: 10 GB
-           mem_size: 4 MB
-        # Guest Operating System properties
-        os:
-          properties:
-            # host Operating System image properties
-            architecture: x86_64
-            type: linux
-            distribution: ubuntu
-            version: 14.04
-      requirements:
-          - slice:
-                node: mysite_volt
-                relationship: tosca.relationships.MemberOfSlice
-
-    # A subscriber client VM
-    client1:
-      type: tosca.nodes.Compute
-      capabilities:
-        # Host container properties
-        host:
-         properties:
-           num_cpus: 1
-           disk_size: 10 GB
-           mem_size: 4 MB
-        # Guest Operating System properties
-        os:
-          properties:
-            # host Operating System image properties
-            architecture: x86_64
-            type: linux
-            distribution: ubuntu
-            version: 14.04
-      requirements:
-          - slice:
-                node: mysite_clients
-                relationship: tosca.relationships.MemberOfSlice
-
-    # docker image for vsg containers
-    docker-vsg:
-      # TODO: need to attach this to mydeployment
-      type: tosca.nodes.Image
-      properties:
-        kind: container
-        container_format: na
-        disk_format: na
-        path: andybavier/docker-vcpe
-        tag: develop
-
-    # Let's add a user who can be administrator of the household
-    johndoe@myhouse.com:
-      type: tosca.nodes.User
-      properties:
-          password: letmein
-          firstname: john
-          lastname: doe
-      requirements:
-          - site:
-              node: mysite
-              relationship: tosca.relationships.MemberOfSite
-
-    # A subscriber
-    My House:
-       type: tosca.nodes.CORDSubscriber
-       properties:
-           service_specific_id: 123
-           firewall_enable: false
-           cdn_enable: false
-           url_filter_enable: false
-           url_filter_level: R
-       requirements:
-          - house_admin:
-              node: johndoe@myhouse.com
-              relationship: tosca.relationships.AdminPrivilege
-
-    Mom's PC:
-       type: tosca.nodes.CORDUser
-       properties:
-           mac: 01:02:03:04:05:06
-           level: PG_13
-       requirements:
-           - household:
-               node: My House
-               relationship: tosca.relationships.SubscriberDevice
-
-    Dad's PC:
-       type: tosca.nodes.CORDUser
-       properties:
-           mac: 90:E2:BA:82:F9:75
-           level: PG_13
-       requirements:
-           - household:
-               node: My House
-               relationship: tosca.relationships.SubscriberDevice
-
-    Jack's Laptop:
-       type: tosca.nodes.CORDUser
-       properties:
-           mac: 68:5B:35:9D:91:D5
-           level: PG_13
-       requirements:
-           - household:
-               node: My House
-               relationship: tosca.relationships.SubscriberDevice
-
-    Jill's Laptop:
-       type: tosca.nodes.CORDUser
-       properties:
-           mac: 34:36:3B:C9:B6:A6
-           level: PG_13
-       requirements:
-           - household:
-               node: My House
-               relationship: tosca.relationships.SubscriberDevice
-
-    My Volt:
-        type: tosca.nodes.VOLTTenant
-        properties:
-            service_specific_id: 123
-            s_tag: 222
-            c_tag: 432
-        requirements:
-            - provider_service:
-                node: service_volt
-                relationship: tosca.relationships.MemberOfService
-            - subscriber:
-                node: My House
-                relationship: tosca.relationships.BelongsToSubscriber
diff --git a/cord-deprecated/dataplane/ansible.cfg b/cord-deprecated/dataplane/ansible.cfg
deleted file mode 100644
index 9100590..0000000
--- a/cord-deprecated/dataplane/ansible.cfg
+++ /dev/null
@@ -1,4 +0,0 @@
-[defaults]
-remote_user = ubuntu
-private_key_file = ~/.ssh/id_rsa
-host_key_checking = false
\ No newline at end of file
diff --git a/cord-deprecated/dataplane/change_controller.sh b/cord-deprecated/dataplane/change_controller.sh
deleted file mode 100755
index 2b961ee..0000000
--- a/cord-deprecated/dataplane/change_controller.sh
+++ /dev/null
@@ -1,13 +0,0 @@
-#! /bin/bash
-
-# put IP address of node running ONOS VTN App here
-DESIRED_CONTROLLER="tcp:130.127.133.24:6653"
-
-while [[ 1 ]]; do
-    CONTROLLER=`ovs-vsctl get-controller br-int`
-    if [[ "$CONTROLLER" == "tcp:172.17.0.2:6653" ]]; then
-       ovs-vsctl set-controller br-int $DESIRED_CONTROLLER
-       echo "changed controller from $CONTROLLER to $DESIRED_CONTROLLER"
-    fi
-    sleep 10s
-done
diff --git a/cord-deprecated/dataplane/cleanup.sh b/cord-deprecated/dataplane/cleanup.sh
deleted file mode 100755
index 91d821c..0000000
--- a/cord-deprecated/dataplane/cleanup.sh
+++ /dev/null
@@ -1,49 +0,0 @@
-#!/bin/bash
-
-function cleanup_network {
-  NETWORK=$1
-  SUBNETS=`neutron net-show $NETWORK | grep -i subnets | awk '{print $4}'`
-  if [[ $SUBNETS != "" ]]; then
-      PORTS=`neutron port-list | grep -i $SUBNETS | awk '{print $2}'`
-      for PORT in $PORTS; do
-          echo "Deleting port $PORT"
-          neutron port-delete $PORT
-      done
-  fi
-  neutron net-delete $NETWORK
-}
-
-source ../../setup/admin-openrc.sh
-
-echo "Deleting VMs"
-# Delete all VMs
-VMS=$( nova list --all-tenants|grep mysite|awk '{print $2}' )
-for VM in $VMS
-do
-    nova delete $VM
-done
-
-echo "Waiting 5 seconds..."
-sleep 5
-
-cleanup_network lan_network
-cleanup_network wan_network
-cleanup_network mysite_vsg-private
-cleanup_network mysite_vsg-access
-cleanup_network management
-
-echo "Deleting networks"
-# Delete all networks beginning with mysite_
-NETS=$( neutron net-list --all-tenants|grep mysite|awk '{print $2}' )
-for NET in $NETS
-do
-    neutron net-delete $NET
-done
-
-neutron net-delete lan_network || true
-neutron net-delete subscriber_network || true
-neutron net-delete public_network || true
-neutron net-delete hpc_client_network || true
-neutron net-delete ceilometer_network || true
-neutron net-delete management || true
-neutron net-delete mysite_vsg-access || true
diff --git a/cord-deprecated/dataplane/dataplane-bm.yaml b/cord-deprecated/dataplane/dataplane-bm.yaml
deleted file mode 100644
index e1e78ee..0000000
--- a/cord-deprecated/dataplane/dataplane-bm.yaml
+++ /dev/null
@@ -1,36 +0,0 @@
----
-- hosts: switch_volt
-  sudo: yes
-  tasks:
-  - name: Create tunnel port on br-lan
-    openvswitch_port:
-      bridge=br-lan
-      port={{ item }}
-      state=present
-    with_items: "grenames.split(' ')"
-
-  - name: Set up GRE tunnel to vCPE
-    shell: ovs-vsctl set Interface {{ item.0 }} type=gre options:remote_ip={{ item.1 }}
-    with_together:
-      - "grenames.split(' ')"
-      - "bm_ips.split(' ')"
-
-- hosts: baremetal
-
-  user: root
-  sudo: no
-  tasks:
-  - name: Create br-lan
-    openvswitch_bridge:
-      bridge=br-lan
-      state=present
-
-  - name: Create tunnel port
-    openvswitch_port:
-      bridge=br-lan
-      port={{ grename }}
-      state=present
-
-  - name: Configure GRE tunnel to vOLT switch
-    shell: ovs-vsctl set Interface {{ grename }} type=gre options:remote_ip={{ volt_addr }}
-
diff --git a/cord-deprecated/dataplane/dataplane-vtn.yaml b/cord-deprecated/dataplane/dataplane-vtn.yaml
deleted file mode 100644
index f6561b5..0000000
--- a/cord-deprecated/dataplane/dataplane-vtn.yaml
+++ /dev/null
@@ -1,31 +0,0 @@
----
-- hosts: baremetal:nm
-
-  user: root
-  sudo: no
-  tasks:
-  - name: stop neutron openvswitch agent
-    service: name=neutron-plugin-openvswitch-agent state=stopped
-
-  - name: Update openvswitch config
-    lineinfile:
-      dest=/usr/share/openvswitch/scripts/ovs-ctl
-      insertafter="set ovsdb-server.*DB_FILE.*"
-      regexp=".*set.*--remote=ptcp.*"
-      line="        set \"$@\" --remote=ptcp:6641"
-      state=present
-
-  - name: Restart openvswitch
-    service: name=openvswitch-switch state=restarted
-
-  - name: Delete br-int
-    shell: ovs-vsctl show | grep -i br-int > /dev/null && ovs-vsctl del-br br-int
-    ignore_errors: yes
-
-- hosts: nm
-
-  user: root
-  sudo: no
-  tasks:
-  - name: stop neutron dhcp agent
-    service: name=neutron-dhcp-agent state=stopped
diff --git a/cord-deprecated/dataplane/dataplane.yaml b/cord-deprecated/dataplane/dataplane.yaml
deleted file mode 100644
index 3ca3bbe..0000000
--- a/cord-deprecated/dataplane/dataplane.yaml
+++ /dev/null
@@ -1,256 +0,0 @@
----
-- hosts: switch_vbng
-  sudo: yes
-  vars:
-    controller_ip: "{{ hostvars['onos_vbng']['ansible_ssh_host'] }}"
-    controller_port: 6653
-    ovs_dpid: "0000000000000001"
-  tags:
-  - vbng
-  tasks:
-  - name: Fix /etc/hosts
-    lineinfile:
-      dest=/etc/hosts
-      regexp="127.0.0.1 localhost"
-      line="127.0.0.1 localhost {{ ansible_hostname }}"
-
-  - name: Install packages
-    apt: name={{ item }}
-      state=latest
-      update_cache=yes
-    with_items:
-    - openvswitch-switch
-    - python-netifaces
-
-  - name: Create br-vbng
-    openvswitch_bridge:
-      bridge=br-vbng
-      state=present
-
-  - name: Find wan_network interface
-    script: scripts/if_from_ip.py {{ wan_ip }}
-    register: wan_net
-
-  - name: Find public_network interface
-    script: scripts/if_from_ip.py {{ public_ip }}
-    register: public_net
-
-  - name: Hook up wan-network to br-vbng
-    openvswitch_port:
-      bridge=br-vbng
-      port={{ wan_net.stdout }}
-      state=present
-
-  - name: Hook up public-network to OvS
-    openvswitch_port:
-      bridge=br-vbng
-      port={{ public_net.stdout }}
-      state=present
-
-  - name: Remove IP address on public_network
-    command: /sbin/ifconfig {{ public_net.stdout }} 0.0.0.0
-    when: public_net.stdout
-
-  - name: Change datapath ID of bridge to match config file
-    command: /usr/bin/ovs-vsctl set bridge br-vbng other-config:datapath-id={{ ovs_dpid }}
-
-  - name: Add controller to switch
-    command: /usr/bin/ovs-vsctl set-controller br-vbng tcp:{{ controller_ip }}:{{ controller_port }}
-
-- hosts: switch_volt
-  sudo: yes
-  vars:
-    controller_ip: "{{ hostvars['onos_volt']['ansible_ssh_host'] }}"
-    controller_port: 6653
-    vcpe_lan_ip: "{{ hostvars['vcpe']['lan_ip'] }}"
-  tags:
-  - volt
-  tasks:
-
-  - name: Fix /etc/hosts
-    lineinfile:
-      dest=/etc/hosts
-      regexp="127.0.0.1 localhost"
-      line="127.0.0.1 localhost {{ ansible_hostname }}"
-
-  - name: Install packages
-    apt: name={{ item }} state=present update_cache=yes
-    with_items:
-    - git
-    - python-netifaces
-    - openvswitch-switch
-
-  - name: Checkout the Mininet repo
-    git: repo=https://github.com/mininet/mininet.git
-      dest=/tmp/mininet
-
-  - name: Install the CPqD switch using Mininet install script
-    shell: /tmp/mininet/util/install.sh -3f
-      creates=/usr/local/bin/ofdatapath
-    ignore_errors: true
-
-  - name: Find subscriber_network interface
-    script: scripts/if_from_ip.py {{ subscriber_ip }}
-    register: subscriber_net
-
-  - name: Create bridge br-sub
-    openvswitch_bridge:
-      bridge=br-sub
-      state=present
-
-  - name: Add subscriber_net to br-sub
-    openvswitch_port:
-      bridge=br-sub
-      port={{ subscriber_net.stdout }}
-      state=present
-
-  # The CPqD switch is expecting that packets coming from the client have
-  # VLAN tag 1.  However Neutron's OvS configuration eats VLAN-tagged packets.
-  # So tag them with VLAN 1 here before sending to CPqD.
-  #
-  # Note that the VLAN tag is 0 in the real-world setup, but the CPqD switch
-  # seems to have a problem with these packets.
-
-  # Using OvS to tag packets with VLAN ID 1 is not quite working for some reason.
-  # The packets from the client get tagged OK, but only the first packet from the
-  # VCPE gets its tag stripped off.  Very weird.  That's why we are using veth
-  # devices instead.
-  #- name: Add tag 1 to br-sub port
-  #  shell: ovs-vsctl set port {{ subscriber_net.stdout }} tag=1
-
-  - name: Create a pair of veth devices
-    shell: ifconfig veth0 >> /dev/null || ip link add veth0 type veth peer name veth1
-
-  - name: Create veth0.1
-    shell: ifconfig veth0.1 >> /dev/null || ip link add link veth0 name veth0.1 type vlan id 1
-
-  - name: Bring the interfaces up
-    shell: ip link set {{ item }} up
-    with_items:
-    - veth0
-    - veth1
-    - veth0.1
-
-  - name: Add veth0.1 to br-sub
-    openvswitch_port:
-      bridge=br-sub
-      port=veth0.1
-      state=present
-
-  - name: Create bridge br-lan
-    openvswitch_bridge:
-      bridge=br-lan
-      state=present
-
-  - name: Create tunnel port on br-lan
-    openvswitch_port:
-      bridge=br-lan
-      port=gre0
-      state=present
-
-  - name: Set up GRE tunnel to vCPE
-    shell: ovs-vsctl set Interface gre0 type=gre options:remote_ip={{ vcpe_lan_ip }}
-
-  - name: Check if br-lan has an IPv6 address
-    shell: ip addr show br-lan|grep inet6|awk '{print $2}'
-    register: ipv6
-
-  - name: Remove br-lan IPv6 address if present
-    shell: ifconfig br-lan inet6 del {{ ipv6.stdout }}
-    when: ipv6.stdout != ""
-
-  - name: Check if veth1 has an IPv6 address
-    shell: ip addr show veth1|grep inet6|awk '{print $2}'
-    register: ipv6
-
-  - name: Remove veth1 IPv6 address if present
-    shell: ifconfig veth1 inet6 del {{ ipv6.stdout }}
-    when: ipv6.stdout != ""
-
-  - name: Run the datapath
-    command: /usr/local/bin/ofdatapath -i veth1,br-lan punix:/tmp/s1 -d 000000000001 --no-slicing -D -P
-      creates=/usr/local/var/run/ofdatapath.pid
-
-  - name: Run the control program
-    command: /usr/local/bin/ofprotocol unix:/tmp/s1 tcp:{{ controller_ip }}:{{ controller_port }} --fail=closed --listen=punix:/tmp/s1.listen -D -P
-      creates=/usr/local/var/run/ofprotocol.pid
-
-- hosts: client
-  sudo: yes
-  tags:
-  - client
-  tasks:
-
-  - name: Fix /etc/hosts
-    lineinfile:
-      dest=/etc/hosts
-      regexp="127.0.0.1 localhost"
-      line="127.0.0.1 localhost {{ ansible_hostname }}"
-
-  - name: Install packages
-    apt: name={{ item }}
-      state=latest
-      update_cache=yes
-    with_items:
-    - openvswitch-switch
-    - python-netifaces
-
-  - name: Create br-sub
-    openvswitch_bridge:
-      bridge=br-sub
-      state=present
-
-  - name: Find subscriber_network interface
-    script: scripts/if_from_ip.py {{ subscriber_ip }}
-    register: client_net
-
-  - name: Hook up subscriber-network to OvS
-    openvswitch_port:
-      bridge=br-sub
-      port={{ client_net.stdout }}
-      state=present
-
-  - name: Run some commands on br-sub
-    shell: "{{ item }}"
-    with_items:
-    - ifconfig br-sub 0.0.0.0 mtu 1400 up
-    - ethtool -K br-sub tso off
-    - ethtool -K br-sub tx off
-
-  # Run dhclient on br-sub internal interface to issue DHCP request to vCPE
-
-#
-# Need to set up a tunnel between vCPE and vOLT to keep VLAN-tagged
-# packets from being swallowed by the network.
-#
-- hosts: vcpe
-  sudo: yes
-  vars:
-    volt_lan_ip: "{{ hostvars['switch_volt']['lan_ip'] }}"
-  tags:
-  - vcpe
-  tasks:
-
-  - name: Install packages
-    apt: name={{ item }}
-      state=latest
-      update_cache=yes
-    with_items:
-    - openvswitch-switch
-
-  - name: Create br-lan
-    openvswitch_bridge:
-      bridge=br-lan
-      state=present
-
-  - name: Create tunnel port
-    openvswitch_port:
-      bridge=br-lan
-      port=gre0
-      state=present
-
-  - name: Configure GRE tunnel to vOLT switch
-    shell: ovs-vsctl set Interface gre0 type=gre options:remote_ip={{ volt_lan_ip }}
-
-  - name: Restart vCPEs
-    script: scripts/restart-vcpes.sh
diff --git a/cord-deprecated/dataplane/gen-etc-hosts.sh b/cord-deprecated/dataplane/gen-etc-hosts.sh
deleted file mode 100755
index 0d49706..0000000
--- a/cord-deprecated/dataplane/gen-etc-hosts.sh
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/bin/bash
-# set -x
-
-source ../../setup/admin-openrc.sh
-
-get_ip () {
-    LABEL=$1
-    NETWORK=$2
-    nova list --all-tenants|grep $LABEL|sed "s/^.*$NETWORK=//g"|sed 's/; .*$//g'|awk '{print $1}'
-}
-
-cat <<EOF
-$( get_ip mysite_onos_vbng flat-lan-1-net) onos_vbng
-$( get_ip mysite_vbng flat-lan-1-net) switch_vbng
-$( get_ip mysite_onos_volt flat-lan-1-net) onos_volt
-$( get_ip mysite_volt flat-lan-1-net) switch_volt
-$( get_ip mysite_clients flat-lan-1-net) client
-$( get_ip mysite_vsg flat-lan-1-net) vcpe
-EOF
diff --git a/cord-deprecated/dataplane/gen-inventory.sh b/cord-deprecated/dataplane/gen-inventory.sh
deleted file mode 100755
index bacd2dd..0000000
--- a/cord-deprecated/dataplane/gen-inventory.sh
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/bin/bash
-# set -x
-
-source ../../setup/admin-openrc.sh
-
-get_ip () {
-    LABEL=$1
-    NETWORK=$2
-    nova list --all-tenants|grep $LABEL|sed "s/^.*$NETWORK=//g"|sed 's/; .*$//g'|awk '{print $1}'
-}
-
-cat <<EOF
-onos_vbng    ansible_ssh_host=$( get_ip mysite_onos_vbng flat-lan-1-net)
-switch_vbng  ansible_ssh_host=$( get_ip mysite_vbng flat-lan-1-net) wan_ip=$( get_ip mysite_vbng wan_network) public_ip=$( get_ip mysite_vbng tun0-net )
-
-onos_volt    ansible_ssh_host=$( get_ip mysite_onos_volt flat-lan-1-net)
-switch_volt  ansible_ssh_host=$( get_ip mysite_volt flat-lan-1-net) subscriber_ip=$( get_ip mysite_volt subscriber_network) lan_ip=$( get_ip mysite_volt lan_network)
-
-client       ansible_ssh_host=$( get_ip mysite_clients flat-lan-1-net) subscriber_ip=$( get_ip mysite_clients subscriber_network)
-vcpe         ansible_ssh_host=$( get_ip mysite_vsg flat-lan-1-net) lan_ip=$( get_ip mysite_vsg lan_network)
-EOF
diff --git a/cord-deprecated/dataplane/generate-bm.sh b/cord-deprecated/dataplane/generate-bm.sh
deleted file mode 100755
index f9b8787..0000000
--- a/cord-deprecated/dataplane/generate-bm.sh
+++ /dev/null
@@ -1,44 +0,0 @@
-source ../../setup/admin-openrc.sh
-
-get_ip () {
-    LABEL=$1
-    NETWORK=$2
-    nova list --all-tenants|grep $LABEL|sed "s/^.*$NETWORK=//g"|sed 's/; .*$//g'|awk '{print $1}'
-    }
-
-GRENAMES=()
-BM_IPS=()
-
-NODES=`sudo bash -c "source ../../setup/admin-openrc.sh ; nova hypervisor-list" |grep enabled|awk '{print $4}'`
-I=1
-for NODE in $NODES; do
-    BM_SSH_IP=`getent hosts $NODE | awk '{ print $1 }'`
-    IFS=. read BM_NAME BM_REMAINDER <<< $NODE
-    BM_IP=`sudo grep -i $BM_NAME /root/setup/data-hosts.flat-lan-1 | awk '{print $1}'`
-
-    GRE_NAMES+=("gre-bm-$I")
-    BM_IPS+=("$BM_IP")
-
-    #echo switch_volt$I    ansible_ssh_host=$( get_ip mysite_volt flat-lan-1-net) grename=gre-bm-$I bm_addr=$BM_IP
-    echo bm$I           ansible_ssh_host=$BM_SSH_IP grename=gre-bm-$I volt_addr=$( get_ip mysite_volt flat-lan-1-net)  ansible_ssh_private_key_file=/root/.ssh/id_rsa
-    I=$(( I+1 ))
-done
-
-GRE_NAMES=${GRE_NAMES[@]}
-BM_IPS=${BM_IPS[@]}
-
-echo switch_volt ansible_ssh_host=$( get_ip mysite_volt flat-lan-1-net) grenames=\"$GRE_NAMES\" bm_ips=\"$BM_IPS\"
-
-NM=`grep "^nm" /root/setup/fqdn.map | awk '{ print $2 }'`
-echo "nm1 ansible_ssh_host=$NM ansible_ssh_private_key_file=/root/.ssh/id_rsa"
-
-echo "[baremetal]"
-I=1
-for NODE in $NODES; do
-    echo bm$I
-    I=$((I+1))
-done
-
-# now for the network management node
-echo "[nm]"
-echo "nm1"
diff --git a/cord-deprecated/dataplane/scripts/if_from_ip.py b/cord-deprecated/dataplane/scripts/if_from_ip.py
deleted file mode 100644
index 28524fe..0000000
--- a/cord-deprecated/dataplane/scripts/if_from_ip.py
+++ /dev/null
@@ -1,14 +0,0 @@
-#!/usr/bin/python
-
-import sys
-import netifaces
-
-def main (argv):
-    addr = argv[0]
-    for iface in netifaces.interfaces():
-        addrs = netifaces.ifaddresses(iface)
-        if 2 in addrs and addrs[2][0]['addr'] == addr:
-            sys.stdout.write(iface)
-
-if __name__ == "__main__":
-    main(sys.argv[1:])
diff --git a/cord-deprecated/dataplane/scripts/restart-vcpes.sh b/cord-deprecated/dataplane/scripts/restart-vcpes.sh
deleted file mode 100644
index d1c9fce..0000000
--- a/cord-deprecated/dataplane/scripts/restart-vcpes.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/sh
-
-for VCPE in $( docker ps|grep vcpe|awk '{print $NF}' )
-do
-  service $VCPE stop
-  sleep 1
-  service $VCPE start
-done
diff --git a/cord-deprecated/docker-compose.yml b/cord-deprecated/docker-compose.yml
deleted file mode 100644
index 28eeeb4..0000000
--- a/cord-deprecated/docker-compose.yml
+++ /dev/null
@@ -1,106 +0,0 @@
-xos_db:
-    image: xosproject/xos-postgres
-    expose:
-        - "5432"
-
-xos_synchronizer_openstack:
-    command: bash -c "sleep 120; python /opt/xos/synchronizers/openstack/xos-synchronizer.py"
-    image: xosproject/xos-synchronizer-openstack
-    labels:
-        org.xosproject.kind: synchronizer
-        org.xosproject.target: openstack
-    links:
-        - xos_db
-    extra_hosts:
-        - ctl:${MYIP}
-    volumes:
-        - ../common/xos_common_config:/opt/xos/xos_configuration/xos_common_config:ro
-        - ./xos_cord_config:/opt/xos/xos_configuration/xos_cord_config:ro
-        - ../setup:/root/setup:ro
-
-xos_synchronizer_onos:
-    image: xosproject/xos-synchronizer-openstack
-    command: bash -c "sleep 120; python /opt/xos/synchronizers/onos/onos-synchronizer.py -C /opt/xos/synchronizers/onos/onos_synchronizer_config"
-    labels:
-        org.xosproject.kind: synchronizer
-        org.xosproject.target: onos
-    links:
-        - xos_db
-    extra_hosts:
-        - ctl:${MYIP}
-    volumes:
-        - ../setup/id_rsa:/opt/xos/synchronizers/onos/onos_key:ro  # private key
-
-xos_synchronizer_vcpe:
-    image: xosproject/xos-synchronizer-openstack
-    command: bash -c "sleep 120; python /opt/xos/synchronizers/vcpe/vcpe-synchronizer.py -C /opt/xos/synchronizers/vcpe/vcpe_synchronizer_config"
-    labels:
-        org.xosproject.kind: synchronizer
-        org.xosproject.target: vcpe
-    links:
-        - xos_db
-    extra_hosts:
-        - ctl:${MYIP}
-    volumes:
-        - ../setup/id_rsa:/opt/xos/synchronizers/vcpe/vcpe_private_key:ro  # private key
-        - ../setup:/root/setup:ro
-
-xos_synchronizer_vbng:
-    image: xosproject/xos-synchronizer-openstack
-    command: bash -c "sleep 120; python /opt/xos/synchronizers/vbng/vbng-synchronizer.py -C /opt/xos/synchronizers/vbng/vbng_synchronizer_config"
-    labels:
-        org.xosproject.kind: synchronizer
-        org.xosproject.target: vbng
-    links:
-        - xos_db
-    extra_hosts:
-        - ctl:${MYIP}
-
-xos_synchronizer_monitoring_channel:
-    image: xosproject/xos-synchronizer-openstack
-    command: bash -c "sleep 120; python /opt/xos/synchronizers/monitoring_channel/monitoring_channel_synchronizer.py -C /opt/xos/synchronizers/monitoring_channel/monitoring_channel_synchronizer_config"
-    labels:
-        org.xosproject.kind: synchronizer
-        org.xosproject.target: monitoring_channel
-    links:
-        - xos_db
-    extra_hosts:
-        - ctl:${MYIP}
-    volumes:
-        - ../setup/id_rsa:/opt/xos/synchronizers/monitoring_channel/monitoring_channel_private_key:ro  # private key
-
-xos_synchronizer_vtr:
-    image: xosproject/xos-synchronizer-openstack
-    command: bash -c "sleep 120; python /opt/xos/synchronizers/vtr/vtr-synchronizer.py -C /opt/xos/synchronizers/vtr/vtr_synchronizer_config"
-    labels:
-        org.xosproject.kind: synchronizer
-        org.xosproject.target: vtr
-    links:
-        - xos_db
-    extra_hosts:
-        - ctl:${MYIP}
-    volumes:
-        - ../setup/id_rsa:/opt/xos/synchronizers/vtr/vcpe_private_key:ro  # private key
-        - ../setup:/root/setup:ro
-
-# FUTURE
-#xos_swarm_synchronizer:
-#    image: xosproject/xos-swarm-synchronizer
-#    labels:
-#        org.xosproject.kind: synchronizer
-#        org.xosproject.target: swarm
-
-xos:
-    image: xosproject/xos
-    command: python /opt/xos/manage.py runserver 0.0.0.0:8000 --insecure --makemigrations
-    ports:
-        - "9999:8000"
-    links:
-        - xos_db
-    volumes:
-      - ../setup:/root/setup:ro
-      - ../common/xos_common_config:/opt/xos/xos_configuration/xos_common_config:ro
-      - ./xos_cord_config:/opt/xos/xos_configuration/xos_cord_config:ro
-      - ../setup/id_rsa.pub:/opt/xos/synchronizers/onos/onos_key.pub:ro
-      - ../setup/id_rsa.pub:/opt/xos/synchronizers/vcpe/vcpe_public_key:ro
-      - ../setup/id_rsa.pub:/opt/xos/synchronizers/monitoring_channel/monitoring_channel_public_key:ro
diff --git a/cord-deprecated/make-virtualbng-json.sh b/cord-deprecated/make-virtualbng-json.sh
deleted file mode 100644
index 993643c..0000000
--- a/cord-deprecated/make-virtualbng-json.sh
+++ /dev/null
@@ -1,38 +0,0 @@
-FN=$SETUPDIR/virtualbng.json
-
-rm -f $FN
-
-cat >> $FN <<EOF
-{
-    "localPublicIpPrefixes" : [
-        "10.254.0.128/25"
-    ],
-    "nextHopIpAddress" : "10.254.0.1",
-    "publicFacingMac" : "00:00:00:00:00:66",
-    "xosIpAddress" : "10.11.10.1",
-    "xosRestPort" : "9999",
-    "hosts" : {
-EOF
-
-NODES=$( sudo bash -c "source $SETUPDIR/admin-openrc.sh ; nova hypervisor-list" |grep -v ID|grep -v +|awk '{print $4}' )
-
-NODECOUNT=0
-for NODE in $NODES; do
-    ((NODECOUNT++))
-done
-
-I=0
-for NODE in $NODES; do
-    echo $NODE
-    ((I++))
-    if [[ "$I" -lt "$NODECOUNT" ]]; then
-        echo "      \"$NODE\" : \"of:0000000000000001/1\"," >> $FN
-    else
-        echo "      \"$NODE\" : \"of:0000000000000001/1\"" >> $FN
-    fi
-done
-
-cat >> $FN <<EOF
-    }
-}
-EOF
diff --git a/cord-deprecated/make-vtn-networkconfig-json.sh b/cord-deprecated/make-vtn-networkconfig-json.sh
deleted file mode 100644
index 77b855d..0000000
--- a/cord-deprecated/make-vtn-networkconfig-json.sh
+++ /dev/null
@@ -1,88 +0,0 @@
-FN=$SETUPDIR/vtn-network-cfg.json
-
-echo "Writing to $FN"
-
-rm -f $FN
-
-cat >> $FN <<EOF
-{
-    "apps" : {
-        "org.onosproject.cordvtn" : {
-            "cordvtn" : {
-                "privateGatewayMac" : "00:00:00:00:00:01",
-                "localManagementIp": "172.27.0.1/24",
-                "ovsdbPort": "6641",
-                "sshPort": "22",
-                "sshUser": "root",
-                "sshKeyFile": "/root/node_key",
-                "publicGateways": [
-                    {
-                        "gatewayIp": "10.123.0.1",
-                        "gatewayMac": "00:8c:fa:5b:09:d8"
-                    }
-                ],
-                "nodes" : [
-EOF
-
-NODES=$( sudo bash -c "source $SETUPDIR/admin-openrc.sh ; nova hypervisor-list" |grep -v ID|grep -v +|awk '{print $4}' )
-
-# XXX disabled - we don't need or want the nm node at this time
-# also configure ONOS to manage the nm node
-# NM=`grep "^nm" /root/setup/fqdn.map | awk '{ print $2 }'`
-# NODES="$NODES $NM"
-
-NODECOUNT=0
-for NODE in $NODES; do
-    ((NODECOUNT++))
-done
-
-I=0
-for NODE in $NODES; do
-    echo $NODE
-    NODEIP=`getent hosts $NODE | awk '{ print $1 }'`
-
-    # This part is cloudlab-specific. It examines the flat-net-1 network and extracts
-    # the eth device and ip address that was assigned to flat-net-1.
-    sudo scp root@$NODE:/root/setup/info.flat-lan-1 $SETUPDIR/flat-lan-$NODE
-    PHYPORT=`bash -c "source $SETUPDIR/flat-lan-$NODE; echo \\\$DATADEV"`
-    LOCALIP=`bash -c "source $SETUPDIR/flat-lan-$NODE; echo \\\$DATAIP"`
-
-    ((I++))
-    cat >> $FN <<EOF
-                    {
-                      "hostname": "$NODE",
-                      "hostManagementIp": "$NODEIP/24",
-                      "bridgeId": "of:000000000000000$I",
-                      "dataPlaneIntf": "$PHYPORT",
-                      "dataPlaneIp": "$LOCALIP/24"
-EOF
-    if [[ "$I" -lt "$NODECOUNT" ]]; then
-        echo "                    }," >> $FN
-    else
-        echo "                    }" >> $FN
-    fi
-done
-
-# get the openstack admin password and username
-source $SETUPDIR/admin-openrc.sh
-
-HOSTNAME=`hostname`
-NEUTRONIP=`getent hosts $HOSTNAME | awk '{ print $1 }'`
-KEYSTONEIP=`getent hosts $HOSTNAME | awk '{ print $1 }'`
-
-cat >> $FN <<EOF
-                ]
-            }
-        },
-        "org.onosproject.openstackinterface" : {
-            "openstackinterface" : {
-                 "do_not_push_flows" : "true",
-                 "neutron_server" : "http://$NEUTRONIP:9696/v2.0/",
-                 "keystone_server" : "http://$KEYSTONEIP:5000/v2.0/",
-                 "user_name" : "$OS_USERNAME",
-                 "password" : "$OS_PASSWORD"
-             }
-        }
-    }
-}
-EOF
diff --git a/cord-deprecated/xos_cord_config b/cord-deprecated/xos_cord_config
deleted file mode 100644
index a5448f7..0000000
--- a/cord-deprecated/xos_cord_config
+++ /dev/null
@@ -1,6 +0,0 @@
-[gui]
-branding_name=CORD
-#branding_css=/static/cord.css
-branding_icon=/static/cord-logo.png
-branding_favicon=/static/cord-favicon.png
-branding_bg=/static/cord-bg.jpg
diff --git a/cord-pod/Makefile b/cord-pod/Makefile
index 566e51f..898d34c 100644
--- a/cord-pod/Makefile
+++ b/cord-pod/Makefile
@@ -112,7 +112,7 @@
 onboard-exampleservice:
 	sudo cp id_rsa key_import/exampleservice_rsa
 	sudo cp id_rsa.pub key_import/exampleservice_rsa.pub
-	$(RUN_TOSCA_BOOSTRAP) $(SERVICE_DIR)/exampleservice/exampleservice-onboard.yaml
+	$(RUN_TOSCA_BOOTSTRAP) $(SERVICE_DIR)/exampleservice/xos/exampleservice-onboard.yaml
 	bash ../common/wait_for_onboarding_ready.sh 81 services/exampleservice
 	bash ../common/wait_for_onboarding_ready.sh 81 xos
 	bash ../common/wait_for_xos_port.sh 80
diff --git a/frontend/Makefile b/frontend/Makefile
index 217c09d..7640cb0 100644
--- a/frontend/Makefile
+++ b/frontend/Makefile
@@ -78,9 +78,15 @@
 ps:
 	sudo docker-compose ps
 
-enter-xos:
+enter-ui:
 	sudo docker exec -ti frontend_xos_ui_1 bash
 
+enter-bootstrap-ui:
+	sudo docker exec -ti frontendbs_xos_bootstrap_ui_1 bash
+
+enter-db:
+	sudo docker exec -ti frontendbs_xos_db_1 bash
+
 django-restart:
 	sudo docker exec frontend_xos_ui_1 touch /opt/xos/xos/settings.py
 
diff --git a/frontend/README.md b/frontend/README.md
index 7e2ef02..17f2626 100644
--- a/frontend/README.md
+++ b/frontend/README.md
@@ -5,14 +5,27 @@
 
 ## Getting Started
 
-- Navigate to `/xos/configurations/frontend` folder
+- Navigate to `/service-profile/configurations/frontend` folder
 - Run `make` command
 
 You'll be able to visit XOS at `0.0.0.0:9000` and the `xos/core/xoslib` folder is shared with the container. This means that any update to that folder is automatically reported in the container.
 
-If you need to work on the Django application itself, comment out the "sleep" command
-for the `xos` container in docker-compose.yml and run `make`.  Once the containers are
-up then type `make enter` to enter the running container.
+### Working on the Django Application
+If you need to work on the Django application itself:
+- comment out the `sleep 86400` command for the `xos_bootstrap_ui` container in `docker-compose-bootstrap.yml`
+- comment the `python /opt/xos/manage.py runserver 0.0.0.0:9998 --insecure --makemigrations` in the same file
+- run `make containers`.
+- run `make`
+
+You'll notice that the `make` command will hang on to `Waiting for XOS to start listening on port 9998`, so in another shell:
+- run `make enter-bootstrap-ui`, this will bring you inside the running bootstrap container
+- from inside the bootstrap container run `python /opt/xos/manage.py runserver 0.0.0.0:9998 --insecure --makemigrations`
+
+As this command finish his execution you'll notice that the `make` command will resume and end. Once it has endend your development environment is up and running. 
+
+If you are working on core files (not involving services) you can use the `bootstrap_ui` container as target, so connect to port `9998`. To simplify the development `xos/core` and `xos/api/utility` folders are shared between the host filesystem and the container, so you don't have to manually copy file inside the the running `bootstrap_ui` container.
+
+If instead you are working on services or services API your target container should be the `ui` container, so connect to port `9999`. Note that the `ui` container can be rebuilt from the `synchronizer` container, and it will pull the container in the docker registry, not your local one.
 
 > _NOTE:
 > Please be careful and do not commit migrations, private keys or other autogenerated files._
@@ -20,13 +33,15 @@
 
 ### Using Vagrant
 
-Vagrant environment is provided with a ubuntu_14.04 box (ubuntu/trusty64). It will run xos on the following address `192.168.46.100:9999'. 
-It also provide a shared folder between host machine (root folder of xos repository) and ubuntu client(/opt/xos). 
+Vagrant environment is provided with a ubuntu_14.04 box (ubuntu/trusty64). 
 
-Start the Vagrant box : vagrant up --provision
-SSH details : ssh vagrant@127.0.0.1 -p 2222
-password: vagrant
-Check status: vagrant global-status
+It will run xos on the following address `192.168.46.100:9999`. 
+It will also share the `service-profile` and `xos` folder with the vagrant box. These two directory are intended to be side by side.
+
+How to set it up:
+- Start the Vagrant box: `vagrant up`
+- Enter Vagrant box: `vagrant ssh`
+- Start XOS: `cd /opt/service-profile/frontend` and run `make`
 
 ### Docker Helpers
 
diff --git a/frontend/Vagrantfile b/frontend/Vagrantfile
index 796977e..38b2a92 100644
--- a/frontend/Vagrantfile
+++ b/frontend/Vagrantfile
@@ -15,6 +15,4 @@
       vb.customize ['modifyvm', :id,'--memory', '4096']
   end
 
-  # make the frontend config
-  config.vm.provision "shell", inline: "cd /opt/service-profile/frontend/ && make"
  end
diff --git a/frontend/docker-compose-bootstrap.yml b/frontend/docker-compose-bootstrap.yml
index 942c105..f2055fc 100644
--- a/frontend/docker-compose-bootstrap.yml
+++ b/frontend/docker-compose-bootstrap.yml
@@ -5,6 +5,7 @@
 
 xos_bootstrap_ui:
     image: xosproject/xos
+    # command: sleep 86400
     command: python /opt/xos/manage.py runserver 0.0.0.0:9998 --insecure --makemigrations
     environment:
         - CONFIG_DIR
@@ -16,11 +17,12 @@
       - ../common/xos_common_config:/opt/xos/xos_configuration/xos_common_config
       - ../cord-pod/files/xos_vtn_config:/opt/xos/xos_configuration/xos_vtn_config:ro
       - ../../xos_services:/opt/xos_services
+      - ../../xos/xos/api/utility:/opt/xos/api/utility
+      - ../../xos/xos/core:/opt/xos/core
 
 xos_synchronizer_onboarding:
     image: xosproject/xos-synchronizer-onboarding
     command: bash -c "cd /opt/xos/synchronizers/onboarding; ./run.sh"
-#    command: sleep 86400
     labels:
         org.xosproject.kind: synchronizer
         org.xosproject.target: onboarding
