diff --git a/spec/acceptance/puppetserver_config_spec.rb b/spec/acceptance/puppetserver_config_spec.rb deleted file mode 100644 index 1f06aa8..0000000 --- a/spec/acceptance/puppetserver_config_spec.rb +++ /dev/null @@ -1,34 +0,0 @@ -require 'spec_helper_acceptance' - -describe 'Puppetserver config options', unless: unsupported_puppetserver 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 - - describe 'server_max_open_files' do - it_behaves_like 'an idempotent resource' do - let(:manifest) do - <<-MANIFEST - class { 'puppet': - server => true, - server_max_open_files => 32143, - } - MANIFEST - end - end - - # pgrep -f java.*puppetserver would be better. But i cannot get it to work. Shellwords.escape() seems to break something - describe command("grep '^Max open files' /proc/`cat /var/run/puppetlabs/puppetserver/puppetserver.pid`/limits"), :sudo => true do - its(:exit_status) { is_expected.to eq 0 } - its(:stdout) { is_expected.to match %r{^Max open files\s+32143\s+32143\s+files\s*$} } - end - end -end diff --git a/spec/acceptance/puppetserver_latest_spec.rb b/spec/acceptance/puppetserver_latest_spec.rb index db51b4e..1a62502 100644 --- a/spec/acceptance/puppetserver_latest_spec.rb +++ b/spec/acceptance/puppetserver_latest_spec.rb @@ -1,25 +1,56 @@ require 'spec_helper_acceptance' describe 'Scenario: install puppetserver (latest):', unless: unsupported_puppetserver do - before(:context) do + before(:all) 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 - it_behaves_like 'an idempotent resource' do - let(:manifest) do - <<-EOS - class { 'puppet': - server => true, - } - EOS + context 'default options' do + it_behaves_like 'an idempotent resource' do + let(:manifest) do + <<-EOS + class { 'puppet': + server => true, + } + EOS + end + end + end + + describe 'server_max_open_files' do + it_behaves_like 'an idempotent resource' do + let(:manifest) do + <<-MANIFEST + class { 'puppet': + server => true, + server_max_open_files => 32143, + } + + # Puppet 5 + puppet/systemd 3 workaround + if $puppet::server_max_open_files and versioncmp($facts['puppetversion'], '6.1') < 0 { + exec { 'puppetserver-systemctl-daemon-reload': + command => 'systemctl daemon-reload', + refreshonly => true, + path => $facts['path'], + subscribe => File['/etc/systemd/system/puppetserver.service.d/limits.conf'], + } + } + MANIFEST + end + end + + # pgrep -f java.*puppetserver would be better. But i cannot get it to work. Shellwords.escape() seems to break something + describe command("grep '^Max open files' /proc/`cat /var/run/puppetlabs/puppetserver/puppetserver.pid`/limits"), :sudo => true do + its(:exit_status) { is_expected.to eq 0 } + its(:stdout) { is_expected.to match %r{^Max open files\s+32143\s+32143\s+files\s*$} } end end end diff --git a/spec/acceptance/puppetserver_upgrade_6_7_0_to_6_7_2_spec.rb b/spec/acceptance/puppetserver_upgrade_6_7_0_to_6_7_2_spec.rb deleted file mode 100644 index eacdd35..0000000 --- a/spec/acceptance/puppetserver_upgrade_6_7_0_to_6_7_2_spec.rb +++ /dev/null @@ -1,76 +0,0 @@ -require 'spec_helper_acceptance' - -describe 'Scenario: 6.7.0 to 6.7.2 upgrade:', if: ENV['BEAKER_PUPPET_COLLECTION'] == 'puppet6', unless: unsupported_puppetserver 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, 'rm -rf /etc/puppetlabs/puppet/ssl' - end - - # puppetserver won't start with low memory - memoryfree_mb = fact('memoryfree_mb').to_i - raise 'At least 256MB free memory required' if memoryfree_mb < 256 - end - - case fact('osfamily') - when 'Debian' - from_version = "6.7.0-1#{fact('lsbdistcodename')}" - to_version = "6.7.2-1#{fact('lsbdistcodename')}" - else - from_version = '6.7.0' - to_version = '6.7.2' - end - - context 'install 6.7.0' do - it_behaves_like 'an idempotent resource' do - let(:manifest) do - <<-EOS - class { 'puppet': - server => true, - server_version => '#{from_version}', - } - EOS - end - end - - describe command('puppetserver --version') do - its(:stdout) { is_expected.to match("puppetserver version: 6.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 6.7.2' do - it_behaves_like 'an idempotent resource' do - let(:manifest) do - <<-EOS - class { 'puppet': - server => true, - server_version => '#{to_version}', - } - EOS - end - end - - describe command('puppetserver --version') do - its(:stdout) { is_expected.to match("puppetserver version: 6.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 diff --git a/spec/acceptance/puppetserver_upgrade_5_3_6_to_5_3_7_spec.rb b/spec/acceptance/puppetserver_upgrade_spec.rb similarity index 67% rename from spec/acceptance/puppetserver_upgrade_5_3_6_to_5_3_7_spec.rb rename to spec/acceptance/puppetserver_upgrade_spec.rb index 9724f00..fb9b85a 100644 --- a/spec/acceptance/puppetserver_upgrade_5_3_6_to_5_3_7_spec.rb +++ b/spec/acceptance/puppetserver_upgrade_spec.rb @@ -1,76 +1,90 @@ require 'spec_helper_acceptance' -describe 'Scenario: 5.3.6 to 5.3.7 upgrade:', if: ENV['BEAKER_PUPPET_COLLECTION'] == 'puppet5', unless: unsupported_puppetserver do - before(:context) do +describe 'Scenario: minor version upgrade', unless: unsupported_puppetserver do + before(:all) 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, 'rm -rf /etc/puppetlabs/puppet/ssl' end # puppetserver won't start with low memory memoryfree_mb = fact('memoryfree_mb').to_i raise 'At least 256MB free memory required' if memoryfree_mb < 256 end + case ENV['BEAKER_PUPPET_COLLECTION'] + when 'puppet7' + from_version = '7.0.0' + to_version = '7.2.0' + when 'puppet6' + from_version = '6.7.0' + to_version = '6.7.2' + when 'puppet5' + from_version = '5.3.6' + to_version = '5.3.7' + else + raise 'Unsupported Puppet collection' + end + case fact('osfamily') when 'Debian' - from_version = "5.3.6-1#{fact('lsbdistcodename')}" - to_version = "5.3.7-1#{fact('lsbdistcodename')}" + from_version_exact = "#{from_version}-1#{fact('lsbdistcodename')}" + to_version_exact = "#{to_version}-1#{fact('lsbdistcodename')}" else - from_version = '5.3.6' - to_version = '5.3.7' + from_version_exact = from_version + to_version_exact = to_version end - context 'install 5.3.6' do + context "install #{from_version}" do it_behaves_like 'an idempotent resource' do let(:manifest) do <<-EOS class { 'puppet': server => true, - server_version => '#{from_version}', + server_version => '#{from_version_exact}', } EOS end end describe command('puppetserver --version') do - its(:stdout) { is_expected.to match("puppetserver version: 5.3.6\n") } + its(:stdout) { is_expected.to match("puppetserver version: #{from_version}\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 5.3.7' do + context "upgrade to #{to_version}" do it_behaves_like 'an idempotent resource' do let(:manifest) do <<-EOS class { 'puppet': server => true, - server_version => '#{to_version}', + server_version => '#{to_version_exact}', } EOS end end describe command('puppetserver --version') do - its(:stdout) { is_expected.to match("puppetserver version: 5.3.7\n") } + its(:stdout) { is_expected.to match("puppetserver version: #{to_version}\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