beaker-puppet 1.18.12 → 1.18.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/beaker-puppet/install_utils/puppet5.rb +2 -3
- data/lib/beaker-puppet/install_utils/puppet_utils.rb +0 -2
- data/lib/beaker-puppet/install_utils/windows_utils.rb +13 -16
- data/lib/beaker-puppet/version.rb +1 -1
- data/spec/beaker-puppet/install_utils/puppet5_spec.rb +8 -23
- data/spec/beaker-puppet/install_utils/windows_utils_spec.rb +9 -26
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 16fa6b2a09e5b987520d65351e9dd34ede8494a3995ea103468118c3cf1ff269
|
|
4
|
+
data.tar.gz: 3e0631f16d941336d5247d7caaa4cf861fcc1d860544df109dbc3eae442d16e0
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 3ee81de0a0526bf05c1546f6b07db7ccf049fd13efa504baefd64ac53b9bb52485c1ce6b431bd143421b080266748a036d8f3147d1b8958d7661a0580839a4df
|
|
7
|
+
data.tar.gz: a8bdb1c26c35d6175bf7bfd8d86761df28828a1eb25dd716b1c2330d6a3af7f9b064bb6a0c360cd2e08fddf6577a37c2a95e2abfb961b5361640cae462c56cdc
|
|
@@ -118,7 +118,7 @@ module Beaker
|
|
|
118
118
|
repoconfig_url = "#{build_url}/#{repoconfig_buildserver_path}" unless repoconfig_buildserver_path.nil?
|
|
119
119
|
artifact_url_correct = link_exists?( artifact_url )
|
|
120
120
|
logger.debug("- artifact url: '#{artifact_url}'. Exists? #{artifact_url_correct}")
|
|
121
|
-
fail_test('artifact url built incorrectly')
|
|
121
|
+
fail_test('artifact url built incorrectly') if !artifact_url_correct
|
|
122
122
|
|
|
123
123
|
return artifact_url, repoconfig_url
|
|
124
124
|
end
|
|
@@ -208,11 +208,10 @@ module Beaker
|
|
|
208
208
|
#
|
|
209
209
|
# @return nil
|
|
210
210
|
def install_from_build_data_url(project_name, sha_yaml_url, local_hosts = nil)
|
|
211
|
-
|
|
211
|
+
if !link_exists?( sha_yaml_url )
|
|
212
212
|
message = <<-EOF
|
|
213
213
|
Unable to locate a downloadable build of #{project_name} (tried #{sha_yaml_url})
|
|
214
214
|
EOF
|
|
215
|
-
|
|
216
215
|
fail_test( message )
|
|
217
216
|
end
|
|
218
217
|
|
|
@@ -46,7 +46,6 @@ module Beaker
|
|
|
46
46
|
if not host.is_powershell?
|
|
47
47
|
separator = ':'
|
|
48
48
|
end
|
|
49
|
-
|
|
50
49
|
path.join(separator)
|
|
51
50
|
end
|
|
52
51
|
|
|
@@ -56,7 +55,6 @@ module Beaker
|
|
|
56
55
|
def add_puppet_paths_on(hosts)
|
|
57
56
|
block_on hosts do | host |
|
|
58
57
|
puppet_path = construct_puppet_path(host)
|
|
59
|
-
|
|
60
58
|
host.add_env_var('PATH', puppet_path)
|
|
61
59
|
host.add_env_var('PATH', 'PATH') # don't destroy the path!
|
|
62
60
|
end
|
|
@@ -120,24 +120,19 @@ exit /B %errorlevel%
|
|
|
120
120
|
begin
|
|
121
121
|
# 1641 = ERROR_SUCCESS_REBOOT_INITIATED
|
|
122
122
|
# 3010 = ERROR_SUCCESS_REBOOT_REQUIRED
|
|
123
|
-
on host, Command.new(
|
|
123
|
+
on host, Command.new("\"#{batch_path}\"", [], { :cmdexe => true }), :acceptable_exit_codes => [0, 1641, 3010]
|
|
124
124
|
rescue
|
|
125
|
-
on host, Command.new(
|
|
125
|
+
on host, Command.new("type \"#{log_file}\"", [], { :cmdexe => true })
|
|
126
126
|
raise
|
|
127
127
|
end
|
|
128
128
|
|
|
129
129
|
if opts[:debug]
|
|
130
|
-
on host, Command.new(
|
|
130
|
+
on host, Command.new("type \"#{log_file}\"", [], { :cmdexe => true })
|
|
131
131
|
end
|
|
132
132
|
|
|
133
133
|
if !host.is_cygwin?
|
|
134
|
-
#
|
|
134
|
+
# HACK: for some reason, post install we need to refresh the connection to make puppet available for execution
|
|
135
135
|
host.close
|
|
136
|
-
|
|
137
|
-
# Some systems require a full reboot to trigger the enabled path
|
|
138
|
-
unless on(host, Command.new('puppet -h', [], { :cmdexe => true}), :accept_all_exit_codes => true).exit_code == 0
|
|
139
|
-
host.reboot
|
|
140
|
-
end
|
|
141
136
|
end
|
|
142
137
|
|
|
143
138
|
# verify service status post install
|
|
@@ -175,10 +170,10 @@ exit /B %errorlevel%
|
|
|
175
170
|
# emit the misc/versions.txt file which contains component versions for
|
|
176
171
|
# puppet, facter, hiera, pxp-agent, packaging and vendored Ruby
|
|
177
172
|
[
|
|
178
|
-
|
|
179
|
-
|
|
173
|
+
"\\\"%ProgramFiles%\\Puppet Labs\\puppet\\misc\\versions.txt\\\"",
|
|
174
|
+
"\\\"%ProgramFiles(x86)%\\Puppet Labs\\puppet\\misc\\versions.txt\\\""
|
|
180
175
|
].each do |path|
|
|
181
|
-
on
|
|
176
|
+
on host, Command.new("\"if exist #{path} type #{path}\"", [], { :cmdexe => true })
|
|
182
177
|
end
|
|
183
178
|
end
|
|
184
179
|
end
|
|
@@ -204,23 +199,25 @@ exit /B %errorlevel%
|
|
|
204
199
|
begin
|
|
205
200
|
# 1641 = ERROR_SUCCESS_REBOOT_INITIATED
|
|
206
201
|
# 3010 = ERROR_SUCCESS_REBOOT_REQUIRED
|
|
207
|
-
on host, Command.new(
|
|
202
|
+
on host, Command.new("\"#{batch_path}\"", [], { :cmdexe => true }), :acceptable_exit_codes => [0, 1641, 3010]
|
|
208
203
|
rescue
|
|
209
|
-
on host, Command.new(
|
|
204
|
+
on host, Command.new("type \"#{log_file}\"", [], { :cmdexe => true })
|
|
210
205
|
raise
|
|
211
206
|
end
|
|
212
207
|
|
|
213
208
|
if opts[:debug]
|
|
214
|
-
on host, Command.new(
|
|
209
|
+
on host, Command.new("type \"#{log_file}\"", [], { :cmdexe => true })
|
|
215
210
|
end
|
|
216
211
|
|
|
217
212
|
if !host.is_cygwin?
|
|
218
213
|
# HACK: for some reason, post install we need to refresh the connection to make puppet available for execution
|
|
219
214
|
host.close
|
|
220
215
|
end
|
|
216
|
+
|
|
221
217
|
end
|
|
222
218
|
end
|
|
219
|
+
|
|
223
220
|
end
|
|
224
221
|
end
|
|
225
222
|
end
|
|
226
|
-
end
|
|
223
|
+
end
|
|
@@ -391,31 +391,16 @@ describe ClassMixedWithDSLInstallUtils do
|
|
|
391
391
|
end
|
|
392
392
|
|
|
393
393
|
describe '#install_puppet_agent_from_dev_builds_on' do
|
|
394
|
-
ref="sha"
|
|
395
|
-
sha_yaml_url="#{Beaker::DSL::Puppet5::DEFAULT_DEV_BUILDS_URL}/puppet-agent/#{ref}/artifacts/#{ref}.yaml"
|
|
396
|
-
|
|
397
|
-
begin
|
|
398
|
-
require 'net/http'
|
|
399
|
-
|
|
400
|
-
Net::HTTP.get(sha_yaml_url)
|
|
401
|
-
rescue
|
|
402
|
-
real_world = true
|
|
403
|
-
end
|
|
404
|
-
|
|
405
394
|
let(:host) { make_host('test_host', { platform: 'el-7-x86_64' }) }
|
|
395
|
+
let(:ref) { "sha" }
|
|
396
|
+
let(:sha_yaml_url) { "#{Beaker::DSL::Puppet5::DEFAULT_DEV_BUILDS_URL}/puppet-agent/#{ref}/artifacts/#{ref}.yaml" }
|
|
406
397
|
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
expect( subject ).to receive(:block_on).with(anything, :run_in_parallel => true)
|
|
414
|
-
allow(subject).to receive(:dev_builds_accessible_on?).and_return(true)
|
|
415
|
-
allow(subject).to receive(:install_from_build_data_url).with('puppet-agent', sha_yaml_url, host)
|
|
416
|
-
subject.install_puppet_agent_from_dev_builds_on(host, ref)
|
|
417
|
-
expect(subject).to have_received(:install_from_build_data_url).with('puppet-agent', sha_yaml_url, host)
|
|
418
|
-
end
|
|
398
|
+
it 'installs puppet-agent from internal builds when they are accessible' do
|
|
399
|
+
expect( subject ).to receive(:block_on).with(anything, :run_in_parallel => true)
|
|
400
|
+
allow(subject).to receive(:dev_builds_accessible_on?).and_return(true)
|
|
401
|
+
allow(subject).to receive(:install_from_build_data_url).with('puppet-agent', sha_yaml_url, host)
|
|
402
|
+
subject.install_puppet_agent_from_dev_builds_on(host, ref)
|
|
403
|
+
expect(subject).to have_received(:install_from_build_data_url).with('puppet-agent', sha_yaml_url, host)
|
|
419
404
|
end
|
|
420
405
|
|
|
421
406
|
it 'fails the test when internal builds are inaccessible' do
|
|
@@ -12,7 +12,7 @@ end
|
|
|
12
12
|
|
|
13
13
|
describe ClassMixedWithDSLInstallUtils do
|
|
14
14
|
let(:windows_temp) { 'C:\\Windows\\Temp' }
|
|
15
|
-
let(:batch_path)
|
|
15
|
+
let( :batch_path ) { '/fake/batch/path' }
|
|
16
16
|
let(:msi_path) { 'c:\\foo\\puppet.msi' }
|
|
17
17
|
let(:winhost) { make_host( 'winhost',
|
|
18
18
|
{ :platform => Beaker::Platform.new('windows-2008r2-64'),
|
|
@@ -42,11 +42,11 @@ describe ClassMixedWithDSLInstallUtils do
|
|
|
42
42
|
|
|
43
43
|
def expect_version_log_called(times = hosts.length)
|
|
44
44
|
[
|
|
45
|
-
%
|
|
46
|
-
%
|
|
45
|
+
"\\\"%ProgramFiles%\\Puppet Labs\\puppet\\misc\\versions.txt\\\"",
|
|
46
|
+
"\\\"%ProgramFiles(x86)%\\Puppet Labs\\puppet\\misc\\versions.txt\\\"",
|
|
47
47
|
].each do |path|
|
|
48
48
|
expect( Beaker::Command ).to receive( :new )
|
|
49
|
-
.with(
|
|
49
|
+
.with( "\"if exist #{path} type #{path}\"", [], {:cmdexe => true} )
|
|
50
50
|
.exactly( times ).times
|
|
51
51
|
end
|
|
52
52
|
end
|
|
@@ -71,25 +71,15 @@ describe ClassMixedWithDSLInstallUtils do
|
|
|
71
71
|
.exactly(times).times
|
|
72
72
|
end
|
|
73
73
|
|
|
74
|
-
def expect_check_puppet_path_called(times = 1)
|
|
75
|
-
expect( Beaker::Command ).to receive( :new )
|
|
76
|
-
.with( 'puppet -h', [], {:cmdexe => true} )
|
|
77
|
-
.exactly( times ).times
|
|
78
|
-
end
|
|
79
|
-
|
|
80
74
|
describe "#install_msi_on" do
|
|
81
75
|
let( :log_file ) { '/fake/log/file.log' }
|
|
82
76
|
before :each do
|
|
83
|
-
|
|
84
|
-
exit_code_result.exit_code = 0
|
|
85
|
-
|
|
86
|
-
allow( subject ).to receive( :on ).and_return( exit_code_result )
|
|
77
|
+
allow( subject ).to receive( :on ).and_return( true )
|
|
87
78
|
allow( subject ).to receive( :create_install_msi_batch_on ).and_return( [batch_path, log_file] )
|
|
88
79
|
end
|
|
89
80
|
|
|
90
81
|
it "will specify a PUPPET_AGENT_STARTUP_MODE of Manual (disabling the service) by default" do
|
|
91
82
|
expect_install_called
|
|
92
|
-
expect_check_puppet_path_called
|
|
93
83
|
expect_status_called
|
|
94
84
|
expect_reg_query_called
|
|
95
85
|
expect_version_log_called
|
|
@@ -101,7 +91,6 @@ describe ClassMixedWithDSLInstallUtils do
|
|
|
101
91
|
|
|
102
92
|
it "allows configuration of PUPPET_AGENT_STARTUP_MODE" do
|
|
103
93
|
expect_install_called
|
|
104
|
-
expect_check_puppet_path_called
|
|
105
94
|
expect_status_called
|
|
106
95
|
expect_reg_query_called
|
|
107
96
|
expect_version_log_called
|
|
@@ -114,9 +103,8 @@ describe ClassMixedWithDSLInstallUtils do
|
|
|
114
103
|
|
|
115
104
|
it "will not generate a command to emit a log file without the :debug option set" do
|
|
116
105
|
expect_install_called
|
|
117
|
-
expect_check_puppet_path_called
|
|
118
106
|
expect_status_called
|
|
119
|
-
expect( Beaker::Command ).not_to receive( :new ).with( /^
|
|
107
|
+
expect( Beaker::Command ).not_to receive( :new ).with( /^type .*\.log$/, [], {:cmdexe => true} )
|
|
120
108
|
subject.install_msi_on(hosts, msi_path)
|
|
121
109
|
end
|
|
122
110
|
|
|
@@ -125,28 +113,25 @@ describe ClassMixedWithDSLInstallUtils do
|
|
|
125
113
|
hosts_affected = 1
|
|
126
114
|
|
|
127
115
|
expect_install_called(hosts_affected) { |e| e.and_raise }
|
|
128
|
-
expect_check_puppet_path_called(0)
|
|
129
116
|
expect_status_called(0)
|
|
130
117
|
|
|
131
|
-
expect( Beaker::Command ).to receive( :new ).with( /^
|
|
118
|
+
expect( Beaker::Command ).to receive( :new ).with( /^type \".*\.log\"$/, [], {:cmdexe => true} ).exactly( hosts_affected ).times
|
|
132
119
|
expect { subject.install_msi_on(hosts, msi_path) }.to raise_error(RuntimeError)
|
|
133
120
|
end
|
|
134
121
|
|
|
135
122
|
it "will generate a command to emit a log file with the :debug option set" do
|
|
136
123
|
expect_install_called
|
|
137
124
|
expect_reg_query_called
|
|
138
|
-
expect_check_puppet_path_called
|
|
139
125
|
expect_status_called
|
|
140
126
|
expect_version_log_called
|
|
141
127
|
|
|
142
|
-
expect( Beaker::Command ).to receive( :new ).with( /^
|
|
128
|
+
expect( Beaker::Command ).to receive( :new ).with( /^type \".*\.log\"$/, [], {:cmdexe => true} ).exactly( hosts.length ).times
|
|
143
129
|
subject.install_msi_on(hosts, msi_path, {}, { :debug => true })
|
|
144
130
|
end
|
|
145
131
|
|
|
146
132
|
it 'will pass msi_path to #create_install_msi_batch_on as-is' do
|
|
147
133
|
expect_install_called
|
|
148
134
|
expect_reg_query_called
|
|
149
|
-
expect_check_puppet_path_called
|
|
150
135
|
expect_status_called
|
|
151
136
|
expect_version_log_called
|
|
152
137
|
test_path = 'test/path'
|
|
@@ -157,7 +142,6 @@ describe ClassMixedWithDSLInstallUtils do
|
|
|
157
142
|
|
|
158
143
|
it 'will search in Wow6432Node for the remembered startup setting on 64-bit hosts' do
|
|
159
144
|
expect_install_called
|
|
160
|
-
expect_check_puppet_path_called
|
|
161
145
|
expect_status_called
|
|
162
146
|
expect_version_log_called
|
|
163
147
|
|
|
@@ -174,7 +158,6 @@ describe ClassMixedWithDSLInstallUtils do
|
|
|
174
158
|
|
|
175
159
|
it 'will omit Wow6432Node in the registry search for remembered startup setting on 32-bit hosts' do
|
|
176
160
|
expect_install_called
|
|
177
|
-
expect_check_puppet_path_called
|
|
178
161
|
expect_status_called
|
|
179
162
|
expect_version_log_called
|
|
180
163
|
|
|
@@ -277,4 +260,4 @@ describe ClassMixedWithDSLInstallUtils do
|
|
|
277
260
|
end
|
|
278
261
|
end
|
|
279
262
|
end
|
|
280
|
-
end
|
|
263
|
+
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: beaker-puppet
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.18.
|
|
4
|
+
version: 1.18.13
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Puppet
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2020-02-
|
|
11
|
+
date: 2020-02-07 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rspec
|