beaker-puppet 1.26.2 → 1.26.3
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1ddf260f1365a694a4791a21c2cd092060761522580f8593d60270b66962f162
|
4
|
+
data.tar.gz: b84a11230d1299429b675867da24eb6c7f7a149ea57bb2bb4fca90c1d334e9a1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d049d0a4e1f359bee3603a04ecc614eaa305ab267015563f1f4778dde61f1039c9ee806488bfb16bb51eda637b1636e1a5e69464a6cb7529c3ab62f4423f49aa
|
7
|
+
data.tar.gz: 15d54d265e21079dec535f764dff3583eb29b16933d3e9f20b35b73fda29f45660fdeb7804680423bbe5c24eba30c2474be0eef77f2e08da6a7a461af3137626
|
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,14 @@
|
|
2
2
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
4
4
|
|
5
|
+
## [1.26.3](https://github.com/voxpupuli/beaker-puppet/tree/1.26.3) (2022-07-27)
|
6
|
+
|
7
|
+
[Full Changelog](https://github.com/voxpupuli/beaker-puppet/compare/1.26.2...1.26.3)
|
8
|
+
|
9
|
+
**Fixed bugs:**
|
10
|
+
|
11
|
+
- Actually print the versions.txt file [\#193](https://github.com/voxpupuli/beaker-puppet/pull/193) ([joshcooper](https://github.com/joshcooper))
|
12
|
+
|
5
13
|
## [1.26.2](https://github.com/voxpupuli/beaker-puppet/tree/1.26.2) (2022-05-31)
|
6
14
|
|
7
15
|
[Full Changelog](https://github.com/voxpupuli/beaker-puppet/compare/1.26.1...1.26.2)
|
@@ -177,11 +177,13 @@ module Beaker
|
|
177
177
|
# emit the misc/versions.txt file which contains component versions for
|
178
178
|
# puppet, facter, hiera, pxp-agent, packaging and vendored Ruby
|
179
179
|
[
|
180
|
-
'
|
181
|
-
'
|
180
|
+
"'%PROGRAMFILES%\\Puppet Labs\\puppet\\misc\\versions.txt'",
|
181
|
+
"'%PROGRAMFILES(X86)%\\Puppet Labs\\puppet\\misc\\versions.txt'",
|
182
182
|
].each do |path|
|
183
|
-
|
184
|
-
|
183
|
+
result = on(host, "cmd /c type #{path}", :accept_all_exit_codes => true)
|
184
|
+
if result.exit_code == 0
|
185
|
+
logger.info(result.stdout)
|
186
|
+
break
|
185
187
|
end
|
186
188
|
end
|
187
189
|
end
|
@@ -153,7 +153,9 @@ describe ClassMixedWithDSLInstallUtils do
|
|
153
153
|
|
154
154
|
describe '#puppet_collection_for' do
|
155
155
|
it 'raises an error when given an invalid package' do
|
156
|
-
expect {
|
156
|
+
expect {
|
157
|
+
subject.puppet_collection_for(:foo, '5.5.4')
|
158
|
+
}.to raise_error(RuntimeError, /package must be one of puppet_agent, puppet, puppetserver/)
|
157
159
|
end
|
158
160
|
|
159
161
|
context 'when the :puppet_agent package is passed in' do
|
@@ -26,31 +26,45 @@ describe ClassMixedWithDSLInstallUtils do
|
|
26
26
|
:is_cygwin => 'false' } ) }
|
27
27
|
let(:hosts) { [ winhost, winhost_non_cygwin ] }
|
28
28
|
|
29
|
-
def expect_install_called
|
30
|
-
result =
|
31
|
-
|
32
|
-
.exactly( times ).times
|
29
|
+
def expect_install_called
|
30
|
+
result = Beaker::Result.new(nil, 'temp')
|
31
|
+
result.exit_code = 0
|
33
32
|
|
34
|
-
|
33
|
+
hosts.each do |host|
|
34
|
+
expectation = expect(subject).to receive(:on).with(host, having_attributes(command: "\"#{batch_path}\""), anything).and_return(result)
|
35
|
+
if block_given?
|
36
|
+
should_break = yield expectation
|
37
|
+
break if should_break
|
38
|
+
end
|
39
|
+
end
|
35
40
|
end
|
36
41
|
|
37
|
-
def expect_status_called(
|
38
|
-
|
39
|
-
|
40
|
-
|
42
|
+
def expect_status_called(start_type = 'DEMAND_START')
|
43
|
+
result = Beaker::Result.new(nil, 'temp')
|
44
|
+
result.exit_code = 0
|
45
|
+
result.stdout = case start_type
|
46
|
+
when 'DISABLED'
|
47
|
+
" START_TYPE : 4 DISABLED"
|
48
|
+
when 'AUTOMATIC'
|
49
|
+
" START_TYPE : 2 AUTO_START"
|
50
|
+
else # 'DEMAND_START'
|
51
|
+
" START_TYPE : 3 DEMAND_START"
|
52
|
+
end
|
53
|
+
|
54
|
+
hosts.each do |host|
|
55
|
+
expect(subject).to receive(:on).with(host, having_attributes(command: "sc qc puppet || sc qc pe-puppet")).and_yield(result)
|
56
|
+
end
|
41
57
|
end
|
42
58
|
|
43
59
|
def expect_version_log_called(times = hosts.length)
|
44
|
-
path = %
|
60
|
+
path = "'%PROGRAMFILES%\\Puppet Labs\\puppet\\misc\\versions.txt'"
|
45
61
|
|
46
|
-
|
47
|
-
|
48
|
-
.exactly( times ).times
|
49
|
-
.and_return(true)
|
62
|
+
result = Beaker::Result.new(nil, 'temp')
|
63
|
+
result.exit_code = 0
|
50
64
|
|
51
|
-
|
52
|
-
.with(
|
53
|
-
|
65
|
+
hosts.each do |host|
|
66
|
+
expect(subject).to receive(:on).with(host, "cmd /c type #{path}", anything).and_return(result)
|
67
|
+
end
|
54
68
|
end
|
55
69
|
|
56
70
|
def expect_script_matches(hosts, contents)
|
@@ -68,30 +82,43 @@ describe ClassMixedWithDSLInstallUtils do
|
|
68
82
|
expect(host).to receive(:is_x86_64?).and_return(:true)
|
69
83
|
end
|
70
84
|
|
71
|
-
|
72
|
-
.
|
73
|
-
|
85
|
+
hosts.each do |host|
|
86
|
+
expect(subject).to receive(:on)
|
87
|
+
.with(host, having_attributes(command: %r{reg query "HKLM\\SOFTWARE\\Wow6432Node\\Puppet Labs\\PuppetInstaller}))
|
88
|
+
end
|
74
89
|
end
|
75
90
|
|
76
|
-
def expect_puppet_path_called
|
77
|
-
|
78
|
-
|
79
|
-
|
91
|
+
def expect_puppet_path_called
|
92
|
+
hosts.each do |host|
|
93
|
+
next if host.is_cygwin?
|
94
|
+
|
95
|
+
result = Beaker::Result.new(nil, 'temp')
|
96
|
+
result.exit_code = 0
|
97
|
+
|
98
|
+
expect(subject).to receive(:on)
|
99
|
+
.with(host, having_attributes(command: 'puppet -h'), anything)
|
100
|
+
.and_return(result)
|
101
|
+
end
|
80
102
|
end
|
81
103
|
|
82
104
|
describe "#install_msi_on" do
|
83
105
|
let( :log_file ) { '/fake/log/file.log' }
|
84
106
|
|
85
107
|
before :each do
|
86
|
-
|
87
|
-
|
108
|
+
result = Beaker::Result.new(nil, 'temp')
|
109
|
+
result.exit_code = 0
|
110
|
+
|
111
|
+
hosts.each do |host|
|
112
|
+
allow(subject).to receive(:on)
|
113
|
+
.with(host, having_attributes(command: "\"#{batch_path}\""))
|
114
|
+
.and_return(result)
|
115
|
+
end
|
88
116
|
|
89
|
-
allow( subject ).to receive( :on ).and_return( exit_code_result )
|
90
117
|
allow( subject ).to receive( :file_exists_on ).and_return(true)
|
91
118
|
allow( subject ).to receive( :create_install_msi_batch_on ).and_return( [batch_path, log_file] )
|
92
119
|
end
|
93
120
|
|
94
|
-
it "will specify a PUPPET_AGENT_STARTUP_MODE of Manual
|
121
|
+
it "will specify a PUPPET_AGENT_STARTUP_MODE of Manual by default" do
|
95
122
|
expect_install_called
|
96
123
|
expect_puppet_path_called
|
97
124
|
expect_status_called
|
@@ -103,10 +130,10 @@ describe ClassMixedWithDSLInstallUtils do
|
|
103
130
|
subject.install_msi_on(hosts, msi_path, {})
|
104
131
|
end
|
105
132
|
|
106
|
-
it "allows configuration of PUPPET_AGENT_STARTUP_MODE" do
|
133
|
+
it "allows configuration of PUPPET_AGENT_STARTUP_MODE to Automatic" do
|
107
134
|
expect_install_called
|
108
135
|
expect_puppet_path_called
|
109
|
-
expect_status_called
|
136
|
+
expect_status_called('AUTOMATIC')
|
110
137
|
expect_reg_query_called
|
111
138
|
expect_version_log_called
|
112
139
|
value = 'Automatic'
|
@@ -116,6 +143,19 @@ describe ClassMixedWithDSLInstallUtils do
|
|
116
143
|
subject.install_msi_on(hosts, msi_path, {'PUPPET_AGENT_STARTUP_MODE' => value})
|
117
144
|
end
|
118
145
|
|
146
|
+
it "allows configuration of PUPPET_AGENT_STARTUP_MODE to Disabled" do
|
147
|
+
expect_install_called
|
148
|
+
expect_puppet_path_called
|
149
|
+
expect_status_called('DISABLED')
|
150
|
+
expect_reg_query_called
|
151
|
+
expect_version_log_called
|
152
|
+
value = 'Disabled'
|
153
|
+
expect( subject ).to receive( :create_install_msi_batch_on ).with(
|
154
|
+
anything, anything,
|
155
|
+
{'PUPPET_AGENT_STARTUP_MODE' => value})
|
156
|
+
subject.install_msi_on(hosts, msi_path, {'PUPPET_AGENT_STARTUP_MODE' => value})
|
157
|
+
end
|
158
|
+
|
119
159
|
it "will not generate a command to emit a log file without the :debug option set" do
|
120
160
|
expect_install_called
|
121
161
|
expect_puppet_path_called
|
@@ -130,13 +170,15 @@ describe ClassMixedWithDSLInstallUtils do
|
|
130
170
|
|
131
171
|
it "will generate a command to emit a log file when the install script fails" do
|
132
172
|
# note a single failure aborts executing against remaining hosts
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
173
|
+
expect_install_called do |e|
|
174
|
+
e.and_raise
|
175
|
+
true # break
|
176
|
+
end
|
137
177
|
|
138
178
|
expect( subject ).to receive( :file_contents_on ).with(anything, log_file)
|
139
|
-
expect {
|
179
|
+
expect {
|
180
|
+
subject.install_msi_on(hosts, msi_path)
|
181
|
+
}.to raise_error(RuntimeError)
|
140
182
|
end
|
141
183
|
|
142
184
|
it "will generate a command to emit a log file with the :debug option set" do
|
@@ -146,7 +188,7 @@ describe ClassMixedWithDSLInstallUtils do
|
|
146
188
|
expect_status_called
|
147
189
|
expect_version_log_called
|
148
190
|
|
149
|
-
expect( subject ).to receive( :file_contents_on ).with(anything, log_file).
|
191
|
+
expect( subject ).to receive( :file_contents_on ).with(anything, log_file).exactly(hosts.length).times
|
150
192
|
|
151
193
|
subject.install_msi_on(hosts, msi_path, {}, { :debug => true })
|
152
194
|
end
|
@@ -171,13 +213,12 @@ describe ClassMixedWithDSLInstallUtils do
|
|
171
213
|
|
172
214
|
hosts.each do |host|
|
173
215
|
expect(host).to receive(:is_x86_64?).and_return(true)
|
174
|
-
end
|
175
216
|
|
176
|
-
|
177
|
-
.with('reg query "HKLM\\SOFTWARE\\Wow6432Node\\Puppet Labs\\PuppetInstaller" /v "RememberedPuppetAgentStartupMode" | findstr
|
178
|
-
|
217
|
+
expect(subject).to receive(:on)
|
218
|
+
.with(host, having_attributes(command: 'reg query "HKLM\\SOFTWARE\\Wow6432Node\\Puppet Labs\\PuppetInstaller" /v "RememberedPuppetAgentStartupMode" | findstr Manual'))
|
219
|
+
end
|
179
220
|
|
180
|
-
subject.install_msi_on(hosts, msi_path, {'PUPPET_AGENT_STARTUP_MODE' => "
|
221
|
+
subject.install_msi_on(hosts, msi_path, {'PUPPET_AGENT_STARTUP_MODE' => "Manual"})
|
181
222
|
end
|
182
223
|
|
183
224
|
it 'will omit Wow6432Node in the registry search for remembered startup setting on 32-bit hosts' do
|
@@ -188,13 +229,12 @@ describe ClassMixedWithDSLInstallUtils do
|
|
188
229
|
|
189
230
|
hosts.each do |host|
|
190
231
|
expect(host).to receive(:is_x86_64?).and_return(false)
|
191
|
-
end
|
192
232
|
|
193
|
-
|
194
|
-
|
195
|
-
|
233
|
+
expect(subject).to receive(:on)
|
234
|
+
.with(host, having_attributes(command: 'reg query "HKLM\\SOFTWARE\\Puppet Labs\\PuppetInstaller" /v "RememberedPuppetAgentStartupMode" | findstr Manual'))
|
235
|
+
end
|
196
236
|
|
197
|
-
subject.install_msi_on(hosts, msi_path, {'PUPPET_AGENT_STARTUP_MODE' => "
|
237
|
+
subject.install_msi_on(hosts, msi_path, {'PUPPET_AGENT_STARTUP_MODE' => "Manual"})
|
198
238
|
end
|
199
239
|
end
|
200
240
|
|
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.26.
|
4
|
+
version: 1.26.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Vox Pupuli
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-08-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|