From 64de2a4bcbb0b8273ba66ab5c82c7b9db5c10740 Mon Sep 17 00:00:00 2001
From: Jeff Geerling <geerlingguy@mac.com>
Date: Tue, 13 Sep 2016 22:41:16 -0500
Subject: More efficient Docker test layout.

---
 .travis.yml                   | 30 ++++++++++++++----------------
 README.md                     |  2 +-
 tests/Dockerfile.centos-6     | 15 ---------------
 tests/Dockerfile.centos-7     | 27 ---------------------------
 tests/Dockerfile.ubuntu-12.04 | 11 -----------
 tests/Dockerfile.ubuntu-14.04 | 11 -----------
 6 files changed, 15 insertions(+), 81 deletions(-)
 delete mode 100644 tests/Dockerfile.centos-6
 delete mode 100644 tests/Dockerfile.centos-7
 delete mode 100644 tests/Dockerfile.ubuntu-12.04
 delete mode 100644 tests/Dockerfile.ubuntu-14.04

diff --git a/.travis.yml b/.travis.yml
index 668ba3b..33dc0c7 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -2,20 +2,19 @@
 sudo: required
 
 env:
-  - distribution: centos
-    version: 6
+  - distro: centos7
+    init: /usr/lib/systemd/systemd
+    run_opts: "--privileged --volume=/sys/fs/cgroup:/sys/fs/cgroup:ro"
+  - distro: centos6
     init: /sbin/init
     run_opts: ""
-  - distribution: centos
-    version: 7
-    init: /usr/lib/systemd/systemd
+  - distro: ubuntu1604
+    init: /lib/systemd/systemd
     run_opts: "--privileged --volume=/sys/fs/cgroup:/sys/fs/cgroup:ro"
-  - distribution: ubuntu
-    version: 14.04
+  - distro: ubuntu1404
     init: /sbin/init
     run_opts: ""
-  - distribution: ubuntu
-    version: 12.04
+  - distro: ubuntu1204
     init: /sbin/init
     run_opts: ""
 
@@ -23,15 +22,13 @@ services:
   - docker
 
 before_install:
-  # Pull container
-  - 'sudo docker pull ${distribution}:${version}'
-  # Customize container
-  - 'sudo docker build --rm=true --file=tests/Dockerfile.${distribution}-${version} --tag=${distribution}-${version}:ansible tests'
+  # Pull container.
+  - 'sudo docker pull geerlingguy/docker-${distro}-ansible:latest'
 
 script:
   - container_id=$(mktemp)
-  # Run container in detached state
-  - 'sudo docker run --detach -p 8025:8025 --volume="${PWD}":/etc/ansible/roles/role_under_test:ro ${run_opts} ${distribution}-${version}:ansible "${init}" > "${container_id}"'
+  # Run container in detached state.
+  - 'sudo docker run --detach --volume="${PWD}":/etc/ansible/roles/role_under_test:ro ${run_opts} geerlingguy/docker-${distro}-ansible:latest "${init}" > "${container_id}"'
 
   # Ansible syntax check.
   - 'sudo docker exec --tty "$(cat ${container_id})" env TERM=xterm ansible-playbook /etc/ansible/roles/role_under_test/tests/test.yml --syntax-check'
@@ -48,7 +45,8 @@ script:
     && (echo 'Idempotence test: pass' && exit 0)
     || (echo 'Idempotence test: fail' && exit 1)
 
-  # Clean up
+after_success:
+  # Clean up.
   - 'sudo docker stop "$(cat ${container_id})"'
 
 notifications:
diff --git a/README.md b/README.md
index 88bcc08..9f406f3 100644
--- a/README.md
+++ b/README.md
@@ -52,4 +52,4 @@ MIT / BSD
 
 ## Author Information
 
-This role was created in 2014 by [Jeff Geerling](http://jeffgeerling.com/), author of [Ansible for DevOps](http://ansiblefordevops.com/).
+This role was created in 2014 by [Jeff Geerling](http://www.jeffgeerling.com/), author of [Ansible for DevOps](https://www.ansiblefordevops.com/).
diff --git a/tests/Dockerfile.centos-6 b/tests/Dockerfile.centos-6
deleted file mode 100644
index 4a4e7b8..0000000
--- a/tests/Dockerfile.centos-6
+++ /dev/null
@@ -1,15 +0,0 @@
-FROM centos:6
-
-# Install Ansible
-RUN yum -y update; yum clean all;
-RUN yum -y install epel-release
-RUN yum -y install git ansible sudo
-RUN yum clean all
-
-# Disable requiretty
-RUN sed -i -e 's/^\(Defaults\s*requiretty\)/#--- \1/'  /etc/sudoers
-
-# Install Ansible inventory file
-RUN echo -e '[local]\nlocalhost ansible_connection=local' > /etc/ansible/hosts
-
-CMD ["/usr/sbin/init"]
diff --git a/tests/Dockerfile.centos-7 b/tests/Dockerfile.centos-7
deleted file mode 100644
index 8aa0654..0000000
--- a/tests/Dockerfile.centos-7
+++ /dev/null
@@ -1,27 +0,0 @@
-FROM centos:7
-
-# Install systemd -- See https://hub.docker.com/_/centos/
-RUN yum -y swap -- remove fakesystemd -- install systemd systemd-libs
-RUN yum -y update; yum clean all; \
-(cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done); \
-rm -f /lib/systemd/system/multi-user.target.wants/*; \
-rm -f /etc/systemd/system/*.wants/*; \
-rm -f /lib/systemd/system/local-fs.target.wants/*; \
-rm -f /lib/systemd/system/sockets.target.wants/*udev*; \
-rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \
-rm -f /lib/systemd/system/basic.target.wants/*; \
-rm -f /lib/systemd/system/anaconda.target.wants/*;
-
-# Install Ansible
-RUN yum -y install epel-release
-RUN yum -y install git ansible sudo
-RUN yum clean all
-
-# Disable requiretty
-RUN sed -i -e 's/^\(Defaults\s*requiretty\)/#--- \1/'  /etc/sudoers
-
-# Install Ansible inventory file
-RUN echo -e '[local]\nlocalhost ansible_connection=local' > /etc/ansible/hosts
-
-VOLUME ["/sys/fs/cgroup"]
-CMD ["/usr/sbin/init"]
diff --git a/tests/Dockerfile.ubuntu-12.04 b/tests/Dockerfile.ubuntu-12.04
deleted file mode 100644
index d0c130c..0000000
--- a/tests/Dockerfile.ubuntu-12.04
+++ /dev/null
@@ -1,11 +0,0 @@
-FROM ubuntu:12.04
-RUN apt-get update
-
-# Install Ansible
-RUN apt-get install -y software-properties-common python-software-properties git
-RUN apt-add-repository -y ppa:ansible/ansible
-RUN apt-get update
-RUN apt-get install -y ansible
-
-# Install Ansible inventory file
-RUN echo "[local]\nlocalhost ansible_connection=local" > /etc/ansible/hosts
diff --git a/tests/Dockerfile.ubuntu-14.04 b/tests/Dockerfile.ubuntu-14.04
deleted file mode 100644
index ca33287..0000000
--- a/tests/Dockerfile.ubuntu-14.04
+++ /dev/null
@@ -1,11 +0,0 @@
-FROM ubuntu:14.04
-RUN apt-get update
-
-# Install Ansible
-RUN apt-get install -y software-properties-common git
-RUN apt-add-repository -y ppa:ansible/ansible
-RUN apt-get update
-RUN apt-get install -y ansible
-
-# Install Ansible inventory file
-RUN echo "[local]\nlocalhost ansible_connection=local" > /etc/ansible/hosts
-- 
cgit v1.2.3