From 0dfe149f3267293e87fbc2df6614208285a62e5a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micka=C3=ABl=20Can=C3=A9vet?=
 <mickael.canevet@camptocamp.com>
Date: Fri, 21 Aug 2015 08:03:09 +0200
Subject: [PATCH] Use docker for acceptance tests

---
 .gitignore                                    |  3 ++
 .travis.yml                                   | 51 +++++++++++++------
 .../nodesets/centos-5-x86_64-docker.yml       |  4 +-
 .../nodesets/centos-6-x86_64-docker.yml       |  4 +-
 .../nodesets/centos-7-x86_64-docker.yml       |  4 +-
 .../nodesets/debian-6-x86_64-docker.yml       |  4 +-
 .../nodesets/debian-7-x86_64-docker.yml       |  4 +-
 .../nodesets/debian-8-x86_64-docker.yml       |  4 +-
 .../nodesets/ubuntu-12.04-x86_64-docker.yml   |  4 +-
 .../nodesets/ubuntu-14.04-x86_64-docker.yml   |  4 +-
 .../nodesets/ubuntu-14.10-x86_64-docker.yml   |  4 +-
 .../nodesets/ubuntu-15.04-x86_64-docker.yml   |  4 +-
 12 files changed, 69 insertions(+), 25 deletions(-)

diff --git a/.gitignore b/.gitignore
index b5b7a00..65839fa 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,3 +5,6 @@ spec/fixtures/
 .vagrant/
 .bundle/
 coverage/
+log/
+.*.swp
+*~
diff --git a/.travis.yml b/.travis.yml
index acac352..d7decac 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -15,29 +15,50 @@ matrix:
     env: PUPPET_GEM_VERSION="~> 3.0"
   - rvm: 2.0.0
     env: PUPPET_GEM_VERSION="~> 3.0" FUTURE_PARSER="yes"
-  - rvm: 2.1.0
+  - rvm: 2.1.6
     env: PUPPET_GEM_VERSION="~> 4.0"
-  - env: BEAKER_set="debian-6-x86_64-openstack"
+  - rvm: default
+    sudo: required
+    services: docker
+    env: BEAKER_set="debian-6-x86_64-docker"
     bundler_args:
-    script: '[ -z "${OS_AUTH_URL}" -o -z "${OS_USERNAME}" -o -z "${OS_PASSWORD}" -o -z "${OS_TENANT_NAME}" ] || bundle exec rspec spec/acceptance/*_spec.rb'
-  - env: BEAKER_set="debian-7-x86_64-openstack"
+    script: bundle exec rspec spec/acceptance/*_spec.rb
+  - rvm: default
+    sudo: required
+    services: docker
+    env: BEAKER_set="debian-7-x86_64-docker"
     bundler_args:
-    script: '[ -z "${OS_AUTH_URL}" -o -z "${OS_USERNAME}" -o -z "${OS_PASSWORD}" -o -z "${OS_TENANT_NAME}" ] || bundle exec rspec spec/acceptance/*_spec.rb'
-  - env: BEAKER_set="debian-8-x86_64-openstack"
+    script: bundle exec rspec spec/acceptance/*_spec.rb
+  - rvm: default
+    sudo: required
+    services: docker
+    env: BEAKER_set="debian-8-x86_64-docker"
     bundler_args:
-    script: '[ -z "${OS_AUTH_URL}" -o -z "${OS_USERNAME}" -o -z "${OS_PASSWORD}" -o -z "${OS_TENANT_NAME}" ] || bundle exec rspec spec/acceptance/*_spec.rb'
-  - env: BEAKER_set="ubuntu-12.04-x86_64-openstack"
+    script: bundle exec rspec spec/acceptance/*_spec.rb
+  - rvm: default
+    sudo: required
+    services: docker
+    env: BEAKER_set="ubuntu-12.04-x86_64-docker"
     bundler_args:
-    script: '[ -z "${OS_AUTH_URL}" -o -z "${OS_USERNAME}" -o -z "${OS_PASSWORD}" -o -z "${OS_TENANT_NAME}" ] || bundle exec rspec spec/acceptance/*_spec.rb'
-  - env: BEAKER_set="ubuntu-14.04-x86_64-openstack"
+    script: bundle exec rspec spec/acceptance/*_spec.rb
+  - rvm: default
+    sudo: required
+    services: docker
+    env: BEAKER_set="ubuntu-14.04-x86_64-docker"
     bundler_args:
-    script: '[ -z "${OS_AUTH_URL}" -o -z "${OS_USERNAME}" -o -z "${OS_PASSWORD}" -o -z "${OS_TENANT_NAME}" ] || bundle exec rspec spec/acceptance/*_spec.rb'
-  - env: BEAKER_set="centos-6-x86_64-openstack"
+    script: bundle exec rspec spec/acceptance/*_spec.rb
+  - rvm: default
+    sudo: required
+    services: docker
+    env: BEAKER_set="centos-6-x86_64-docker"
     bundler_args:
-    script: '[ -z "${OS_AUTH_URL}" -o -z "${OS_USERNAME}" -o -z "${OS_PASSWORD}" -o -z "${OS_TENANT_NAME}" ] || bundle exec rspec spec/acceptance/*_spec.rb'
-  - env: BEAKER_set="centos-7-x86_64-openstack"
+    script: bundle exec rspec spec/acceptance/*_spec.rb
+  - rvm: default
+    sudo: required
+    services: docker
+    env: BEAKER_set="centos-7-x86_64-docker"
     bundler_args:
-    script: '[ -z "${OS_AUTH_URL}" -o -z "${OS_USERNAME}" -o -z "${OS_PASSWORD}" -o -z "${OS_TENANT_NAME}" ] || bundle exec rspec spec/acceptance/*_spec.rb'
+    script: bundle exec rspec spec/acceptance/*_spec.rb
 notifications:
   email: false
 deploy:
diff --git a/spec/acceptance/nodesets/centos-5-x86_64-docker.yml b/spec/acceptance/nodesets/centos-5-x86_64-docker.yml
index d9a52d8..679afb0 100644
--- a/spec/acceptance/nodesets/centos-5-x86_64-docker.yml
+++ b/spec/acceptance/nodesets/centos-5-x86_64-docker.yml
@@ -6,8 +6,10 @@ HOSTS:
     platform: el-5-x86_64
     hypervisor : docker
     image: centos:5
-    # This stops the image from being deleted on completion, speeding up the process.
     docker_preserve_image: true
+    docker_cmd: '["/sbin/init"]'
+    docker_image_commands:
+      - 'yum install -y crontabs tar wget'
 CONFIG:
   type: foss
   log_level: debug
diff --git a/spec/acceptance/nodesets/centos-6-x86_64-docker.yml b/spec/acceptance/nodesets/centos-6-x86_64-docker.yml
index b7a4396..9cab03d 100644
--- a/spec/acceptance/nodesets/centos-6-x86_64-docker.yml
+++ b/spec/acceptance/nodesets/centos-6-x86_64-docker.yml
@@ -6,8 +6,10 @@ HOSTS:
     platform: el-6-x86_64
     hypervisor : docker
     image: centos:6
-    # This stops the image from being deleted on completion, speeding up the process.
     docker_preserve_image: true
+    docker_cmd: '["/sbin/init"]'
+    docker_image_commands:
+      - 'yum install -y crontabs tar wget'
 CONFIG:
   type: foss
   log_level: debug
diff --git a/spec/acceptance/nodesets/centos-7-x86_64-docker.yml b/spec/acceptance/nodesets/centos-7-x86_64-docker.yml
index d891edf..0bc9727 100644
--- a/spec/acceptance/nodesets/centos-7-x86_64-docker.yml
+++ b/spec/acceptance/nodesets/centos-7-x86_64-docker.yml
@@ -6,8 +6,10 @@ HOSTS:
     platform: el-7-x86_64
     hypervisor : docker
     image: centos:7
-    # This stops the image from being deleted on completion, speeding up the process.
     docker_preserve_image: true
+    docker_cmd: '["/usr/sbin/init"]'
+    docker_image_commands:
+      - 'yum install -y crontabs tar wget'
 CONFIG:
   type: foss
   log_level: debug
diff --git a/spec/acceptance/nodesets/debian-6-x86_64-docker.yml b/spec/acceptance/nodesets/debian-6-x86_64-docker.yml
index 685e2b7..359dae7 100644
--- a/spec/acceptance/nodesets/debian-6-x86_64-docker.yml
+++ b/spec/acceptance/nodesets/debian-6-x86_64-docker.yml
@@ -6,8 +6,10 @@ HOSTS:
     platform: debian-6-amd64
     hypervisor : docker
     image: debian:6
-    # This stops the image from being deleted on completion, speeding up the process.
     docker_preserve_image: true
+    docker_cmd: '["/sbin/init"]'
+    docker_image_commands:
+      - 'apt-get install -y wget'
 CONFIG:
   type: foss
   log_level: debug
diff --git a/spec/acceptance/nodesets/debian-7-x86_64-docker.yml b/spec/acceptance/nodesets/debian-7-x86_64-docker.yml
index 0be8845..fc11f57 100644
--- a/spec/acceptance/nodesets/debian-7-x86_64-docker.yml
+++ b/spec/acceptance/nodesets/debian-7-x86_64-docker.yml
@@ -6,8 +6,10 @@ HOSTS:
     platform: debian-7-amd64
     hypervisor : docker
     image: debian:7
-    # This stops the image from being deleted on completion, speeding up the process.
     docker_preserve_image: true
+    docker_cmd: '["/sbin/init"]'
+    docker_image_commands:
+      - 'apt-get install -y cron wget'
 CONFIG:
   type: foss
   log_level: debug
diff --git a/spec/acceptance/nodesets/debian-8-x86_64-docker.yml b/spec/acceptance/nodesets/debian-8-x86_64-docker.yml
index d3b89d9..86a55e1 100644
--- a/spec/acceptance/nodesets/debian-8-x86_64-docker.yml
+++ b/spec/acceptance/nodesets/debian-8-x86_64-docker.yml
@@ -6,8 +6,10 @@ HOSTS:
     platform: debian-8-amd64
     hypervisor : docker
     image: debian:8
-    # This stops the image from being deleted on completion, speeding up the process.
     docker_preserve_image: true
+    docker_cmd: '["/sbin/init"]'
+    docker_image_commands:
+      - 'apt-get install -y cron wget'
 CONFIG:
   type: foss
   log_level: debug
diff --git a/spec/acceptance/nodesets/ubuntu-12.04-x86_64-docker.yml b/spec/acceptance/nodesets/ubuntu-12.04-x86_64-docker.yml
index 92a7901..f0ec72b 100644
--- a/spec/acceptance/nodesets/ubuntu-12.04-x86_64-docker.yml
+++ b/spec/acceptance/nodesets/ubuntu-12.04-x86_64-docker.yml
@@ -6,8 +6,10 @@ HOSTS:
     platform: ubuntu-12.04-amd64
     hypervisor : docker
     image: ubuntu:12.04
-    # This stops the image from being deleted on completion, speeding up the process.
     docker_preserve_image: true
+    docker_cmd: '["/sbin/init"]'
+    docker_image_commands:
+      - 'apt-get install -y wget'
 CONFIG:
   type: foss
   log_level: debug
diff --git a/spec/acceptance/nodesets/ubuntu-14.04-x86_64-docker.yml b/spec/acceptance/nodesets/ubuntu-14.04-x86_64-docker.yml
index 7716f94..6fb9281 100644
--- a/spec/acceptance/nodesets/ubuntu-14.04-x86_64-docker.yml
+++ b/spec/acceptance/nodesets/ubuntu-14.04-x86_64-docker.yml
@@ -6,8 +6,10 @@ HOSTS:
     platform: ubuntu-14.04-amd64
     hypervisor : docker
     image: ubuntu:14.04
-    # This stops the image from being deleted on completion, speeding up the process.
     docker_preserve_image: true
+    docker_cmd: '["/sbin/init"]'
+    docker_image_commands:
+      - 'apt-get install -y wget'
 CONFIG:
   type: foss
   log_level: debug
diff --git a/spec/acceptance/nodesets/ubuntu-14.10-x86_64-docker.yml b/spec/acceptance/nodesets/ubuntu-14.10-x86_64-docker.yml
index 256b004..2be425c 100644
--- a/spec/acceptance/nodesets/ubuntu-14.10-x86_64-docker.yml
+++ b/spec/acceptance/nodesets/ubuntu-14.10-x86_64-docker.yml
@@ -6,8 +6,10 @@ HOSTS:
     platform: ubuntu-14.10-amd64
     hypervisor : docker
     image: ubuntu:14.10
-    # This stops the image from being deleted on completion, speeding up the process.
     docker_preserve_image: true
+    docker_cmd: '["/sbin/init"]'
+    docker_image_commands:
+      - 'apt-get install -y wget'
 CONFIG:
   type: foss
   log_level: debug
diff --git a/spec/acceptance/nodesets/ubuntu-15.04-x86_64-docker.yml b/spec/acceptance/nodesets/ubuntu-15.04-x86_64-docker.yml
index 800da28..caed722 100644
--- a/spec/acceptance/nodesets/ubuntu-15.04-x86_64-docker.yml
+++ b/spec/acceptance/nodesets/ubuntu-15.04-x86_64-docker.yml
@@ -6,8 +6,10 @@ HOSTS:
     platform: ubuntu-15.04-amd64
     hypervisor : docker
     image: ubuntu:15.04
-    # This stops the image from being deleted on completion, speeding up the process.
     docker_preserve_image: true
+    docker_cmd: '["/sbin/init"]'
+    docker_image_commands:
+      - 'apt-get install -y wget'
 CONFIG:
   type: foss
   log_level: debug
-- 
GitLab