beaker 2.39.0 → 2.40.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/HISTORY.md +261 -2
- data/README.md +1 -1
- data/beaker.gemspec +1 -1
- data/docs/Beaker-Installation.md +4 -4
- data/docs/meta/README.md +6 -0
- data/docs/meta/ticket_process.md +84 -0
- data/lib/beaker/cli.rb +15 -0
- data/lib/beaker/dsl/helpers/puppet_helpers.rb +1 -1
- data/lib/beaker/dsl/install_utils/foss_utils.rb +46 -20
- data/lib/beaker/dsl/install_utils/windows_utils.rb +9 -0
- data/lib/beaker/host.rb +2 -1
- data/lib/beaker/host/unix/exec.rb +2 -2
- data/lib/beaker/host/unix/file.rb +4 -4
- data/lib/beaker/host/unix/pkg.rb +12 -6
- data/lib/beaker/options/command_line_parser.rb +5 -0
- data/lib/beaker/options/parser.rb +2 -2
- data/lib/beaker/options/presets.rb +1 -1
- data/lib/beaker/platform.rb +2 -1
- data/lib/beaker/version.rb +1 -1
- data/spec/beaker/cli_spec.rb +29 -4
- data/spec/beaker/dsl/helpers/puppet_helpers_spec.rb +9 -0
- data/spec/beaker/dsl/install_utils/foss_utils_spec.rb +34 -28
- data/spec/beaker/dsl/install_utils/windows_utils_spec.rb +15 -0
- data/spec/beaker/host/unix/exec_spec.rb +48 -0
- data/spec/beaker/host/unix/pkg_spec.rb +55 -0
- data/spec/beaker/host_prebuilt_steps_spec.rb +1 -1
- data/spec/beaker/host_spec.rb +3 -3
- data/spec/beaker/options/command_line_parser_spec.rb +3 -3
- data/spec/helpers.rb +23 -0
- metadata +10 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
MDdmMjNiYzBlNDAyM2VlMjVmNDExMDQ0YzFjZDZjMmI3NzM0ODg2OA==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
NTYzMGQ3ZDFjNzY0Y2ZmNjJlNGJlYzU2MWQ2NjU4OTY0YzYxZjFjYw==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
Y2FiNDJlZjFhYTZmODEyNTUyZWZlYWQ5Mzg3ZDhlZmFiYzBmOTRkNGIwYWZj
|
10
|
+
ZDQ0NGQxNGJhZjMwZjI5MTFkNGEyMTIzMjIwNjg4YzE1ZWFiMTJiMzI3ZGM1
|
11
|
+
ZTg4YmI5MjI4Zjg0ZDU4NWIwZDZjNjdhYzdhY2E5ZTUyZDY3NDA=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
NDU0YWQyMWY0MjZmMjkyNDc0MjE2MzJlZjMxMTYwM2RmOGY3ZDliZDkwYjMw
|
14
|
+
NDYyODc5NGIwMTA3M2FmMjYyZjM3YzkwM2ZjMjM3MWU0NWFiOWMwOTJiZTEx
|
15
|
+
MTU3NWE3M2RjY2Q5ZDYwMzEwMzE5YmFjYWZjNTcxOTMyY2MxZTc=
|
data/HISTORY.md
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
# default - History
|
2
2
|
## Tags
|
3
|
-
* [LATEST -
|
3
|
+
* [LATEST - 18 Apr, 2016 (29b0694d)](#LATEST)
|
4
|
+
* [2.39.0 - 6 Apr, 2016 (5976e103)](#2.39.0)
|
4
5
|
* [2.38.1 - 31 Mar, 2016 (124b91b8)](#2.38.1)
|
5
6
|
* [2.38.0 - 30 Mar, 2016 (0878bff7)](#2.38.0)
|
6
7
|
* [2.37.0 - 15 Mar, 2016 (a6c2297b)](#2.37.0)
|
@@ -115,7 +116,265 @@
|
|
115
116
|
* [pe1.2 - 6 Sep, 2011 (ba3dadd2)](#pe1.2)
|
116
117
|
|
117
118
|
## Details
|
118
|
-
### <a name = "LATEST">LATEST -
|
119
|
+
### <a name = "LATEST">LATEST - 18 Apr, 2016 (29b0694d)
|
120
|
+
|
121
|
+
* (GEM) update beaker version to 2.40.0 (29b0694d)
|
122
|
+
|
123
|
+
* Merge pull request #1098 from LuvCurves/BKR-766 (16ff6892)
|
124
|
+
|
125
|
+
|
126
|
+
```
|
127
|
+
Merge pull request #1098 from LuvCurves/BKR-766
|
128
|
+
|
129
|
+
(BKR-766) Install puppet agent on huaweios
|
130
|
+
```
|
131
|
+
* Merge pull request #1103 from james-stocks/QENG-3787 (b6b2f862)
|
132
|
+
|
133
|
+
|
134
|
+
```
|
135
|
+
Merge pull request #1103 from james-stocks/QENG-3787
|
136
|
+
|
137
|
+
(BKR-770) Update EPEL package name for EL7
|
138
|
+
```
|
139
|
+
* Merge pull request #1102 from EmilienM/bump/googleapi (34dc08fc)
|
140
|
+
|
141
|
+
|
142
|
+
```
|
143
|
+
Merge pull request #1102 from EmilienM/bump/googleapi
|
144
|
+
|
145
|
+
(MAINT) bump google-api-client to ~> 0.8, < 0.9.5
|
146
|
+
```
|
147
|
+
* Merge pull request #1100 from johnduarte/bkr-767 (c61571c7)
|
148
|
+
|
149
|
+
|
150
|
+
```
|
151
|
+
Merge pull request #1100 from johnduarte/bkr-767
|
152
|
+
|
153
|
+
(BKR-767) Only use Solaris major version for pkg
|
154
|
+
```
|
155
|
+
* Merge pull request #1101 from pinkypie/BKR-521 (406ad56e)
|
156
|
+
|
157
|
+
|
158
|
+
```
|
159
|
+
Merge pull request #1101 from pinkypie/BKR-521
|
160
|
+
|
161
|
+
(BKR-521) handle priority of :acceptable_exit_codes
|
162
|
+
```
|
163
|
+
* Merge pull request #1099 from er0ck/docs/master/maint-add_beaker-template_link (a6be842b)
|
164
|
+
|
165
|
+
|
166
|
+
```
|
167
|
+
Merge pull request #1099 from er0ck/docs/master/maint-add_beaker-template_link
|
168
|
+
|
169
|
+
(maint) add beaker-template link to README
|
170
|
+
```
|
171
|
+
* Merge pull request #1094 from MikaelSmith/ruby22 (f2f109a9)
|
172
|
+
|
173
|
+
|
174
|
+
```
|
175
|
+
Merge pull request #1094 from MikaelSmith/ruby22
|
176
|
+
|
177
|
+
(maint) Avoid scoping change in Ruby 2.2
|
178
|
+
```
|
179
|
+
* (BKR-770) Update EPEL package name for EL7 (63a394ab)
|
180
|
+
|
181
|
+
|
182
|
+
```
|
183
|
+
(BKR-770) Update EPEL package name for EL7
|
184
|
+
|
185
|
+
Change the default EPEL package name for EL7 from "epel-release-7-5.noarch.rpm" to "epel-release-7-6.noarch.rpm"
|
186
|
+
```
|
187
|
+
* (MAINT) bump google-api-client to ~> 0.8, < 0.9.5 (86f3b8c3)
|
188
|
+
|
189
|
+
|
190
|
+
```
|
191
|
+
(MAINT) bump google-api-client to ~> 0.8, < 0.9.5
|
192
|
+
|
193
|
+
google-api-client dropped ruby 1.9 support in 0.9.5.
|
194
|
+
Ubuntu Trusty (current LTS) still have Ruby 1.9 by default, so it's
|
195
|
+
impossible to run beaker on this platform with official packaging.
|
196
|
+
|
197
|
+
See https://github.com/google/google-api-ruby-client/issues/397
|
198
|
+
```
|
199
|
+
* (BKR-521) handle priority of the command execution option :acceptable_exit_codes (a489b58e)
|
200
|
+
|
201
|
+
|
202
|
+
```
|
203
|
+
(BKR-521) handle priority of the command execution option :acceptable_exit_codes
|
204
|
+
make acceptable_exit_codes override accept_all_exit_codes => true
|
205
|
+
```
|
206
|
+
* Merge pull request #1096 from kevpl/docs_ticket_process (ee41a102)
|
207
|
+
|
208
|
+
|
209
|
+
```
|
210
|
+
Merge pull request #1096 from kevpl/docs_ticket_process
|
211
|
+
|
212
|
+
(MAINT) added ticket process doc & meta docs folder
|
213
|
+
```
|
214
|
+
* Merge pull request #1091 from johnduarte/update-dmg-path (cb93ea87)
|
215
|
+
|
216
|
+
|
217
|
+
```
|
218
|
+
Merge pull request #1091 from johnduarte/update-dmg-path
|
219
|
+
|
220
|
+
(BKR-759) Update dmg url for puppet-agent install
|
221
|
+
```
|
222
|
+
* Merge pull request #1095 from Iristyle/maint/master/log-windows-versions.txt (5de54377)
|
223
|
+
|
224
|
+
|
225
|
+
```
|
226
|
+
Merge pull request #1095 from Iristyle/maint/master/log-windows-versions.txt
|
227
|
+
|
228
|
+
(maint) Log Windows versions.txt post MSI install
|
229
|
+
```
|
230
|
+
* (BKR-767) Only use Solaris major version for pkg (6ef6595d)
|
231
|
+
|
232
|
+
|
233
|
+
```
|
234
|
+
(BKR-767) Only use Solaris major version for pkg
|
235
|
+
|
236
|
+
Puppet only publishes packages under the major version of a Solaris
|
237
|
+
release. Currently, if Beaker is passed a Solaris host with a minor
|
238
|
+
version (eg. solaris 11.2), it fails to find and install package.
|
239
|
+
|
240
|
+
This commit truncates the Solaris version to its minor component
|
241
|
+
in the solaris_puppet_agent_dev_package_info and
|
242
|
+
solaris_install_local_package methods.
|
243
|
+
```
|
244
|
+
* (maint) add beaker-template link to README (a21bf068)
|
245
|
+
|
246
|
+
* Merge pull request #1084 from highb/add_pre_cleanup_suite (6c4b6f2a)
|
247
|
+
|
248
|
+
|
249
|
+
```
|
250
|
+
Merge pull request #1084 from highb/add_pre_cleanup_suite
|
251
|
+
|
252
|
+
(BKR-750) Add pre-cleanup option
|
253
|
+
```
|
254
|
+
* Merge pull request #1097 from tvpartytonight/doc_maint (7cfa9c52)
|
255
|
+
|
256
|
+
|
257
|
+
```
|
258
|
+
Merge pull request #1097 from tvpartytonight/doc_maint
|
259
|
+
|
260
|
+
(maint) Clarify beaker installation guide
|
261
|
+
```
|
262
|
+
* (MAINT) added ticket process doc & meta docs folder (31187fc9)
|
263
|
+
|
264
|
+
* (maint) Clarify beaker installation guide (b0e83208)
|
265
|
+
|
266
|
+
|
267
|
+
```
|
268
|
+
(maint) Clarify beaker installation guide
|
269
|
+
|
270
|
+
This change clarifies the notion of beaker as a test coordinator that
|
271
|
+
runs tests on a host separate from the SUT.
|
272
|
+
```
|
273
|
+
* (BKR-766) Install puppet agent on huaweios (0c08652d)
|
274
|
+
|
275
|
+
* Merge pull request #1093 from tvpartytonight/BKR-219 (0f4a430c)
|
276
|
+
|
277
|
+
|
278
|
+
```
|
279
|
+
Merge pull request #1093 from tvpartytonight/BKR-219
|
280
|
+
|
281
|
+
(BKR-219) Add support for :is_puppetserver per host
|
282
|
+
```
|
283
|
+
* (maint) Log Windows versions.txt post MSI install (522f58dd)
|
284
|
+
|
285
|
+
|
286
|
+
```
|
287
|
+
(maint) Log Windows versions.txt post MSI install
|
288
|
+
|
289
|
+
- The puppet-agent package contains information about the various
|
290
|
+
component versions present, so log it after the MSI installation
|
291
|
+
has completed.
|
292
|
+
|
293
|
+
Without having this information logged by Beaker, it can be painful
|
294
|
+
to cross reference the agent commit vs the included component
|
295
|
+
versions.
|
296
|
+
```
|
297
|
+
* (maint) Avoid scoping change in Ruby 2.2 (60ae4086)
|
298
|
+
|
299
|
+
|
300
|
+
```
|
301
|
+
(maint) Avoid scoping change in Ruby 2.2
|
302
|
+
|
303
|
+
Using Ruby 2.2, the `opts` assignment in the Windows case of
|
304
|
+
`install_puppet_agent_dev_repo_on` overwrites the `opts` method
|
305
|
+
argument. This causes installs after Windows to fail in Puppet
|
306
|
+
acceptance runs. Fix by avoiding using the same variable name.
|
307
|
+
```
|
308
|
+
* (BKR-219) Add support for :is_puppetserver per host (f0c07bd7)
|
309
|
+
|
310
|
+
|
311
|
+
```
|
312
|
+
(BKR-219) Add support for :is_puppetserver per host
|
313
|
+
|
314
|
+
This commit adds a check for each host's :is_puppetserver key when using
|
315
|
+
the `with_puppet_running_on` command. Previously, it would only check
|
316
|
+
the global option for this key.
|
317
|
+
```
|
318
|
+
* (BKR-750) Always run pre_cleanup suite (e5071ac0)
|
319
|
+
|
320
|
+
|
321
|
+
```
|
322
|
+
(BKR-750) Always run pre_cleanup suite
|
323
|
+
|
324
|
+
Prior to this commit the pre-cleanup suite would not run if
|
325
|
+
the `fail_mode` wasn't set to slow, but that wouldn't match
|
326
|
+
the description or purpose of the pre_cleanup *always* happening.
|
327
|
+
|
328
|
+
So, this commit ensures the pre-cleanup suite will *always* run by
|
329
|
+
ignoring the `fail_mode` setting.
|
330
|
+
```
|
331
|
+
* Merge pull request #1090 from tvpartytonight/BKR-680 (f00e942f)
|
332
|
+
|
333
|
+
|
334
|
+
```
|
335
|
+
Merge pull request #1090 from tvpartytonight/BKR-680
|
336
|
+
|
337
|
+
(BKR-680) Add Huaweios support
|
338
|
+
```
|
339
|
+
* (BKR-759) Update dmg url for puppet-agent install (af7e7287)
|
340
|
+
|
341
|
+
|
342
|
+
```
|
343
|
+
(BKR-759) Update dmg url for puppet-agent install
|
344
|
+
|
345
|
+
The url path structure for osx dmg packages has changed. Also,
|
346
|
+
the `puppet-agent-latest.dmg` alias is no longer generated when
|
347
|
+
publishing packages to https://downloads.puppetlabs.com.
|
348
|
+
|
349
|
+
This commit updates the url structure to reflect the current
|
350
|
+
pattern. It also adds a method to introspect the 'latest' published
|
351
|
+
version. If a `puppet_agent_version` has not been specified and
|
352
|
+
a 'latest' version cannot be found, an exception is raised.
|
353
|
+
```
|
354
|
+
* (BKR-680) Update spec tests for Huaweios changes (b2dda06f)
|
355
|
+
|
356
|
+
* (BKR-680) Update UNIX exec & pkg handler for huaweios (d6965e34)
|
357
|
+
|
358
|
+
* (BKR-680) Add huaweios platform (56674595)
|
359
|
+
|
360
|
+
|
361
|
+
```
|
362
|
+
(BKR-680) Add huaweios platform
|
363
|
+
|
364
|
+
This PR adds support for connecting to huaweios network devices.
|
365
|
+
```
|
366
|
+
* (BKR-750) Add pre-cleanup option (8023c1a1)
|
367
|
+
|
368
|
+
|
369
|
+
```
|
370
|
+
(BKR-750) Add pre-cleanup option
|
371
|
+
|
372
|
+
Adds a `--pre-cleanup` suite, that will *always* run before the
|
373
|
+
VM cleanup step. Useful for saving logs before the VMs disappear.
|
374
|
+
```
|
375
|
+
### <a name = "2.39.0">2.39.0 - 6 Apr, 2016 (5976e103)
|
376
|
+
|
377
|
+
* (HISTORY) update beaker history for gem release 2.39.0 (5976e103)
|
119
378
|
|
120
379
|
* (GEM) update beaker version to 2.39.0 (1a0fe8ac)
|
121
380
|
|
data/README.md
CHANGED
@@ -13,7 +13,7 @@ Documentation for Beaker can be found in this repository in [the docs/ folder](d
|
|
13
13
|
#Beaker Libraries
|
14
14
|
|
15
15
|
Beaker functionality has been extended through the use of libraries available as gems. See the
|
16
|
-
[complete list](docs/Beaker-Libraries.md) for
|
16
|
+
[complete list](docs/Beaker-Libraries.md) for available gems. See the [beaker-template documentation](https://github.com/puppetlabs/beaker-template/blob/master/README.md) for documentation on creating beaker-libraries.
|
17
17
|
|
18
18
|
#Beaker API
|
19
19
|
|
data/beaker.gemspec
CHANGED
@@ -50,7 +50,7 @@ Gem::Specification.new do |s|
|
|
50
50
|
# Optional provisioner specific support
|
51
51
|
s.add_runtime_dependency 'rbvmomi', '~> 1.8'
|
52
52
|
s.add_runtime_dependency 'fission', '~> 0.4'
|
53
|
-
s.add_runtime_dependency 'google-api-client', '~> 0.8'
|
53
|
+
s.add_runtime_dependency 'google-api-client', ['~> 0.8', '< 0.9.5'] # dropped ruby 1.9 rupport in 0.9.5
|
54
54
|
s.add_runtime_dependency 'aws-sdk', '~> 1.57'
|
55
55
|
s.add_runtime_dependency 'docker-api'
|
56
56
|
s.add_runtime_dependency 'mime-types', '~> 2.99' if RUBY_VERSION < '2.0' # dropped ruby 1.9 rupport in 3.0
|
data/docs/Beaker-Installation.md
CHANGED
@@ -1,10 +1,10 @@
|
|
1
|
-
|
1
|
+
#Beaker Installation
|
2
2
|
|
3
|
-
|
3
|
+
In most cases, beaker is running on a system separate from the SUT; we will commonly refer to this system as the beaker coordinator. This page outlines how to install requirements for the beaker coordinator and options for the installation of beaker itself.
|
4
4
|
|
5
|
-
##Requirements
|
5
|
+
## Beaker Requirements
|
6
6
|
|
7
|
-
* Ruby 1.9+, 2.
|
7
|
+
* Ruby 1.9+, 2.0.0p481, or 2.1.1
|
8
8
|
* libxml2, libxslt (needed for the [Nokogiri](http://nokogiri.org/tutorials/installing_nokogiri.html) gem)
|
9
9
|
* g++ (needed for the [unf_ext](http://rubydoc.info/gems/unf_ext/) gem)
|
10
10
|
* curl (needed for some DSL functions to be able to execute successfully)
|
data/docs/meta/README.md
ADDED
@@ -0,0 +1,84 @@
|
|
1
|
+
This doc is here to explain the lifecycle of a Beaker ticket. If you have any
|
2
|
+
questions about the workflow of a Beaker ticket, or the stage that it's in, you
|
3
|
+
should be able to answer them here. If not, then please let QE know, and we'll
|
4
|
+
work to answer your question and update this doc, so that we can do this better
|
5
|
+
going forward.
|
6
|
+
|
7
|
+
Note that a typical Beaker ticket goes through these states. They can sometimes
|
8
|
+
go in order, but on average, they loop around through the various stages,
|
9
|
+
can cycle a number of times before becoming resolved, and will sometimes skip
|
10
|
+
stages as well.
|
11
|
+
|
12
|
+
## Administrivia
|
13
|
+
|
14
|
+
- Beaker tickets live in the
|
15
|
+
[BKR project](https://tickets.puppetlabs.com/issues/?jql=project%20%3D%20BKR)
|
16
|
+
- Create a [Jira account](http://tickets.puppetlabs.com) to interact with them
|
17
|
+
|
18
|
+
## Pre-Development States
|
19
|
+
|
20
|
+
These are the states that a Beaker ticket goes through before it is picked up for
|
21
|
+
development. Note that this is only for work done by the Beaker team. If there
|
22
|
+
is something you'd like to contribute to, we would appreciate that you go
|
23
|
+
through the development states for tracking purposes, but you can skip directly
|
24
|
+
to the "In Progress" state if you're going to work on a ticket.
|
25
|
+
|
26
|
+
### Open
|
27
|
+
|
28
|
+
The state for newly filed issues. These have not been triaged, and are
|
29
|
+
waiting to be looked at by the team.
|
30
|
+
|
31
|
+
### Needs Information
|
32
|
+
|
33
|
+
The state for blocked issues. These can be blocked by another issue (please link
|
34
|
+
that issue from the ticket if that's the case), or they can be blocked on info
|
35
|
+
needed from another party. If this is the case, please assign the ticket to the
|
36
|
+
person you need info from to move the ticket forward.
|
37
|
+
|
38
|
+
### Accepted
|
39
|
+
|
40
|
+
This is the state for when a ticket has been triaged, but hasn't yet been
|
41
|
+
estimated for work from someone on the Beaker team, or someone ready to
|
42
|
+
take on the work. Any preliminary information needed to understand the
|
43
|
+
ticket (before investigation) should be gathered before this point.
|
44
|
+
|
45
|
+
### Ready for Engineering
|
46
|
+
|
47
|
+
An accepted ticket that has been estimated should be put into the Ready for
|
48
|
+
Engineering state. This does not necessarily mean that a ticket has been
|
49
|
+
prioritized against other Beaker work, but prioritization should occur by
|
50
|
+
the time the issue has been picked up in a sprint.
|
51
|
+
|
52
|
+
## Development States
|
53
|
+
|
54
|
+
Once you're ready to pick up a ticket & work on it, then it should go through
|
55
|
+
these states.
|
56
|
+
|
57
|
+
### In Progress
|
58
|
+
|
59
|
+
This state is set aside for a Beaker contributor to let others know that
|
60
|
+
they're currently working on a particular issue.
|
61
|
+
|
62
|
+
### Ready for Merge
|
63
|
+
|
64
|
+
Once a Pull Request (PR) is generated for an issue, the contributor should set
|
65
|
+
the status to Ready for Merge. We do have a github integration setup, so if
|
66
|
+
you've titled your PR correctly (according to our
|
67
|
+
[contributor docs](/CONTRIBUTING.md)),
|
68
|
+
it will be linked from the JIRA ticket.
|
69
|
+
|
70
|
+
In the Beaker project, we leave the assignee as the person who wrote the
|
71
|
+
proposed change, so that they know that they have to keep pushing for their
|
72
|
+
code to be merged.
|
73
|
+
|
74
|
+
### Resolved
|
75
|
+
|
76
|
+
Once your PR is merged, then you can Resolve your ticket.
|
77
|
+
|
78
|
+
**NOTE** that when you do this, you should set the FixedVersion to
|
79
|
+
|
80
|
+
BKR next
|
81
|
+
|
82
|
+
The reason that we do this now and not before is that we use this field to
|
83
|
+
autogenerate our release notes. We want to make sure that we capture only
|
84
|
+
work that is _in_ the next release, not work that's _intended_ for it.
|
data/lib/beaker/cli.rb
CHANGED
@@ -113,6 +113,13 @@ module Beaker
|
|
113
113
|
end
|
114
114
|
#cleanup phase
|
115
115
|
rescue => e
|
116
|
+
begin
|
117
|
+
run_suite(:pre_cleanup)
|
118
|
+
rescue => e
|
119
|
+
# pre-cleanup failed
|
120
|
+
@logger.error "Failed running the pre-cleanup suite."
|
121
|
+
end
|
122
|
+
|
116
123
|
#cleanup on error
|
117
124
|
if @options[:preserve_hosts].to_s =~ /(never)|(onpass)/
|
118
125
|
@logger.notify "Cleanup: cleaning up after failed run"
|
@@ -129,6 +136,13 @@ module Beaker
|
|
129
136
|
puts ''
|
130
137
|
exit 1
|
131
138
|
else
|
139
|
+
begin
|
140
|
+
run_suite(:pre_cleanup)
|
141
|
+
rescue => e
|
142
|
+
# pre-cleanup failed
|
143
|
+
@logger.error "Failed running the pre-cleanup suite."
|
144
|
+
end
|
145
|
+
|
132
146
|
#cleanup on success
|
133
147
|
if @options[:preserve_hosts].to_s =~ /(never)|(onfail)/
|
134
148
|
@logger.notify "Cleanup: cleaning up after successful run"
|
@@ -173,6 +187,7 @@ module Beaker
|
|
173
187
|
@options[:pre_suite] = []
|
174
188
|
@options[:post_suite] = []
|
175
189
|
@options[:tests] = []
|
190
|
+
@options[:pre_cleanup] = []
|
176
191
|
preserved_hosts_filename = File.join(@options[:log_dated_dir], 'hosts_preserved.yml')
|
177
192
|
FileUtils.cp(@options[:hosts_file], preserved_hosts_filename)
|
178
193
|
hosts_yaml = YAML.load_file(preserved_hosts_filename)
|