diff --git a/.travis.yml b/.travis.yml index 392ee43..29690ea 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,90 +1,96 @@ --- # This file is managed centrally by modulesync # https://github.com/theforeman/foreman-installer-modulesync rvm: - 2.1.9 - 2.3.0 - 2.4.1 env: matrix: - PUPPET_VERSION=4.9 global: - PARALLEL_TEST_PROCESSORS=8 matrix: fast_finish: true include: - rvm: 2.4.1 env: PUPPET_VERSION=5.0 - rvm: 2.5.1 env: PUPPET_VERSION=5.0 - rvm: 2.5.1 env: PUPPET_VERSION=6.0 # Acceptance tests - rvm: 2.5.1 dist: trusty env: PUPPET_INSTALL_TYPE=agent BEAKER_IS_PE=no BEAKER_PUPPET_COLLECTION=pc1 BEAKER_debug=true BEAKER_setfile=centos7-64{hypervisor=docker\,hostname=centos7-64.example.com} script: bundle exec rake beaker services: docker bundler_args: --without development - rvm: 2.5.1 dist: trusty env: PUPPET_INSTALL_TYPE=agent BEAKER_IS_PE=no BEAKER_PUPPET_COLLECTION=puppet5 BEAKER_debug=true BEAKER_setfile=centos7-64{hypervisor=docker\,hostname=centos7-64.example.com} script: bundle exec rake beaker services: docker bundler_args: --without development - rvm: 2.5.1 dist: trusty env: PUPPET_INSTALL_TYPE=agent BEAKER_IS_PE=no BEAKER_PUPPET_COLLECTION=puppet6 BEAKER_debug=true BEAKER_setfile=centos7-64{hypervisor=docker\,hostname=centos7-64.example.com} script: bundle exec rake beaker services: docker bundler_args: --without development - rvm: 2.5.1 dist: trusty env: PUPPET_INSTALL_TYPE=agent BEAKER_IS_PE=no BEAKER_PUPPET_COLLECTION=pc1 BEAKER_debug=true BEAKER_setfile=centos6-64{hypervisor=docker\,hostname=centos6-64.example.com} script: bundle exec rake beaker services: docker bundler_args: --without development - rvm: 2.5.1 dist: trusty env: PUPPET_INSTALL_TYPE=agent BEAKER_IS_PE=no BEAKER_PUPPET_COLLECTION=puppet5 BEAKER_debug=true BEAKER_setfile=centos6-64{hypervisor=docker\,hostname=centos6-64.example.com} script: bundle exec rake beaker services: docker bundler_args: --without development - rvm: 2.5.1 dist: trusty env: PUPPET_INSTALL_TYPE=agent BEAKER_IS_PE=no BEAKER_PUPPET_COLLECTION=puppet6 BEAKER_debug=true BEAKER_setfile=centos6-64{hypervisor=docker\,hostname=centos6-64.example.com} script: bundle exec rake beaker services: docker bundler_args: --without development - rvm: 2.5.1 dist: trusty env: PUPPET_INSTALL_TYPE=agent BEAKER_IS_PE=no BEAKER_PUPPET_COLLECTION=pc1 BEAKER_debug=true BEAKER_setfile=debian8-64{hypervisor=docker\,hostname=debian8-64.example.com} script: bundle exec rake beaker services: docker bundler_args: --without development - rvm: 2.5.1 dist: trusty env: PUPPET_INSTALL_TYPE=agent BEAKER_IS_PE=no BEAKER_PUPPET_COLLECTION=puppet5 BEAKER_debug=true BEAKER_setfile=debian8-64{hypervisor=docker\,hostname=debian8-64.example.com} script: bundle exec rake beaker services: docker bundler_args: --without development - rvm: 2.5.1 dist: trusty env: PUPPET_INSTALL_TYPE=agent BEAKER_IS_PE=no BEAKER_PUPPET_COLLECTION=puppet6 BEAKER_debug=true BEAKER_setfile=debian8-64{hypervisor=docker\,hostname=debian8-64.example.com} script: bundle exec rake beaker services: docker bundler_args: --without development + - rvm: 2.5.1 + dist: trusty + env: PUPPET_INSTALL_TYPE=agent BEAKER_IS_PE=no BEAKER_PUPPET_COLLECTION=pc1 BEAKER_debug=true BEAKER_setfile=debian9-64{hypervisor=docker\,hostname=debian9-64.example.com} + script: bundle exec rake beaker + services: docker + bundler_args: --without development - rvm: 2.5.1 dist: trusty env: PUPPET_INSTALL_TYPE=agent BEAKER_IS_PE=no BEAKER_PUPPET_COLLECTION=puppet5 BEAKER_debug=true BEAKER_setfile=debian9-64{hypervisor=docker\,hostname=debian9-64.example.com} script: bundle exec rake beaker services: docker bundler_args: --without development - rvm: 2.5.1 dist: trusty env: PUPPET_INSTALL_TYPE=agent BEAKER_IS_PE=no BEAKER_PUPPET_COLLECTION=puppet6 BEAKER_debug=true BEAKER_setfile=debian9-64{hypervisor=docker\,hostname=debian9-64.example.com} script: bundle exec rake beaker services: docker bundler_args: --without development bundler_args: --without system_tests development sudo: false diff --git a/spec/acceptance/puppetserver_latest_spec.rb b/spec/acceptance/puppetserver_latest_spec.rb index 6e4275e..f9b03ac 100644 --- a/spec/acceptance/puppetserver_latest_spec.rb +++ b/spec/acceptance/puppetserver_latest_spec.rb @@ -1,37 +1,37 @@ require 'spec_helper_acceptance' -describe 'Scenario: install puppetserver (latest):' do +describe 'Scenario: install puppetserver (latest):', unless: ENV['BEAKER_PUPPET_COLLECTION'] == 'pc1' && fact('lsbdistcodename') == 'stretch' do before(:context) do if fact('lsbdistcodename') == 'jessie' && ENV['BEAKER_PUPPET_COLLECTION'] != 'pc1' on default, "echo 'deb http://deb.debian.org/debian jessie-backports main' >/etc/apt/sources.list.d/backports.list" on default, 'apt update' on default, 'apt -y -t jessie-backports install openjdk-8-jdk-headless' end if check_for_package(default, 'puppetserver') on default, puppet('resource package puppetserver ensure=purged') on default, 'rm -rf /etc/sysconfig/puppetserver /etc/puppetlabs/puppetserver' on default, 'find /etc/puppetlabs/puppet/ssl/ -type f -delete' end # puppetserver won't start with lower than 2GB memory memoryfree_mb = fact('memoryfree_mb').to_i raise 'At least 2048MB free memory required' if memoryfree_mb < 256 end let(:pp) do <<-EOS class { '::puppet': server => true, server_foreman => false, server_reports => 'store', server_external_nodes => '', # only for install test - don't think to use this in production! # https://docs.puppet.com/puppetserver/latest/tuning_guide.html server_jvm_max_heap_size => '256m', server_jvm_min_heap_size => '256m', } EOS end it_behaves_like 'a idempotent resource' end diff --git a/spec/acceptance/puppetserver_upgrade_2_6_0_to_2_7_2_spec.rb b/spec/acceptance/puppetserver_upgrade_2_6_0_to_2_7_2_spec.rb index 29dceef..b7a40d4 100644 --- a/spec/acceptance/puppetserver_upgrade_2_6_0_to_2_7_2_spec.rb +++ b/spec/acceptance/puppetserver_upgrade_2_6_0_to_2_7_2_spec.rb @@ -1,90 +1,90 @@ require 'spec_helper_acceptance' -describe 'Scenario: 2.6.0 to 2.7.2 upgrade:', if: ENV['BEAKER_PUPPET_COLLECTION'] == 'pc1' do +describe 'Scenario: 2.6.0 to 2.7.2 upgrade:', if: ENV['BEAKER_PUPPET_COLLECTION'] == 'pc1' && fact('lsbdistcodename') != 'stretch' do before(:context) do if check_for_package(default, 'puppetserver') on default, puppet('resource package puppetserver ensure=purged') on default, 'rm -rf /etc/sysconfig/puppetserver /etc/puppetlabs/puppetserver' on default, 'find /etc/puppetlabs/puppet/ssl/ -type f -delete' end # puppetserver won't start with lower than 2GB memory memoryfree_mb = fact('memoryfree_mb').to_i raise 'At least 2048MB free memory required' if memoryfree_mb < 256 end case fact('osfamily') when 'Debian' from_version = '2.7.0-1puppetlabs1' to_version = '2.7.2-1puppetlabs1' else from_version = '2.7.0' to_version = '2.7.2' end context 'install 2.7.0' do let(:pp) do <<-EOS class { '::puppet': server => true, server_foreman => false, server_reports => 'store', server_external_nodes => '', server_version => '#{from_version}', # only for install test - don't think to use this in production! # https://docs.puppet.com/puppetserver/latest/tuning_guide.html server_jvm_max_heap_size => '256m', server_jvm_min_heap_size => '256m', } EOS end it_behaves_like 'a idempotent resource' describe command('puppetserver --version') do its(:stdout) { is_expected.to match("puppetserver version: 2.7.0\n") } end describe service('puppetserver') do it { is_expected.to be_enabled } it { is_expected.to be_running } end describe port('8140') do it { is_expected.to be_listening } end end context 'upgrade to 2.7.2' do let(:pp) do <<-EOS class { '::puppet': server => true, server_foreman => false, server_reports => 'store', server_external_nodes => '', server_version => '#{to_version}', # only for install test - don't think to use this in production! # https://docs.puppet.com/puppetserver/latest/tuning_guide.html server_jvm_max_heap_size => '256m', server_jvm_min_heap_size => '256m', } EOS end it_behaves_like 'a idempotent resource' describe command('puppetserver --version') do its(:stdout) { is_expected.to match("puppetserver version: 2.7.2\n") } end describe service('puppetserver') do it { is_expected.to be_enabled } it { is_expected.to be_running } end describe port('8140') do it { is_expected.to be_listening } end end end