beaker 1.16.0 → 1.17.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.
Files changed (51) hide show
  1. checksums.yaml +8 -8
  2. data/CONTRIBUTING.md +90 -0
  3. data/HISTORY.md +654 -2
  4. data/beaker.gemspec +1 -0
  5. data/lib/beaker/answers/version34.rb +4 -0
  6. data/lib/beaker/cli.rb +49 -2
  7. data/lib/beaker/dsl/helpers.rb +356 -196
  8. data/lib/beaker/dsl/install_utils.rb +135 -16
  9. data/lib/beaker/dsl/patterns.rb +37 -0
  10. data/lib/beaker/dsl/roles.rb +29 -0
  11. data/lib/beaker/dsl.rb +2 -1
  12. data/lib/beaker/host/unix.rb +14 -10
  13. data/lib/beaker/host/windows.rb +2 -0
  14. data/lib/beaker/host.rb +96 -1
  15. data/lib/beaker/host_prebuilt_steps.rb +41 -51
  16. data/lib/beaker/hypervisor/aws_sdk.rb +80 -16
  17. data/lib/beaker/hypervisor/ec2_helper.rb +1 -1
  18. data/lib/beaker/logger.rb +17 -0
  19. data/lib/beaker/options/command_line_parser.rb +3 -0
  20. data/lib/beaker/options/hosts_file_parser.rb +7 -4
  21. data/lib/beaker/options/options_hash.rb +2 -2
  22. data/lib/beaker/options/parser.rb +1 -1
  23. data/lib/beaker/options/presets.rb +128 -83
  24. data/lib/beaker/perf.rb +58 -0
  25. data/lib/beaker/shared/host_manager.rb +81 -0
  26. data/lib/beaker/shared.rb +2 -2
  27. data/lib/beaker/ssh_connection.rb +14 -7
  28. data/lib/beaker/test_case.rb +13 -0
  29. data/lib/beaker/test_suite.rb +23 -5
  30. data/lib/beaker/version.rb +1 -1
  31. data/lib/beaker.rb +1 -1
  32. data/spec/beaker/answers_spec.rb +13 -8
  33. data/spec/beaker/dsl/ezbake_utils_spec.rb +8 -9
  34. data/spec/beaker/dsl/helpers_spec.rb +299 -51
  35. data/spec/beaker/dsl/install_utils_spec.rb +75 -10
  36. data/spec/beaker/dsl/roles_spec.rb +36 -1
  37. data/spec/beaker/host_prebuilt_steps_spec.rb +21 -5
  38. data/spec/beaker/host_spec.rb +187 -23
  39. data/spec/beaker/hypervisor/ec2_helper_spec.rb +4 -4
  40. data/spec/beaker/hypervisor/vagrant_spec.rb +1 -1
  41. data/spec/beaker/options/hosts_file_parser_spec.rb +5 -0
  42. data/spec/beaker/options/options_hash_spec.rb +2 -2
  43. data/spec/beaker/options/parser_spec.rb +6 -0
  44. data/spec/beaker/options/presets_spec.rb +18 -2
  45. data/spec/beaker/perf_spec.rb +87 -0
  46. data/spec/beaker/shared/{host_role_parser_spec.rb → host_manager_spec.rb} +36 -5
  47. data/spec/beaker/test_suite_spec.rb +4 -3
  48. data/spec/matchers.rb +31 -3
  49. data/spec/mocks.rb +31 -25
  50. metadata +24 -5
  51. data/lib/beaker/shared/host_role_parser.rb +0 -36
data/HISTORY.md CHANGED
@@ -1,6 +1,7 @@
1
1
  # beaker - History
2
2
  ## Tags
3
- * [LATEST - 17 Jul, 2014 (b0558827)](#LATEST)
3
+ * [LATEST - 11 Aug, 2014 (d0719d5d)](#LATEST)
4
+ * [beaker1.16.0 - 17 Jul, 2014 (c1267696)](#beaker1.16.0)
4
5
  * [beaker1.15.0 - 8 Jul, 2014 (82bb4ef9)](#beaker1.15.0)
5
6
  * [beaker1.14.1 - 3 Jul, 2014 (d2e750d5)](#beaker1.14.1)
6
7
  * [beaker1.14.0 - 3 Jul, 2014 (cf8ea838)](#beaker1.14.0)
@@ -51,7 +52,658 @@
51
52
  * [pe1.2 - 6 Sep, 2011 (ba3dadd2)](#pe1.2)
52
53
 
53
54
  ## Details
54
- ### <a name = "LATEST">LATEST - 17 Jul, 2014 (b0558827)
55
+ ### <a name = "LATEST">LATEST - 11 Aug, 2014 (d0719d5d)
56
+
57
+ * (GEM) create beaker 1.17.0 gem (b2528072)
58
+
59
+ * Merge pull request #336 from anodelman/higgs-installer (2d65b8d0)
60
+
61
+
62
+ ```
63
+ Merge pull request #336 from anodelman/higgs-installer
64
+
65
+ (QENG-751) Request for Higgs support in installing beaker
66
+ ```
67
+ * Merge pull request #391 from waynr/fix/qeng-903-jvm-puppet-debian-support (d0719d5d)
68
+
69
+
70
+ ```
71
+ Merge pull request #391 from waynr/fix/qeng-903-jvm-puppet-debian-support
72
+
73
+ (QENG-903) Debian platform support for jvm-puppet.
74
+ ```
75
+ * Merge pull request #395 from waynr/feature/QENG-922-puppet-user-group-methods (3ebc92c1)
76
+
77
+
78
+ ```
79
+ Merge pull request #395 from waynr/feature/QENG-922-puppet-user-group-methods
80
+
81
+ (QENG-922) Add `puppet_user` and `puppet_group` DSL methods.
82
+ ```
83
+ * Merge pull request #390 from jpartlow/issue/master/qeng-188-foss-service-restarts-pe-unchanged (884cb9ae)
84
+
85
+
86
+ ```
87
+ Merge pull request #390 from jpartlow/issue/master/qeng-188-foss-service-restarts-pe-unchanged
88
+
89
+ (QENG-188) Allow foss runs to use service scripts (pe unchanged)
90
+ ```
91
+ * Merge pull request #385 from anodelman/scp-repair (6e0fcbaa)
92
+
93
+
94
+ ```
95
+ Merge pull request #385 from anodelman/scp-repair
96
+
97
+ (QENG-1012) (gh-143) beaker scp moving data one byte at a time
98
+ ```
99
+ * Merge pull request #387 from colinPL/qeng_1032 (32160885)
100
+
101
+
102
+ ```
103
+ Merge pull request #387 from colinPL/qeng_1032
104
+
105
+ (QENG-1032) Fix for tests without a master host
106
+ ```
107
+ * Merge pull request #392 from anodelman/maint (75b61a36)
108
+
109
+
110
+ ```
111
+ Merge pull request #392 from anodelman/maint
112
+
113
+ (MAINT)(gh-210) series of commits to get beaker smoketest working in ec2
114
+ ```
115
+ * (gh-210) Setting PATH, ignored :environment option (ad22e590)
116
+
117
+
118
+ ```
119
+ (gh-210) Setting PATH, ignored :environment option
120
+
121
+ - we do not correctly handle adding additional environment variables to
122
+ puppet commands, this patch allows you to add those env vars
123
+ ```
124
+ * Merge pull request #389 from waynr/revert/qeng-188 (42f28681)
125
+
126
+
127
+ ```
128
+ Merge pull request #389 from waynr/revert/qeng-188
129
+
130
+ Revert "(QENG-188) Allow foss runs to use service scripts, take 2"
131
+ ```
132
+ * Revert "(QENG-188) Allow foss runs to use service scripts, take 2" (1d9300bc)
133
+
134
+
135
+ ```
136
+ Revert "(QENG-188) Allow foss runs to use service scripts, take 2"
137
+
138
+ This reverts commit 577fce4dcaf4c6879157fd51777d6691eae1496d.
139
+ ```
140
+ * Merge pull request #384 from jpartlow/issue/master/qeng-188-better-foss-service-restarts (4c991d24)
141
+
142
+
143
+ ```
144
+ Merge pull request #384 from jpartlow/issue/master/qeng-188-better-foss-service-restarts
145
+
146
+ (QENG-188) Allow foss runs to use service scripts, take 2
147
+ ```
148
+ * (QENG-1032) Fix for tests without a master host (76329613)
149
+
150
+
151
+ ```
152
+ (QENG-1032) Fix for tests without a master host
153
+
154
+ If a master role is not defined in the current test's config, then
155
+ setting a default node will fail. The code is expecting "hosts" to be a
156
+ list, but it is actually a hash. This commit fixes this issue and
157
+ adds a new spec test to validate a non-master single node is set as
158
+ default.
159
+ ```
160
+ * (QENG-903) Debian platform support for jvm-puppet. (e1c336db)
161
+
162
+
163
+ ```
164
+ (QENG-903) Debian platform support for jvm-puppet.
165
+
166
+ A couple simple fixes for previously unvisited code paths.
167
+
168
+ Signed-off-by: Wayne <wayne@puppetlabs.com>
169
+ ```
170
+ * Merge pull request #330 from anodelman/scp-ignore (5144958f)
171
+
172
+
173
+ ```
174
+ Merge pull request #330 from anodelman/scp-ignore
175
+
176
+ (QENG-762) add support to beaker scp_to/scp_from to ignore files of ...
177
+ ```
178
+ * Merge pull request #371 from anodelman/xml (7d1771f4)
179
+
180
+
181
+ ```
182
+ Merge pull request #371 from anodelman/xml
183
+
184
+ (QENG-845) Beaker junit xml: XML Parsing error
185
+ ```
186
+ * (MAINT) aws_sdk support repairs (8d318540)
187
+
188
+
189
+ ```
190
+ (MAINT) aws_sdk support repairs
191
+
192
+ - vmhostname was being set incorrectly and breaking PE installation
193
+ - move instance metadata tag addition to after instance is running
194
+ - /etc/hosts generation fixed so that it has entries for all other hosts
195
+ on each individual host
196
+ - add agent listen port (8139)
197
+ - fix zombie killing by correctly handling volumes that may not exist
198
+ when attempted deletion occurs
199
+ ```
200
+ * (QENG-1012) (gh-143) beaker scp moving data one byte at a time (8a4a72a8)
201
+
202
+
203
+ ```
204
+ (QENG-1012) (gh-143) beaker scp moving data one byte at a time
205
+
206
+ - force chunk_size during transfer
207
+ - print more debug metrics so that we can monitor how quickly files are
208
+ moved
209
+ ```
210
+ * Merge pull request #362 from anodelman/revert-343-revert-237-role-repair (82f759c5)
211
+
212
+
213
+ ```
214
+ Merge pull request #362 from anodelman/revert-343-revert-237-role-repair
215
+
216
+ (QENG-431) expanded and improved role support in beaker
217
+ ```
218
+ * Merge pull request #381 from waynr/feature/qeng-969-add-modify-tk-config-dsl-method (30971c2b)
219
+
220
+
221
+ ```
222
+ Merge pull request #381 from waynr/feature/qeng-969-add-modify-tk-config-dsl-method
223
+
224
+ (QENG-969) Fix bug introduced with last patch.
225
+ ```
226
+ * Merge pull request #370 from anodelman/junit (a3733322)
227
+
228
+
229
+ ```
230
+ Merge pull request #370 from anodelman/junit
231
+
232
+ (QENG-819) stderr collected for each testcase is incorrect...
233
+ ```
234
+ * Merge pull request #375 from waynr/feature/qeng-997-add-pe-installer-answer-for-jvm-puppet (d6f8792a)
235
+
236
+
237
+ ```
238
+ Merge pull request #375 from waynr/feature/qeng-997-add-pe-installer-answer-for-jvm-puppet
239
+
240
+ (QENG-997) Add PE installer answer for jvm puppet.
241
+ ```
242
+ * Merge pull request #374 from justinstoller/bug/master/QENG-989_gem_install_on_solaris (fd4e7279)
243
+
244
+
245
+ ```
246
+ Merge pull request #374 from justinstoller/bug/master/QENG-989_gem_install_on_solaris
247
+
248
+ (QENG-989,990) Clean up open source install rough edges
249
+ ```
250
+ * (QENG-969) Fix bug introduced with last patch. (ab510c71)
251
+
252
+
253
+ ```
254
+ (QENG-969) Fix bug introduced with last patch.
255
+
256
+ Last patch addressed some PR comments regarding coding style and led to bug
257
+ which is now fixed.
258
+
259
+ Signed-off-by: Wayne <wayne@puppetlabs.com>
260
+ ```
261
+ * Merge pull request #378 from waynr/feature/qeng-969-add-modify-tk-config-dsl-method (4449be0f)
262
+
263
+
264
+ ```
265
+ Merge pull request #378 from waynr/feature/qeng-969-add-modify-tk-config-dsl-method
266
+
267
+ Feature/qeng 969 add modify tk config dsl method
268
+ ```
269
+ * (MAINT) add 61613 to open port list for ec2 instances (fa34996c)
270
+
271
+
272
+ ```
273
+ (MAINT) add 61613 to open port list for ec2 instances
274
+
275
+ - 61613 needs to be open for MCO to work correctly
276
+ ```
277
+ * Merge pull request #355 from doug-rosser/atop_integration (3c09294c)
278
+
279
+
280
+ ```
281
+ Merge pull request #355 from doug-rosser/atop_integration
282
+
283
+ (QENG-807) add --collect-perf-data option, rspec tests, and yard docs
284
+ ```
285
+ * (QENG-969) Addresss PR feedback. (ed31f189)
286
+
287
+
288
+ ```
289
+ (QENG-969) Addresss PR feedback.
290
+
291
+ Signed-off-by: Wayne <wayne@puppetlabs.com>
292
+ ```
293
+ * (QENG-922) Add `puppet_user` and `puppet_group` DSL methods. (2cf5ef87)
294
+
295
+
296
+ ```
297
+ (QENG-922) Add `puppet_user` and `puppet_group` DSL methods.
298
+
299
+ Signed-off-by: Wayne <wayne@puppetlabs.com>
300
+ ```
301
+ * Remove dead line of code (a423d969)
302
+
303
+ * (QENG-969) Update `with_puppet_running_on` spec test. (db5b45f1)
304
+
305
+
306
+ ```
307
+ (QENG-969) Update `with_puppet_running_on` spec test.
308
+
309
+ Test that `with_puppet_running_on` actually uses `modify_tk_conf` when the
310
+ circumstances are right.
311
+
312
+ Signed-off-by: Wayne <wayne@puppetlabs.com>
313
+ ```
314
+ * (QENG-969) Add modify_tk_config DSL method. (1aad9e7d)
315
+
316
+
317
+ ```
318
+ (QENG-969) Add modify_tk_config DSL method.
319
+
320
+ Comes with some "private" helper methods for reading tk config strings and
321
+ merging or replacing the SUT config file using Beaker::Options::OptionsHash
322
+
323
+ Signed-off-by: Wayne <wayne@puppetlabs.com>
324
+ ```
325
+ * (QENG-997) Add PE installer answer for jvm puppet. (b06b6313)
326
+
327
+
328
+ ```
329
+ (QENG-997) Add PE installer answer for jvm puppet.
330
+
331
+ Signed-off-by: Wayne <wayne@puppetlabs.com>
332
+ ```
333
+ * (QENG-989,990) Clean up open source install rough edges (408b730a)
334
+
335
+
336
+ ```
337
+ (QENG-989,990) Clean up open source install rough edges
338
+
339
+ This ensures that puppet and friends are available after gem installs on
340
+ Solaris and Debian. It also makes sure that the config directory and
341
+ hiera.yaml file are aways present. The former change fixes QENG-989 while
342
+ the latter fixes QENG-990).
343
+
344
+ [edit: to address pull request comments]
345
+ ```
346
+ * Merge pull request #365 from anodelman/maint (01c7ac7a)
347
+
348
+
349
+ ```
350
+ Merge pull request #365 from anodelman/maint
351
+
352
+ (QENG-941) create contributor documentation for beaker
353
+ ```
354
+ * Merge pull request #369 from anodelman/options-hash (9215548a)
355
+
356
+
357
+ ```
358
+ Merge pull request #369 from anodelman/options-hash
359
+
360
+ (gh-333) Typo in method name ('has' instead of 'hash') in ...
361
+ ```
362
+ * Merge pull request #296 from anodelman/confine-agents (78a75ce6)
363
+
364
+
365
+ ```
366
+ Merge pull request #296 from anodelman/confine-agents
367
+
368
+ (QENG-758) add ability to select a group a beaker hosts based upon...
369
+ ```
370
+ * Merge pull request #248 from justinstoller/feature/master/QENG-515-debug_env_vars (4329e6b8)
371
+
372
+
373
+ ```
374
+ Merge pull request #248 from justinstoller/feature/master/QENG-515-debug_env_vars
375
+
376
+ (QENG-515) Provide Important Env Vars Set in Debug Output
377
+ ```
378
+ * (QENG-845) Beaker junit xml: XML Parsing error (d33c710e)
379
+
380
+
381
+ ```
382
+ (QENG-845) Beaker junit xml: XML Parsing error
383
+
384
+ - need to strip out invalid characters from strings before printing to
385
+ xml, these characters are still invalid even if wrapped in a cdata
386
+ tag
387
+ ```
388
+ * (QENG-819) stderr collected for each testcase is incorrect... (8a5ffb15)
389
+
390
+
391
+ ```
392
+ (QENG-819) stderr collected for each testcase is incorrect...
393
+
394
+ ...(as seen in beaker xml output)
395
+
396
+ - keep track of the last result generated through the ssh connection
397
+ - add the last stderr to the junit xml output
398
+ - clear the collected last result before each test case
399
+ ```
400
+ * (gh-333) Typo in method name ('has' instead of 'hash') in ... (fa93b233)
401
+
402
+
403
+ ```
404
+ (gh-333) Typo in method name ('has' instead of 'hash') in ...
405
+
406
+ ... options_hash.rb (line 101)
407
+
408
+ - yup, fix the typo
409
+ ```
410
+ * Merge pull request #368 from anodelman/ec2-killer (73fe9788)
411
+
412
+
413
+ ```
414
+ Merge pull request #368 from anodelman/ec2-killer
415
+
416
+ (QENG-968) automate cleanup of zombie ec2 beaker instances generated by jenkins smoketests
417
+ ```
418
+ * Merge pull request #367 from anodelman/move-to-ec2 (62ddb7dd)
419
+
420
+
421
+ ```
422
+ Merge pull request #367 from anodelman/move-to-ec2
423
+
424
+ (QENG-844) move beaker smoketests over to ec2
425
+ ```
426
+ * (QENG-968) automate cleanup of zombie ec2 beaker instances... (505a80fb)
427
+
428
+
429
+ ```
430
+ (QENG-968) automate cleanup of zombie ec2 beaker instances...
431
+
432
+ ... generated by jenkins smoketests
433
+
434
+ - add support to aws_sdk hypervisor to kill zombies that have alive
435
+ longer than a given amount of hours
436
+ - make it possible to run beaker without a hosts_file, thus making it a
437
+ script executor
438
+ ```
439
+ * Merge pull request #321 from zaphod42/issue/master/race-in-stopping-master (75105eba)
440
+
441
+
442
+ ```
443
+ Merge pull request #321 from zaphod42/issue/master/race-in-stopping-master
444
+
445
+ (QENG-840) Replace puppet.conf after stopping master
446
+ ```
447
+ * (QENG-844) move beaker smoketests over to ec2 (1ee634e3)
448
+
449
+
450
+ ```
451
+ (QENG-844) move beaker smoketests over to ec2
452
+
453
+ - add 'lsb-release' to required packages for debian boxes, it is not in
454
+ our default ami's
455
+ ```
456
+ * (maint) Create default for master-start-curl-retries (2f8bf654)
457
+
458
+
459
+ ```
460
+ (maint) Create default for master-start-curl-retries
461
+
462
+ The master-start-curl-retries option did not have a default before.
463
+ Without the default it was possible to end up with a comparison against
464
+ null when retrying a check with curl (for checking that services are
465
+ running). This adds a default of 0 (no retries) to the presets.
466
+ ```
467
+ * (QENG-941) create contributor documentation for beaker (5b1fc8a9)
468
+
469
+
470
+ ```
471
+ (QENG-941) create contributor documentation for beaker
472
+
473
+ - create CONTRIBUTING.md
474
+ - covers steps necessary before PRs will be merged into Beaker
475
+ ```
476
+ * (QENG-431) (cleanup + split out filtering) expanded and improved role support in beaker (83f8aed1)
477
+
478
+
479
+ ```
480
+ (QENG-431) (cleanup + split out filtering) expanded and improved role support in beaker
481
+
482
+ - split out filtering from applying the block to hosts
483
+ - block_on now determines if we have a filter or not
484
+ - run_block_on accepts both a set of hosts and an optional filter
485
+ ```
486
+ * (QENG-431) (cleanup) expanded and improved role support in beaker (24ba4467)
487
+
488
+
489
+ ```
490
+ (QENG-431) (cleanup) expanded and improved role support in beaker
491
+
492
+ - cleanup in response to review comments
493
+ ```
494
+ * Revert "Revert "(QENG-431) expanded and improved role support in beaker"" (2e0b33b8)
495
+
496
+ * Clean up and document reproduction info methods in Beaker::CLI (fbb11f82)
497
+
498
+ * (maint) Remove unneeded modifications to File (975ff81a)
499
+
500
+
501
+ ```
502
+ (maint) Remove unneeded modifications to File
503
+
504
+ These modifications to the FakeFS::File class do not appear to be
505
+ needed. When they are removed all of the tests continue to work as
506
+ before.
507
+ ```
508
+ * (QENG-751) Request for Higgs support in installing beaker (ced78c55)
509
+
510
+
511
+ ```
512
+ (QENG-751) Request for Higgs support in installing beaker
513
+
514
+ - adds install_higgs command
515
+ - executes against master node
516
+ - downloads pe packages based upon pe_ver/pe_dir
517
+ - goes up to the point in the install where human interaction is
518
+ required (notices indication in install log that a link has been
519
+ provided to a web server)
520
+ ```
521
+ * (QENG-840) Replace puppet.conf after stopping master (ae264bed)
522
+
523
+
524
+ ```
525
+ (QENG-840) Replace puppet.conf after stopping master
526
+
527
+ A webrick master watches the puppet.conf file and will try to reload and
528
+ reapply the settings catalog when it changes. The with_puppet_running_on
529
+ method gets into a race with this behavior, plus bug PUP-2834, because
530
+ it puts the backed up puppet.conf back into place *before* trying to
531
+ shut down the master process. This caused the master to periodically
532
+ read the new configuration, fail in applying it, crash, and then beaker
533
+ would try to kill the process. The process was already dead and the kill
534
+ command ends up failing. This then causes the test to fail.
535
+
536
+ This changes it so that for webrick masters, the backed up file isn't
537
+ moved back into place until *after* the master has been shut down. Since
538
+ rack masters don't ever try to reread the config file, this doesn't
539
+ affect them. Also, in the rack case, the file needs to be moved into
540
+ place *before* the master is stopped since it is actually fully
541
+ restarted.
542
+ ```
543
+ * (QENG-762) add support to beaker scp_to/scp_from to ignore files of ... (53fce7cd)
544
+
545
+
546
+ ```
547
+ (QENG-762) add support to beaker scp_to/scp_from to ignore files of ...
548
+
549
+ ... certain name/type
550
+
551
+ - added support to scp_to for an ignore list of files/dirs. Does not
552
+ support globbing.
553
+ ```
554
+ * (QENG-807) add --collect-perf-data option, rspec tests, and yard docs (8d1a891d)
555
+
556
+ * (QENG-188) Allow foss runs to use service scripts (44d18d5f)
557
+
558
+
559
+ ```
560
+ (QENG-188) Allow foss runs to use service scripts
561
+
562
+ Prior to this commit, any run of beaker with a non-pe master that
563
+ attempted to stand up a master with a particular configuration in order
564
+ to test against it using the with_puppet_running_on() helper would
565
+ always stand up a webrick master by executing `puppet master <args>` and
566
+ then later stop it with `kill`.
567
+
568
+ The platform team needs to be able to run acceptance suites in which the
569
+ puppetmaster is started/stopped using package provided init scripts, or
570
+ by restarting apache if a passenger puppetmaster package is installed.
571
+
572
+ This PR takes the approach of enhancing Beaker::Host with a few query
573
+ methods controlled by host properties, either set in the hosts.cfg, or
574
+ directly on a master Beaker::Host instance during the execution of a
575
+ setup step. The added properties are:
576
+
577
+ * 'use-service' : if true, service scripts will be used instead of
578
+ manually starting a webrick master
579
+ * 'passenger' : if true, indicates a passenger package has been
580
+ installed, and by default graceful service restarts will be used
581
+ * 'puppetservice' : the 'puppetservice' property has been added to the
582
+ Beaker::Host::Unix.foss_defaults with the value of 'puppetmaster'. It
583
+ should be set to the appropriate service script name for passenger if a
584
+ passenger package has been installed.
585
+ * 'graceful-restarts' : can be set false if you want to stop/start with
586
+ service scripts rather than use graceful restarts when running with
587
+ passenger
588
+
589
+ The Beaker::Host#uses_passenger! call may be used to set a host
590
+ appropriately for passenger.
591
+
592
+ The graceful restarts facility of the dsl helper's bounce method assumes
593
+ apache2 was used for passenger and that apach2ctl is available.
594
+
595
+ Any existing test suite which does not 'opt-in' to any of these service
596
+ host changes by specifying any of the above properties should not be
597
+ effected by this commit.
598
+
599
+ There is also a spec related change to the FakeHost helper, which
600
+ previously was a stub pretending to provide Beaker::Host like facilities
601
+ and recording commands for review. This became unwieldy when the
602
+ various query methods for use_service_scripts? is_using_passenger? and
603
+ so forth were added, and the FakeHost has been updated to instead use
604
+ Beaker::Host.create to provide a host instance that is then extended
605
+ with the MockedExec module stubbing the exec facilities for testing.
606
+ ```
607
+ * (QENG-188) Allow foss runs to use service scripts, take 2 (577fce4d)
608
+
609
+
610
+ ```
611
+ (QENG-188) Allow foss runs to use service scripts, take 2
612
+
613
+ Prior to this commit, any run of beaker with a non-pe master that
614
+ attempted to stand up a master with a particular configuration in order
615
+ to test against it using the with_puppet_running_on() helper would
616
+ always stand up a webrick master by executing `puppet master <args>` and
617
+ then later stop it with `kill`.
618
+
619
+ The platform team needs to be able to run acceptance suites in which the
620
+ puppetmaster is started/stopped using package provided init scripts, or
621
+ by restarting apache if a passenger puppetmaster package is installed.
622
+
623
+ This PR takes the approach of enhancing Beaker::Host with a few query
624
+ methods controlled by host properties, either set in the hosts.cfg, or
625
+ directly on a master Beaker::Host instance during the execution of a
626
+ setup step. The added properties are:
627
+
628
+ * 'use-service' : if true, service scripts will be used instead of
629
+ manually starting a webrick master
630
+ * 'passenger' : if true, indicates a passenger package has been
631
+ installed, and by default graceful service restarts will be used
632
+ * 'puppetservice' : the 'puppetservice' property has been added to the
633
+ Beaker::Host::Unix.foss_defaults with the value of 'puppetmaster'. It
634
+ should be set to the appropriate service script name for passenger if a
635
+ passenger package has been installed.
636
+ * 'graceful-restarts' : can be set false if you want to stop/start with
637
+ service scripts rather than use graceful restarts when running with
638
+ passenger
639
+
640
+ The Beaker::Host#uses_passenger! call may be used to set a host
641
+ appropriately for passenger.
642
+
643
+ The graceful restarts facility of the dsl helper's bounce method assumes
644
+ apache2 was used for passenger and that apach2ctl is available.
645
+
646
+ Any existing test suite which does not 'opt-in' to any of these service
647
+ host changes by specifying any of the above properties should not be
648
+ effected by this commit. The exception to this is that PE runs will use
649
+ graceful restarts automatically with this commit.
650
+
651
+ There is also a spec related change to the FakeHost helper, which
652
+ previously was a stub pretending to provide Beaker::Host like facilities
653
+ and recording commands for review. This became unwieldy when the
654
+ various query methods for use_service_scripts? is_using_passenger? and
655
+ so forth were added, and the FakeHost has been updated to instead use
656
+ Beaker::Host.create to provide a host instance that is then extended
657
+ with the MockedExec module stubbing the exec facilities for testing.
658
+ ```
659
+ * Ensure IS_PE only respects different values (36abc3d8)
660
+
661
+
662
+ ```
663
+ Ensure IS_PE only respects different values
664
+
665
+ Previously if we set the IS_PE or BEAKER_IS_PE environment variable at
666
+ all we would automatically make the run a PE run. This caused
667
+ non-obvious behavior for users that set IS_PE=false.
668
+
669
+ This changes the searching of the environment to only set the :type
670
+ option if [BEAKER_]IS_PE=yes|true.
671
+
672
+ Signed-off-by: Justin Stoller <justin@puppetlabs.com>
673
+ ```
674
+ * Improve documentation and readability of environment parsing improvements (b27ac271)
675
+
676
+ * (QENG-758) add ability to select a group a beaker hosts based upon... (6acb6147)
677
+
678
+
679
+ ```
680
+ (QENG-758) add ability to select a group a beaker hosts based upon...
681
+
682
+ ...a set of properties
683
+
684
+ - a shortcut means of selecting a sub group of hosts to run commands on
685
+ ```
686
+ * (QENG-5156) Provide Important Env Vars Set in Debug Output (88c18537)
687
+
688
+
689
+ ```
690
+ (QENG-5156) Provide Important Env Vars Set in Debug Output
691
+
692
+ This provides the Environment Variables that are pertinent to running
693
+ Beaker as an error message after a failed run or as a debug message
694
+ on a successful run in the debug log level.
695
+ ```
696
+ ### <a name = "beaker1.16.0">beaker1.16.0 - 17 Jul, 2014 (c1267696)
697
+
698
+ * Merge pull request #366 from anodelman/make-gem (c1267696)
699
+
700
+
701
+ ```
702
+ Merge pull request #366 from anodelman/make-gem
703
+
704
+ (HISTORY) update history for release of beaker 1.16.0 gem
705
+ ```
706
+ * (HISTORY) update history for release of beaker 1.16.0 gem (385f65c6)
55
707
 
56
708
  * Merge pull request #364 from anodelman/make-gem (b0558827)
57
709
 
data/beaker.gemspec CHANGED
@@ -33,6 +33,7 @@ Gem::Specification.new do |s|
33
33
 
34
34
  # Run time dependencies
35
35
  s.add_runtime_dependency 'json', '~> 1.8'
36
+ s.add_runtime_dependency 'hocon', '~> 0.0.4'
36
37
  s.add_runtime_dependency 'net-ssh', '~> 2.6'
37
38
  s.add_runtime_dependency 'net-scp', '~> 1.1'
38
39
  s.add_runtime_dependency 'inifile', '~> 2.0'
@@ -4,7 +4,11 @@ module Beaker
4
4
  module Answers
5
5
  module Version34
6
6
  def self.answers(hosts, master_certname, options)
7
+ master = only_host_with_role(hosts, 'master')
8
+
7
9
  the_answers = Version32.answers(hosts, master_certname, options)
10
+ the_answers[master.name][:q_jvm_puppetmaster] = 'y'
11
+
8
12
  return the_answers
9
13
  end
10
14
  end