summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeff Geerling <geerlingguy@mac.com>2016-09-13 22:41:16 -0500
committerJeff Geerling <geerlingguy@mac.com>2016-09-13 22:41:16 -0500
commit64de2a4bcbb0b8273ba66ab5c82c7b9db5c10740 (patch)
treeef01a0b0ac381a90800927e716fb6144ee908dcf
parentaae107a28cea42016a49a735ade8817cb5b9ce2c (diff)
downloadntp-64de2a4bcbb0b8273ba66ab5c82c7b9db5c10740.tar.gz
ntp-64de2a4bcbb0b8273ba66ab5c82c7b9db5c10740.tar.bz2
ntp-64de2a4bcbb0b8273ba66ab5c82c7b9db5c10740.tar.xz
ntp-64de2a4bcbb0b8273ba66ab5c82c7b9db5c10740.zip
More efficient Docker test layout.
-rw-r--r--.travis.yml30
-rw-r--r--README.md2
-rw-r--r--tests/Dockerfile.centos-615
-rw-r--r--tests/Dockerfile.centos-727
-rw-r--r--tests/Dockerfile.ubuntu-12.0411
-rw-r--r--tests/Dockerfile.ubuntu-14.0411
6 files changed, 15 insertions, 81 deletions
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