beaker-puppet 1.29.0 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/dependabot.yml +9 -0
- data/.github/workflows/release.yml +2 -2
- data/.github/workflows/test.yml +28 -7
- data/.rubocop.yml +5 -0
- data/.rubocop_todo.yml +842 -0
- data/CHANGELOG.md +31 -0
- data/Gemfile +5 -20
- data/Rakefile +64 -169
- data/acceptance/config/acceptance-options.rb +3 -3
- data/acceptance/config/gem/acceptance-options.rb +8 -8
- data/acceptance/config/git/acceptance-options.rb +8 -8
- data/acceptance/config/pkg/acceptance-options.rb +7 -7
- data/acceptance/pre_suite/gem/install.rb +6 -6
- data/acceptance/pre_suite/git/install.rb +22 -22
- data/acceptance/pre_suite/pkg/install.rb +3 -3
- data/acceptance/tests/backwards_compatible.rb +6 -7
- data/acceptance/tests/clone_git_repo_on_test.rb +12 -13
- data/acceptance/tests/create_tmpdir_on_test.rb +13 -9
- data/acceptance/tests/install_smoke_test.rb +5 -4
- data/acceptance/tests/stub_host.rb +11 -10
- data/acceptance/tests/web_helpers_test.rb +11 -10
- data/beaker-puppet.gemspec +16 -23
- data/bin/beaker-puppet +2 -4
- data/lib/beaker-puppet/helpers/facter_helpers.rb +9 -7
- data/lib/beaker-puppet/helpers/host_helpers.rb +10 -7
- data/lib/beaker-puppet/helpers/puppet_helpers.rb +151 -160
- data/lib/beaker-puppet/helpers/rake_helpers.rb +1 -1
- data/lib/beaker-puppet/helpers/tk_helpers.rb +22 -28
- data/lib/beaker-puppet/install_utils/aio_defaults.rb +39 -43
- data/lib/beaker-puppet/install_utils/ezbake_utils.rb +34 -42
- data/lib/beaker-puppet/install_utils/foss_defaults.rb +134 -138
- data/lib/beaker-puppet/install_utils/foss_utils.rb +293 -320
- data/lib/beaker-puppet/install_utils/module_utils.rb +58 -70
- data/lib/beaker-puppet/install_utils/puppet5.rb +30 -35
- data/lib/beaker-puppet/install_utils/puppet_utils.rb +58 -68
- data/lib/beaker-puppet/install_utils/windows_utils.rb +34 -36
- data/lib/beaker-puppet/version.rb +1 -1
- data/lib/beaker-puppet/wrappers.rb +13 -14
- data/lib/beaker-puppet.rb +4 -5
- data/setup/aio/010_Install_Puppet_Agent.rb +5 -6
- data/setup/common/000-delete-puppet-when-none.rb +2 -4
- data/setup/common/003_solaris_cert_fix.rb +74 -70
- data/setup/common/005_redhat_subscription_fix.rb +3 -2
- data/setup/common/011_Install_Puppet_Server.rb +7 -9
- data/setup/common/012_Finalize_Installs.rb +5 -5
- data/setup/common/025_StopFirewall.rb +1 -1
- data/setup/common/030_StopSssd.rb +2 -2
- data/setup/common/040_ValidateSignCert.rb +10 -12
- data/setup/common/045_EnsureMasterStarted.rb +2 -2
- data/setup/gem/010_GemInstall.rb +5 -4
- data/setup/git/000_EnvSetup.rb +48 -48
- data/setup/git/010_TestSetup.rb +13 -12
- data/setup/git/020_PuppetUserAndGroup.rb +3 -2
- data/setup/git/060_InstallModules.rb +14 -14
- data/setup/git/070_InstallCACerts.rb +82 -82
- data/spec/beaker-puppet/helpers/facter_helpers_spec.rb +22 -24
- data/spec/beaker-puppet/helpers/host_helpers_spec.rb +10 -6
- data/spec/beaker-puppet/helpers/puppet_helpers_spec.rb +506 -517
- data/spec/beaker-puppet/helpers/tk_helpers_spec.rb +20 -24
- data/spec/beaker-puppet/install_utils/ezbake_utils_spec.rb +86 -90
- data/spec/beaker-puppet/install_utils/foss_utils_spec.rb +636 -599
- data/spec/beaker-puppet/install_utils/module_utils_spec.rb +125 -116
- data/spec/beaker-puppet/install_utils/puppet5_spec.rb +159 -165
- data/spec/beaker-puppet/install_utils/puppet_utils_spec.rb +92 -77
- data/spec/beaker-puppet/install_utils/windows_utils_spec.rb +101 -89
- data/spec/beaker-puppet/wrappers_spec.rb +10 -10
- data/spec/helpers.rb +85 -91
- data/tasks/ci.rake +171 -179
- metadata +33 -62
- data/setup/common/020_InstallCumulusModules.rb +0 -13
- data/setup/common/021_InstallAristaModuleMasters.rb +0 -12
- data/setup/common/022_InstallAristaModuleAgents.rb +0 -13
data/tasks/ci.rake
CHANGED
@@ -20,121 +20,121 @@ CLEAN.include('*.tar', REPO_CONFIGS_DIR, 'tmp', '.beaker', 'log', 'junit')
|
|
20
20
|
DEFAULT_MASTER_TEST_TARGET = 'redhat7-64m'
|
21
21
|
DEFAULT_TEST_TARGETS = "#{DEFAULT_MASTER_TEST_TARGET}a-windows2012r2-64a"
|
22
22
|
|
23
|
-
USAGE =
|
24
|
-
Usage: bundle exec rake <target> [arguments]
|
23
|
+
USAGE = <<~EOS
|
24
|
+
Usage: bundle exec rake <target> [arguments]
|
25
25
|
|
26
|
-
where <target> is one of:
|
26
|
+
where <target> is one of:
|
27
27
|
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
28
|
+
ci:test:setup
|
29
|
+
ci:test:git
|
30
|
+
ci:test:aio
|
31
|
+
ci:test:gem
|
32
32
|
|
33
|
-
See `bundle exec rake -D <target>` for information about each target. Each rake
|
34
|
-
task accepts the following environment variables:
|
33
|
+
See `bundle exec rake -D <target>` for information about each target. Each rake
|
34
|
+
task accepts the following environment variables:
|
35
35
|
|
36
|
-
REQUIRED
|
37
|
-
--------
|
36
|
+
REQUIRED
|
37
|
+
--------
|
38
38
|
|
39
|
-
SHA:
|
40
|
-
|
41
|
-
|
42
|
-
|
39
|
+
SHA:
|
40
|
+
The git SHA of either the puppet-agent package or component repo must be
|
41
|
+
specified depending on the target. The `git` and `gem` use the component
|
42
|
+
SHA, where as `aio` uses the puppet-agent package SHA.
|
43
43
|
|
44
|
-
OPTIONAL
|
45
|
-
--------
|
44
|
+
OPTIONAL
|
45
|
+
--------
|
46
46
|
|
47
|
-
HOSTS:
|
48
|
-
|
49
|
-
|
47
|
+
HOSTS:
|
48
|
+
The hosts to run against. Must be specified as a path to a file or a
|
49
|
+
beaker-hostgenerator string. Defaults to #{DEFAULT_TEST_TARGETS}.
|
50
50
|
|
51
|
-
|
52
|
-
|
51
|
+
HOSTS=mynodes.yaml
|
52
|
+
HOSTS=redhat7-64ma
|
53
53
|
|
54
|
-
TESTS:
|
55
|
-
|
56
|
-
|
54
|
+
TESTS:
|
55
|
+
A comma-delimited list of files/directories containing tests to run.
|
56
|
+
Defaults to running all tests.
|
57
57
|
|
58
|
-
|
59
|
-
|
58
|
+
TESTS=tests/cycle_detection.rb
|
59
|
+
TESTS=tests/pluginsync,tests/language
|
60
60
|
|
61
|
-
OPTIONS:
|
62
|
-
|
61
|
+
OPTIONS:
|
62
|
+
Additional options to pass to beaker. Defaults to ''.
|
63
63
|
|
64
|
-
|
64
|
+
OPTIONS='--dry-run --no-color'
|
65
65
|
|
66
|
-
BEAKER_HOSTS:
|
67
|
-
|
66
|
+
BEAKER_HOSTS:
|
67
|
+
Same as HOSTS.
|
68
68
|
|
69
|
-
TEST_TARGET:
|
70
|
-
|
71
|
-
|
72
|
-
|
69
|
+
TEST_TARGET:
|
70
|
+
A beaker-hostgenerator string of agent-only hosts to run against.
|
71
|
+
The MASTER_TEST_TARGET host will be added this list. This option is
|
72
|
+
only intended to be used in CI.
|
73
73
|
|
74
|
-
MASTER_TEST_TARGET:
|
75
|
-
|
76
|
-
|
77
|
-
|
74
|
+
MASTER_TEST_TARGET:
|
75
|
+
Override the default master test target. Should only be used with
|
76
|
+
TEST_TARGET, and is only intended to be used in CI. Defaults to
|
77
|
+
#{DEFAULT_MASTER_TEST_TARGET}.
|
78
78
|
|
79
|
-
DEV_BUILDS_URL:
|
80
|
-
|
81
|
-
|
79
|
+
DEV_BUILDS_URL:
|
80
|
+
Override the url where we look for development builds of packages to test.
|
81
|
+
Defaults to https://builds.delivery.puppetlabs.net
|
82
82
|
|
83
|
-
NIGHTLY_BUILDS_URL:
|
84
|
-
|
85
|
-
|
83
|
+
NIGHTLY_BUILDS_URL:
|
84
|
+
Override the url where we look for nightly builds of packages to test.
|
85
|
+
Defaults to https://nightlies.puppet.com
|
86
86
|
|
87
|
-
RELEASE_STREAM
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
87
|
+
RELEASE_STREAM
|
88
|
+
The release stream for the puppet family you want to test. This defaults to 'puppet',
|
89
|
+
which is the current latest release stream. Other options are currently published streams
|
90
|
+
like 'puppet5' or 'puppet6'. This is currently only used when accessing repos on
|
91
|
+
nightlies.puppet.com
|
92
92
|
|
93
|
-
SERVER_VERSION:
|
94
|
-
|
95
|
-
|
96
|
-
|
93
|
+
SERVER_VERSION:
|
94
|
+
The version of puppetserver to test against. This defaults to 'latest' if unset.
|
95
|
+
When it defaults to latest, it will attept to pull packages from NIGHTLY_BUILDS_URL
|
96
|
+
from the RELEASE_STREAM repo.
|
97
97
|
|
98
|
-
FORK:
|
99
|
-
|
100
|
-
|
98
|
+
FORK:
|
99
|
+
Used to build a github url. If unset, this defaults to 'puppetlabs'. This can be used to
|
100
|
+
point acceptance to pull a repo to test from a personal fork.
|
101
101
|
|
102
|
-
$project_FORK:
|
103
|
-
|
104
|
-
|
105
|
-
|
102
|
+
$project_FORK:
|
103
|
+
Similar to FORK, but project specific. If you have only one project (i.e., hiera) that you
|
104
|
+
wanted to test from a different fork then all the others, you could set HIERA_FORK=melissa,
|
105
|
+
you would get back 'https://github.com/melissa/hiera.git'.
|
106
106
|
|
107
|
-
SERVER:
|
108
|
-
|
109
|
-
|
107
|
+
SERVER:
|
108
|
+
Used to build a github url. If unset, this defaults to 'github.com'. This can be used to
|
109
|
+
pull a github repo from a unique server location.
|
110
110
|
|
111
|
-
$project_SERVER:
|
112
|
-
|
113
|
-
|
114
|
-
|
111
|
+
$project_SERVER:
|
112
|
+
Similar to SERVER, but project specific. If you have only one project (i.e., hiera) that you
|
113
|
+
want to pull from a different server then all the others, you could set HIERA_SERVER=192.0.2.1,
|
114
|
+
and you would get back 'https://192.0.2.1/puppetlabs-hiera.git'.
|
115
115
|
|
116
|
-
RUNTIME_BRANCH:
|
117
|
-
|
118
|
-
|
119
|
-
|
116
|
+
RUNTIME_BRANCH:
|
117
|
+
Currently only used with git-based testing. This must correspond to a branch in the
|
118
|
+
puppet-agent repo. We use it to determine the tag of the agent-runtime package that
|
119
|
+
we want. We also use it to construct the agent-runtime archive name (ie agent-runtime-${branch}-${tag})
|
120
120
|
EOS
|
121
121
|
|
122
122
|
namespace :ci do
|
123
|
-
desc
|
123
|
+
desc 'Print usage information'
|
124
124
|
task :help do
|
125
125
|
puts USAGE
|
126
126
|
exit 1
|
127
127
|
end
|
128
128
|
|
129
129
|
task :check_env do
|
130
|
-
sha = ENV
|
130
|
+
sha = ENV.fetch('SHA', nil)
|
131
131
|
case sha
|
132
132
|
when /^\d+\.\d+\.\d+$/
|
133
133
|
# tags are ok
|
134
134
|
when /^[0-9a-f]{40}$/
|
135
135
|
# full SHAs are ok
|
136
136
|
when nil
|
137
|
-
puts
|
137
|
+
puts 'Error: A SHA must be specified'
|
138
138
|
puts "\n"
|
139
139
|
puts USAGE
|
140
140
|
exit 1
|
@@ -146,7 +146,7 @@ namespace :ci do
|
|
146
146
|
end
|
147
147
|
|
148
148
|
if ENV['TESTS'].nil?
|
149
|
-
ENV['TESTS'] ||= ENV
|
149
|
+
ENV['TESTS'] ||= ENV.fetch('TEST', nil)
|
150
150
|
ENV['TESTS'] ||= 'tests'
|
151
151
|
end
|
152
152
|
end
|
@@ -160,28 +160,24 @@ namespace :ci do
|
|
160
160
|
elsif env_config = ENV['CONFIG']
|
161
161
|
puts 'Warning: environment variable CONFIG deprecated. Please use HOSTS to match beaker options.'
|
162
162
|
env_config
|
163
|
-
|
163
|
+
elsif agent_target = ENV['TEST_TARGET']
|
164
164
|
# By default we assume TEST_TARGET is an agent-only string
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
DEFAULT_TEST_TARGETS
|
170
|
-
end
|
165
|
+
master_target = ENV['MASTER_TEST_TARGET'] || DEFAULT_MASTER_TEST_TARGET
|
166
|
+
"#{master_target}-#{agent_target}"
|
167
|
+
else
|
168
|
+
DEFAULT_TEST_TARGETS
|
171
169
|
end
|
172
170
|
|
173
|
-
if File.
|
171
|
+
if File.exist?(hosts)
|
174
172
|
ENV['HOSTS'] = hosts
|
175
173
|
else
|
176
174
|
hosts_file = "tmp/#{hosts}-#{SecureRandom.uuid}.yaml"
|
177
175
|
cli_args = [
|
178
176
|
hosts,
|
179
177
|
'--disable-default-role',
|
180
|
-
'--osinfo-version', '1'
|
178
|
+
'--osinfo-version', '1',
|
181
179
|
]
|
182
|
-
if args[:hypervisor]
|
183
|
-
cli_args += ['--hypervisor', args[:hypervisor]]
|
184
|
-
end
|
180
|
+
cli_args += ['--hypervisor', args[:hypervisor]] if args[:hypervisor]
|
185
181
|
cli = BeakerHostGenerator::CLI.new(cli_args)
|
186
182
|
FileUtils.mkdir_p('tmp') # -p ignores when dir already exists
|
187
183
|
File.open(hosts_file, 'w') do |fh|
|
@@ -192,22 +188,22 @@ namespace :ci do
|
|
192
188
|
end
|
193
189
|
|
194
190
|
namespace :test do
|
195
|
-
desc
|
196
|
-
Run the acceptance tests using puppet-agent (AIO) packages, with or without
|
197
|
-
retrying failed tests one time.
|
191
|
+
desc <<~EOS
|
192
|
+
Run the acceptance tests using puppet-agent (AIO) packages, with or without
|
193
|
+
retrying failed tests one time.
|
198
194
|
|
199
|
-
|
195
|
+
$ SHA=<full sha> bundle exec rake ci:test:aio
|
200
196
|
|
201
|
-
or
|
197
|
+
or
|
202
198
|
|
203
|
-
|
199
|
+
$ SHA=<full sha> bundle exec rake ci:test:aio[RETRIES]
|
204
200
|
|
205
201
|
|
206
|
-
SHA should be the full SHA for the puppet-agent package.
|
202
|
+
SHA should be the full SHA for the puppet-agent package.
|
207
203
|
|
208
|
-
RETRIES should be set to true to retry failed tests one time. It defaults
|
209
|
-
to false.
|
210
|
-
EOS
|
204
|
+
RETRIES should be set to true to retry failed tests one time. It defaults
|
205
|
+
to false.
|
206
|
+
EOS
|
211
207
|
task :aio, [:retries] => ['ci:check_env', 'ci:gen_hosts'] do |t, args|
|
212
208
|
args.with_defaults(retries: false)
|
213
209
|
if args[:retries]
|
@@ -217,23 +213,23 @@ EOS
|
|
217
213
|
end
|
218
214
|
end
|
219
215
|
|
220
|
-
desc
|
221
|
-
Setup acceptance tests using puppet-agent (AIO) packages.
|
216
|
+
desc <<~EOS
|
217
|
+
Setup acceptance tests using puppet-agent (AIO) packages.
|
222
218
|
|
223
|
-
|
219
|
+
$ SHA=<tag or full sha> HOSTS=<hosts> bundle exec rake ci:test:setup
|
224
220
|
|
225
|
-
SHA should be the tag or full SHA for the puppet-agent package.
|
221
|
+
SHA should be the tag or full SHA for the puppet-agent package.
|
226
222
|
|
227
|
-
HOSTS can be a beaker-hostgenerator string or existing file.
|
228
|
-
EOS
|
229
|
-
task :
|
223
|
+
HOSTS can be a beaker-hostgenerator string or existing file.
|
224
|
+
EOS
|
225
|
+
task setup: ['ci:check_env'] do |t, args|
|
230
226
|
unless ENV['HOSTS']
|
231
|
-
case File.basename(Dir.pwd.sub(
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
227
|
+
ENV['HOSTS'] ||= case File.basename(Dir.pwd.sub(%r{/acceptance$}, ''))
|
228
|
+
when 'pxp-agent', 'puppet'
|
229
|
+
'redhat7-64m-redhat7-64a'
|
230
|
+
else
|
231
|
+
'redhat7-64a'
|
232
|
+
end
|
237
233
|
end
|
238
234
|
|
239
235
|
Rake::Task[:'ci:gen_hosts'].invoke('abs')
|
@@ -246,15 +242,15 @@ EOS
|
|
246
242
|
puts "\nRun 'bundle exec beaker exec <path>' where <path> is a directory or comma-separated list of tests."
|
247
243
|
end
|
248
244
|
|
249
|
-
desc
|
250
|
-
Run the acceptance tests against puppet gem on various platforms, performing a
|
251
|
-
basic smoke test.
|
245
|
+
desc <<~EOS
|
246
|
+
Run the acceptance tests against puppet gem on various platforms, performing a
|
247
|
+
basic smoke test.
|
252
248
|
|
253
|
-
|
249
|
+
$ SHA=<full sha> bundle exec rake:ci:gem
|
254
250
|
|
255
|
-
SHA should be the full SHA for the component.
|
256
|
-
EOS
|
257
|
-
task :
|
251
|
+
SHA should be the full SHA for the component.
|
252
|
+
EOS
|
253
|
+
task gem: ['ci:check_env'] do
|
258
254
|
beaker(:init, '--hosts', 'config/nodes/gem.yaml', '--options-file', 'config/gem/options.rb')
|
259
255
|
beaker(:provision)
|
260
256
|
begin
|
@@ -266,28 +262,28 @@ EOS
|
|
266
262
|
end
|
267
263
|
end
|
268
264
|
|
269
|
-
desc
|
270
|
-
Run the acceptance tests against a git checkout.
|
265
|
+
desc <<~EOS
|
266
|
+
Run the acceptance tests against a git checkout.
|
271
267
|
|
272
|
-
|
268
|
+
$ SHA=<full sha> bundle exec rake ci:test:git
|
273
269
|
|
274
|
-
SHA: for git based testing specifically, this can be a sha, a branch, or a tag.
|
270
|
+
SHA: for git based testing specifically, this can be a sha, a branch, or a tag.
|
275
271
|
|
276
|
-
FORK: to test against your fork, defaults to 'puppetlabs'
|
272
|
+
FORK: to test against your fork, defaults to 'puppetlabs'
|
277
273
|
|
278
|
-
SERVER: to git fetch from an alternate GIT server, defaults to 'github.com'
|
274
|
+
SERVER: to git fetch from an alternate GIT server, defaults to 'github.com'
|
279
275
|
|
280
|
-
RUNTIME_BRANCH: the branch of the agent-runtime package to grab, defaults to
|
281
|
-
|
282
|
-
|
283
|
-
EOS
|
284
|
-
task :
|
276
|
+
RUNTIME_BRANCH: the branch of the agent-runtime package to grab, defaults to
|
277
|
+
'master'. This tells us which branch of puppet-agent to get the runtime tag
|
278
|
+
from and helps us create the archive name when we go to curl it down.
|
279
|
+
EOS
|
280
|
+
task git: ['ci:check_env', 'ci:gen_hosts'] do
|
285
281
|
beaker_suite(:git)
|
286
282
|
end
|
287
283
|
end
|
288
284
|
|
289
|
-
task :
|
290
|
-
puts
|
285
|
+
task test_and_preserve_hosts: ['ci:check_env', 'ci:gen_hosts'] do
|
286
|
+
puts 'WARNING, the test_and_preserve_hosts task is deprecated, use ci:test:aio instead.'
|
291
287
|
Rake::Task['ci:test:aio'].execute
|
292
288
|
end
|
293
289
|
end
|
@@ -307,20 +303,21 @@ def beaker(command, *argv)
|
|
307
303
|
end
|
308
304
|
|
309
305
|
def beaker_setup(type)
|
310
|
-
beaker(:init, '--hosts', ENV
|
306
|
+
beaker(:init, '--hosts', ENV.fetch('HOSTS', nil), '--preserve-hosts', 'always', '--options-file',
|
307
|
+
"config/#{String(type)}/options.rb")
|
311
308
|
beaker(:provision)
|
312
309
|
beaker(:exec, 'pre-suite', '--preserve-state', '--pre-suite', pre_suites(type))
|
313
310
|
beaker(:exec, 'pre-suite', '--preserve-state')
|
314
311
|
end
|
315
312
|
|
316
313
|
def beaker_suite(type)
|
317
|
-
beaker(:init, '--hosts', ENV
|
314
|
+
beaker(:init, '--hosts', ENV.fetch('HOSTS', nil), '--options-file', "config/#{String(type)}/options.rb")
|
318
315
|
beaker(:provision)
|
319
316
|
|
320
317
|
begin
|
321
318
|
beaker(:exec, 'pre-suite', '--preserve-state', '--pre-suite', pre_suites(type))
|
322
319
|
beaker(:exec, 'pre-suite', '--preserve-state')
|
323
|
-
beaker(:exec, ENV
|
320
|
+
beaker(:exec, ENV.fetch('TESTS', nil))
|
324
321
|
beaker(:exec, 'post-suite')
|
325
322
|
ensure
|
326
323
|
preserve_hosts = ENV['OPTIONS'].include?('--preserve-hosts=always') if ENV['OPTIONS']
|
@@ -329,7 +326,7 @@ def beaker_suite(type)
|
|
329
326
|
end
|
330
327
|
|
331
328
|
def beaker_suite_retry(type)
|
332
|
-
beaker(:init, '--hosts', ENV
|
329
|
+
beaker(:init, '--hosts', ENV.fetch('HOSTS', nil), '--options-file', "config/#{String(type)}/options.rb")
|
333
330
|
beaker(:provision)
|
334
331
|
|
335
332
|
begin
|
@@ -338,17 +335,15 @@ def beaker_suite_retry(type)
|
|
338
335
|
|
339
336
|
begin
|
340
337
|
json_results_file = Tempfile.new
|
341
|
-
beaker(:exec, ENV
|
338
|
+
beaker(:exec, ENV.fetch('TESTS', nil), '--test-results-file', json_results_file.path)
|
342
339
|
rescue RuntimeError => e
|
343
340
|
puts "ERROR: #{e.message}"
|
344
341
|
tests_to_rerun = JSON.load(File.read(json_results_file.path))
|
345
|
-
if tests_to_rerun.nil? || tests_to_rerun.empty?
|
346
|
-
|
347
|
-
|
348
|
-
|
349
|
-
|
350
|
-
beaker(:exec, tests_to_rerun.map { |str| "#{str}" }.join(',') )
|
351
|
-
end
|
342
|
+
raise e if tests_to_rerun.nil? || tests_to_rerun.empty?
|
343
|
+
|
344
|
+
puts '*** Retrying the following:'
|
345
|
+
puts tests_to_rerun.map { |spec| " #{spec}" }
|
346
|
+
beaker(:exec, tests_to_rerun.map { |str| "#{str}" }.join(','))
|
352
347
|
end
|
353
348
|
ensure
|
354
349
|
beaker(:exec, 'post-suite')
|
@@ -361,40 +356,37 @@ def pre_suites(type)
|
|
361
356
|
beaker_root = Pathname.new(File.dirname(__dir__)).relative_path_from(Pathname.new(Dir.pwd))
|
362
357
|
|
363
358
|
presuites = case type
|
364
|
-
|
365
|
-
|
366
|
-
|
367
|
-
|
368
|
-
|
369
|
-
|
370
|
-
|
371
|
-
|
372
|
-
|
373
|
-
|
374
|
-
|
375
|
-
|
376
|
-
|
377
|
-
|
378
|
-
|
379
|
-
|
380
|
-
|
381
|
-
|
382
|
-
|
383
|
-
|
384
|
-
|
385
|
-
|
386
|
-
|
387
|
-
|
388
|
-
|
389
|
-
|
390
|
-
|
391
|
-
|
392
|
-
|
393
|
-
|
394
|
-
|
395
|
-
|
396
|
-
"#{beaker_root}/setup/common/045_EnsureMasterStarted.rb",
|
397
|
-
]
|
398
|
-
end
|
359
|
+
when :aio
|
360
|
+
[
|
361
|
+
"#{beaker_root}/setup/common/000-delete-puppet-when-none.rb",
|
362
|
+
"#{beaker_root}/setup/common/003_solaris_cert_fix.rb",
|
363
|
+
"#{beaker_root}/setup/common/005_redhat_subscription_fix.rb",
|
364
|
+
"#{beaker_root}/setup/aio/010_Install_Puppet_Agent.rb",
|
365
|
+
"#{beaker_root}/setup/common/011_Install_Puppet_Server.rb",
|
366
|
+
"#{beaker_root}/setup/common/012_Finalize_Installs.rb",
|
367
|
+
"#{beaker_root}/setup/common/025_StopFirewall.rb",
|
368
|
+
"#{beaker_root}/setup/common/030_StopSssd.rb",
|
369
|
+
"#{beaker_root}/setup/common/040_ValidateSignCert.rb",
|
370
|
+
"#{beaker_root}/setup/common/045_EnsureMasterStarted.rb",
|
371
|
+
]
|
372
|
+
when :gem
|
373
|
+
[
|
374
|
+
"#{beaker_root}/setup/common/000-delete-puppet-when-none.rb",
|
375
|
+
"#{beaker_root}/setup/git/000_EnvSetup.rb",
|
376
|
+
]
|
377
|
+
when :git
|
378
|
+
[
|
379
|
+
"#{beaker_root}/setup/common/000-delete-puppet-when-none.rb",
|
380
|
+
"#{beaker_root}/setup/git/000_EnvSetup.rb",
|
381
|
+
"#{beaker_root}/setup/git/010_TestSetup.rb",
|
382
|
+
"#{beaker_root}/setup/common/011_Install_Puppet_Server.rb",
|
383
|
+
"#{beaker_root}/setup/git/020_PuppetUserAndGroup.rb",
|
384
|
+
"#{beaker_root}/setup/git/070_InstallCACerts.rb",
|
385
|
+
"#{beaker_root}/setup/common/025_StopFirewall.rb",
|
386
|
+
"#{beaker_root}/setup/common/030_StopSssd.rb",
|
387
|
+
"#{beaker_root}/setup/common/040_ValidateSignCert.rb",
|
388
|
+
"#{beaker_root}/setup/common/045_EnsureMasterStarted.rb",
|
389
|
+
]
|
390
|
+
end
|
399
391
|
presuites.join(',')
|
400
392
|
end
|