Commit 14a1373

bryfry <bryon.fryer@gmail.com>
2013-06-10 20:25:08
add ppa, add dependency list group_vars
1 parent 8be558e
Changed files (4)
group_vars/hosting.yml
@@ -1,3 +1,6 @@
 ---
 # docker hosting specific variables
-docker_git_url: git://github.com/dotcloud/docker.git
+docker_deps:
+    - python-software-properties
+    - linux-image-3.8.0-19-generic
+    #- linux-image-generic-lts-raring
group_vars/hosting_dev.yml
@@ -0,0 +1,10 @@
+# vars specifically for building a development enviroment for docker
+docker_git_url: git://github.com/dotcloud/docker.git
+docker_dev_deps:
+  - lxc
+  - bsdtar
+  - golang
+  - curl
+  - git
+  - wget
+  - build-essential
roles/hosting/tasks/docker-bootstrap.yml
@@ -1,31 +1,44 @@
 ---
 # install dependencies needed to build/run the docker lxc engine (http://www.docker.io/)
+# Basically a reworking of docker's Vagrentfile[1] into an ansible-playbook
+# [1] https://github.com/dotcloud/docker/blob/master/Vagrantfile
+
+ 
+### PPA install ###
+- name: Enable ppa adding via apt-add-repository is available
+  tags: ppa,dev
+  apt: pkg={{ item }} state=latest
+  with_items: {{ docker_deps }} # defined in groupvars/hosting.yml
+  
+- name: Add docker ppa
+  tags: ppa
+  apt_repository: repo=ppa:dotcloud/lxc-docker
+
+- name: Install docker via ppa
+  tags: ppa
+  apt: pkg=lxc-docker state=latest update_cache=yes
+
+  
+### Dev Install ###
+- name: Install docker development dependencies
+  tags: dev
+  apt: pkg={{ item }} state=latest update_cache=yes
+  with_items: docker_dev_deps # defined in groupvars/hosting_dev.yml
 
-- name: Install lxc
-  apt: pkg=lxc state=latest
-
-- name: Install bsdtar
-  apt: pkg=bsdtar state=latest
-
-- name: Install golang
-  apt: pkg=golang state=latest
-
-- name: Install curl
-  apt: pkg=curl state=latest
+# TODO: improve granularity of this checking, i.e. version number, cloning only if absent
+- name: Clone docker via git
+  tags: dev
+  git: repo={{docker_git_url}} dest=/tmp/docker/
 
-- name: Install git
-  apt: pkg=git state=latest
+- name: Docker dev make, make install
+  tags: dev
+  shell: cd /tmp/docker && make && cp ./bin/docker /usr/local/bin/docker
 
-- name: Install wget
-  apt: pkg=wget state=latest
+- name: Determine if docker is installed already
+  tags: dev
+  debug: msg="docker installed at:{{item}}"
+  with_lines:
+    - which docker
 
-- name: Update Kernel to 3.8
-  apt: pkg=linux-image-generic-lts-raring
 
-# TODO: improve granularity of this checking, i.e. version number, cloning only if absent
-- name: Clone and compile docker
-  git: repo={{docker_git_url}} dest=/tmp/docker/
-- shell: cd /tmp/docker && make && cp ./bin/docker /usr/local/bin/docker
-- debug: msg="docker installed at:{{item}}"
-  with_lines:
-    - which docker  
+      
hosting.yml
@@ -3,6 +3,7 @@
 - hosts: hosting
   vars_files:
     - group_vars/hosting.yml
+    - group_vars/hosting_dev.yml
   roles:
     - hosting