move docker installation into it's own playbook, run when creating vm's
diff --git a/roles/create-vms/files/docker-install-playbook.yml b/roles/create-vms/files/docker-install-playbook.yml
new file mode 100644
index 0000000..601d8b2
--- /dev/null
+++ b/roles/create-vms/files/docker-install-playbook.yml
@@ -0,0 +1,40 @@
+---
+# Installs docker with apt, docker-compose with pip, adds user to group
+# Must be run as root
+
+# https://docs.docker.com/engine/installation/linux/ubuntulinux/
+- name: Prereqs and SSL support for apt for SSL
+  apt:
+    name={{ item }}
+    update_cache=yes
+    cache_valid_time=3600
+  with_items:
+    - apt-transport-https
+    - ca-certificates
+    - python-pip
+
+- name: Trust docker apt key
+  apt_key:
+    keyserver=pool.sks-keyservers.net
+    id=58118E89F3A912897C070ADBF76221572C52609D
+
+- name: Add docker apt repo
+  apt_repository:
+    repo="deb https://apt.dockerproject.org/repo ubuntu-trusty main"
+
+- name: Install docker
+  apt:
+    update_cache=yes
+    cache_valid_time=3600
+    name=docker-engine
+
+- name: Make user part of the Docker group
+  user:
+    name={{ ansible_user_id }}
+    groups="docker" append=yes
+
+# https://docs.docker.com/compose/install/#install-using-pip
+- name: Install docker-compose from PyPi
+  pip:
+    name=docker-compose
+
diff --git a/roles/create-vms/tasks/main.yml b/roles/create-vms/tasks/main.yml
index f830fde..c6e766b 100644
--- a/roles/create-vms/tasks/main.yml
+++ b/roles/create-vms/tasks/main.yml
@@ -50,7 +50,16 @@
   command: ansible services -m ping -u ubuntu
 
 # sshkey is registered in head-prep task
-- name: Enable root ssh login on VM's that need it
+- name: Enable root ssh login on VM's that require it
   command: ansible {{ item.name }} -b -u ubuntu -m authorized_key -a "user='root' key='{{ sshkey.stdout }}'"
   with_items: "{{ head_vm_list | selectattr('root_ssh_login', 'defined') | list }}"
 
+- name: Copy over docker installation playbook
+  copy:
+    src="docker-install-playbook.yml"
+    dest="{{ ansible_user_dir }}/docker-install-playbook.yml"
+
+- name: Install docker in VM's that require it
+  command: ansible-playbook -i {{ item.name }} -b -u ubuntu "{{ ansible_user_dir }}/docker-install-playbook.yml"
+  with_items: "{{ head_vm_list | selectattr('docker_path', 'defined') | list }}"
+