beaker 1.16.0 → 1.17.0

Sign up to get free protection for your applications and to get access to all the features.
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