diff --git a/bootstrap.sh b/bootstrap.sh
new file mode 100755
index 0000000..3bfebe3
--- /dev/null
+++ b/bootstrap.sh
@@ -0,0 +1,9 @@
+#!/bin/bash
+
+sudo apt-get update
+sudo apt-get install -y software-properties-common git mosh
+sudo add-apt-repository -y ppa:ansible/ansible
+sudo apt-get update
+sudo apt-get install -y ansible
+ssh-keygen -t rsa -N "" -f ~/.ssh/id_rsa
+cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
diff --git a/scripts/juju-cord-setup.py b/scripts/juju-cord-setup.py
deleted file mode 100755
index 418aab2..0000000
--- a/scripts/juju-cord-setup.py
+++ /dev/null
@@ -1,39 +0,0 @@
-#!/usr/bin/python
-
-import subprocess
-import json
-import socket
-
-# Assumption: VMs have same hostname as service that runs inside
-machines = ["mysql", "rabbitmq-server", "keystone", "glance", "nova-cloud-controller",
-            "openstack-dashboard", "ceilometer", "nagios", "neutron-api"]
-
-
-# Figure out Juju ID of machine we should install on
-def get_machine(status, service):
-    if service == "mongodb":
-        service = "ceilometer"
-    for key, value in status['machines'].iteritems():
-        (hostname, aliaslist, ipaddrlist) = socket.gethostbyaddr(value['dns-name'])
-        if hostname == service:
-            return key
-    return None
-
-def get_juju_status():
-    output = subprocess.check_output("juju status --format=json", shell=True)
-    status = json.loads(output)
-    return status
-
-def addmachines():
-    status = get_juju_status()
-
-    for machine in machines:
-        if get_machine(status, machine) == None:
-            ipaddr = socket.gethostbyname(machine)
-            subprocess.check_call("juju add-machine ssh:%s" % ipaddr, shell=True)
-
-def main():
-    addmachines()
-
-if  __name__ =='__main__':
-    main()
diff --git a/tasks/vm-ips-cord.yml b/tasks/vm-ips-cord.yml
deleted file mode 100644
index 3fb6d5d..0000000
--- a/tasks/vm-ips-cord.yml
+++ /dev/null
@@ -1,40 +0,0 @@
----
-- shell: uvt-kvm ip juju
-  register: juju_ip
-
-- shell: uvt-kvm ip mysql
-  register: mysql_ip
-
-- shell: uvt-kvm ip rabbitmq-server
-  register: rabbitmq_ip
-
-- shell: uvt-kvm ip keystone
-  register: keystone_ip
-
-- shell: uvt-kvm ip glance
-  register: glance_ip
-
-- shell: uvt-kvm ip nova-cloud-controller
-  register: novacc_ip
-
-- shell: uvt-kvm ip openstack-dashboard
-  register: horizon_ip
-
-- shell: uvt-kvm ip nagios
-  register: nagios_ip
-
-- shell: uvt-kvm ip ceilometer
-  register: ceilometer_ip
-
-- shell: uvt-kvm ip neutron-api
-  register: neutron_api_ip
-
-- shell: uvt-kvm ip xos
-  register: xos_ip
-
-- shell: uvt-kvm ip onos-cord
-  register: onos_cord_ip
-
-- shell: uvt-kvm ip nova-compute
-  register: nova_compute_ip
-  when: test_setup is defined
