From 1b8e39911c49dd5bf9331d66ccc3b56dbee7b9bb Mon Sep 17 00:00:00 2001 From: Julien Pivotto Date: Tue, 14 Jun 2016 13:06:25 +0200 Subject: [PATCH] Docker Beaker Signed-off-by: Julien Pivotto --- .travis.yml | 18 +++++++++++++++++- spec/acceptance/nodesets/docker/centos-7.yml | 15 +++++++++++++++ .../nodesets/docker/ubuntu-14.04.yml | 15 +++++++++++++++ spec/spec_helper_acceptance.rb | 8 +++++++- 4 files changed, 54 insertions(+), 2 deletions(-) create mode 100644 spec/acceptance/nodesets/docker/centos-7.yml create mode 100644 spec/acceptance/nodesets/docker/ubuntu-14.04.yml diff --git a/.travis.yml b/.travis.yml index 19a34042..739d5c62 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,7 +2,7 @@ sudo: false language: ruby cache: bundler -bundler_args: --without system_tests development +bundler_args: --without development before_install: - bundle -v - rm Gemfile.lock || true @@ -29,6 +29,22 @@ matrix: env: PUPPET_VERSION="~> 4.0" STRICT_VARIABLES="yes" CHECK=rubocop - rvm: 2.3.1 env: PUPPET_VERSION="~> 4.0" STRICT_VARIABLES="yes" CHECK=test + - rvm: 2.1 + env: PUPPET_VERSION="~> 3.0" STRICT_VARIABLES="yes" CHECK=acceptance BEAKER_debug=true BEAKER_set=docker/centos-7 PUPPET_INSTALL_TYPE=foss PUPPET_INSTALL_VERSION=3.8.7 + services: docker + sudo: required + - rvm: 2.1 + env: PUPPET_VERSION="~> 3.0" STRICT_VARIABLES="yes" CHECK=acceptance BEAKER_debug=true BEAKER_set=docker/ubuntu-14.04 PUPPET_INSTALL_TYPE=foss PUPPET_INSTALL_VERSION=3.8.7 + services: docker + sudo: required + - rvm: 2.3.1 + env: PUPPET_VERSION="~> 4.0" STRICT_VARIABLES="yes" CHECK=acceptance BEAKER_debug=true BEAKER_set=docker/centos-7 PUPPET_INSTALL_TYPE=agent PUPPET_INSTALL_VERSION=1.5.1 + services: docker + sudo: required + - rvm: 2.3.1 + env: PUPPET_VERSION="~> 4.0" STRICT_VARIABLES="yes" CHECK=acceptance BEAKER_debug=true BEAKER_set=docker/ubuntu-14.04 PUPPET_INSTALL_TYPE=agent PUPPET_INSTALL_VERSION=1.5.1 + services: docker + sudo: required notifications: email: false deploy: diff --git a/spec/acceptance/nodesets/docker/centos-7.yml b/spec/acceptance/nodesets/docker/centos-7.yml new file mode 100644 index 00000000..fc9128b8 --- /dev/null +++ b/spec/acceptance/nodesets/docker/centos-7.yml @@ -0,0 +1,15 @@ +# This file comes from puppetlabs-apache, and is released under the apache-2.0 licence +# https://github.com/puppetlabs/modulesync_configs/blob/master/moduleroot/spec/acceptance/nodesets/docker/centos-7.yml +HOSTS: + centos-7-x64: + platform: el-7-x86_64 + hypervisor: docker + image: centos:7 + docker_preserve_image: true + docker_cmd: '["/usr/sbin/init"]' + # install various tools required to get the image up to usable levels + docker_image_commands: + - 'yum install -y crontabs tar wget openssl sysvinit-tools iproute which initscripts' +CONFIG: + trace_limit: 200 + masterless: true diff --git a/spec/acceptance/nodesets/docker/ubuntu-14.04.yml b/spec/acceptance/nodesets/docker/ubuntu-14.04.yml new file mode 100644 index 00000000..e401ce3c --- /dev/null +++ b/spec/acceptance/nodesets/docker/ubuntu-14.04.yml @@ -0,0 +1,15 @@ +# This file comes from puppetlabs-apache, and is released under the apache-2.0 licence +# https://github.com/puppetlabs/modulesync_configs/blob/master/moduleroot/spec/acceptance/nodesets/docker/ubuntu-14.04.yml.yml +HOSTS: + ubuntu-1404-x64: + platform: ubuntu-14.04-amd64 + hypervisor: docker + image: ubuntu:14.04 + docker_preserve_image: true + docker_cmd: '["/sbin/init"]' + docker_image_commands: + # ensure that upstart is booting correctly in the container + - 'rm /usr/sbin/policy-rc.d && rm /sbin/initctl && dpkg-divert --rename --remove /sbin/initctl && apt-get update && apt-get install -y net-tools wget && locale-gen en_US.UTF-8' +CONFIG: + trace_limit: 200 + masterless: true diff --git a/spec/spec_helper_acceptance.rb b/spec/spec_helper_acceptance.rb index 3bd3dbe3..33dd0638 100644 --- a/spec/spec_helper_acceptance.rb +++ b/spec/spec_helper_acceptance.rb @@ -26,7 +26,13 @@ default[:default_apply_opts][:parser] = 'future' end - copy_root_module_to(default, source: proj_root, module_name: 'corosync') + puppet_version = get_puppet_version + if Puppet::Util::Package.versioncmp(puppet_version, '4.0.0') < 0 + copy_root_module_to(default, source: proj_root, module_name: 'corosync', target_module_path: '/etc/puppet/modules') + else + copy_root_module_to(default, source: proj_root, module_name: 'corosync') + end + hosts.each do |host| on host, puppet('module', 'install', 'puppetlabs-stdlib'), acceptable_exit_codes: [0, 1] end