beaker 2.39.0 → 2.40.0

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 CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- MGY4YTE4YjI3YmU5ZWE5ZjQxODA5Y2Y3OGU0ZTViMmRmNmRkODg0Mw==
4
+ MDdmMjNiYzBlNDAyM2VlMjVmNDExMDQ0YzFjZDZjMmI3NzM0ODg2OA==
5
5
  data.tar.gz: !binary |-
6
- NDU0ZTJmYTg0ZjAyMTM1YTI2ZGQ4OTlhNTU2YzY0NGM0ZGFkYjNlZA==
6
+ NTYzMGQ3ZDFjNzY0Y2ZmNjJlNGJlYzU2MWQ2NjU4OTY0YzYxZjFjYw==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- YzhhMWM4NzIyZGU0Njg2NzcyZjI0MzQ1NzhmNjE2ZTUwNjU0NmE3MmQzOGIw
10
- ZjhhYjk3Y2YzZjU3NTFhZTAyMDNhMzRlN2RhODJiYTQ5MzNiMjIyY2MzM2Vi
11
- YTg5OTYzOGViNjkwYzM3ZTVjNzEyZGMxYzI0Zjg1OGU0ZGE3OTc=
9
+ Y2FiNDJlZjFhYTZmODEyNTUyZWZlYWQ5Mzg3ZDhlZmFiYzBmOTRkNGIwYWZj
10
+ ZDQ0NGQxNGJhZjMwZjI5MTFkNGEyMTIzMjIwNjg4YzE1ZWFiMTJiMzI3ZGM1
11
+ ZTg4YmI5MjI4Zjg0ZDU4NWIwZDZjNjdhYzdhY2E5ZTUyZDY3NDA=
12
12
  data.tar.gz: !binary |-
13
- ODBmZjQ2NjE5MGZhZjRiZWEyZjlmMjE1NTBmYzgwMWRkM2YzZjBhYzFlZWY4
14
- YWJjOWYwNTU3ZGYyYjU0YTQwZmJiZTBmOGZiMzIyMmRlYTA0MTQyNTU1OTVh
15
- NjA4MTYxOTkwNjIzNTBhNWI0MzNlZDcxNDM1YWNjYzI2N2YwZGU=
13
+ NDU0YWQyMWY0MjZmMjkyNDc0MjE2MzJlZjMxMTYwM2RmOGY3ZDliZDkwYjMw
14
+ NDYyODc5NGIwMTA3M2FmMjYyZjM3YzkwM2ZjMjM3MWU0NWFiOWMwOTJiZTEx
15
+ MTU3NWE3M2RjY2Q5ZDYwMzEwMzE5YmFjYWZjNTcxOTMyY2MxZTc=
data/HISTORY.md CHANGED
@@ -1,6 +1,7 @@
1
1
  # default - History
2
2
  ## Tags
3
- * [LATEST - 6 Apr, 2016 (1a0fe8ac)](#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 - 6 Apr, 2016 (1a0fe8ac)
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 more details.
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
 
@@ -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
@@ -1,10 +1,10 @@
1
- ## What's Current?
1
+ #Beaker Installation
2
2
 
3
- * [Latest Gem Release Notes](https://github.com/puppetlabs/beaker/blob/master/HISTORY.md#LATEST)
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.1.5 or 2.1.6
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)
@@ -0,0 +1,6 @@
1
+ The meta folder contains docs not about how to **use** Beaker, but how to
2
+ deal with Beaker in other ways, such as how to **change** it.
3
+
4
+ **Table of Contents**
5
+
6
+ - [Ticket Process](ticket_process.md)
@@ -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.
@@ -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)