Skip to content

Commit 3739509

Browse files
committed
add Puppetserver 5.x upgrade test
1 parent 659253d commit 3739509

File tree

1 file changed

+90
-0
lines changed

1 file changed

+90
-0
lines changed
Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
require 'spec_helper_acceptance'
2+
3+
describe 'Scenario: 5.1.3 to 5.3.6 upgrade:', if: ENV['BEAKER_PUPPET_COLLECTION'] == 'puppet5' && fact('lsbdistcodename') != 'bionic' do
4+
before(:context) do
5+
if check_for_package(default, 'puppetserver')
6+
on default, puppet('resource package puppetserver ensure=purged')
7+
on default, 'rm -rf /etc/sysconfig/puppetserver /etc/puppetlabs/puppetserver'
8+
on default, 'rm -rf /etc/puppetlabs/puppet/ssl'
9+
end
10+
11+
# puppetserver won't start with lower than 2GB memory
12+
memoryfree_mb = fact('memoryfree_mb').to_i
13+
raise 'At least 2048MB free memory required' if memoryfree_mb < 256
14+
end
15+
16+
case fact('osfamily')
17+
when 'Debian'
18+
from_version = "5.1.3-1#{fact('lsbdistcodename')}"
19+
to_version = "5.3.6-1#{fact('lsbdistcodename')}"
20+
else
21+
from_version = '5.1.3'
22+
to_version = '5.3.6'
23+
end
24+
25+
context 'install 5.1.3' do
26+
let(:pp) do
27+
<<-EOS
28+
class { '::puppet':
29+
server => true,
30+
server_foreman => false,
31+
server_reports => 'store',
32+
server_external_nodes => '',
33+
server_version => '#{from_version}',
34+
# only for install test - don't think to use this in production!
35+
# https://docs.puppet.com/puppetserver/latest/tuning_guide.html
36+
server_jvm_max_heap_size => '256m',
37+
server_jvm_min_heap_size => '256m',
38+
}
39+
EOS
40+
end
41+
42+
it_behaves_like 'a idempotent resource'
43+
44+
describe command('puppetserver --version') do
45+
its(:stdout) { is_expected.to match("puppetserver version: 5.1.3\n") }
46+
end
47+
48+
describe service('puppetserver') do
49+
it { is_expected.to be_enabled }
50+
it { is_expected.to be_running }
51+
end
52+
53+
describe port('8140') do
54+
it { is_expected.to be_listening }
55+
end
56+
end
57+
58+
context 'upgrade to 5.3.6' do
59+
let(:pp) do
60+
<<-EOS
61+
class { '::puppet':
62+
server => true,
63+
server_foreman => false,
64+
server_reports => 'store',
65+
server_external_nodes => '',
66+
server_version => '#{to_version}',
67+
# only for install test - don't think to use this in production!
68+
# https://docs.puppet.com/puppetserver/latest/tuning_guide.html
69+
server_jvm_max_heap_size => '256m',
70+
server_jvm_min_heap_size => '256m',
71+
}
72+
EOS
73+
end
74+
75+
it_behaves_like 'a idempotent resource'
76+
77+
describe command('puppetserver --version') do
78+
its(:stdout) { is_expected.to match("puppetserver version: 5.3.6\n") }
79+
end
80+
81+
describe service('puppetserver') do
82+
it { is_expected.to be_enabled }
83+
it { is_expected.to be_running }
84+
end
85+
86+
describe port('8140') do
87+
it { is_expected.to be_listening }
88+
end
89+
end
90+
end

0 commit comments

Comments
 (0)