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 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)