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
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- YzBmNDU3OTYwNGM3YTEwYjk2MjZlNmNjNzg5MDg1YTExMGRlOTMwMQ==
4
+ Y2ZiN2MxNTYzZTY2M2QyZTViYzczZTBkYTY0NWNkYzQ2MDY4M2QwNQ==
5
5
  data.tar.gz: !binary |-
6
- NWMzMzg3NDRlMTUyMDliN2E4NDBiODQ5ODY2MGNmNWZiYTNhMWRjOQ==
6
+ ZWMwNTkxYzVlMTI1NzRiMjQwMWIxODdlMTIxMzJlMjZkYjE4OWIwYg==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- MTQ3NWM0MmVhZjRkZjU4NTE4NTMwMWM5YTAwMGU1ZmI1YTI4ZDgxMjQ0NzEy
10
- MjVmOWM3YjIwYzY4YjNiNGU3MmNhZDg2MDBiZGU1MjZhZDk5NzdlY2UwNTE1
11
- NDZlMDFmZjZiYWY4NzRmN2RjNWZjZjM5NGI4M2U2ZTIyYjA1N2E=
9
+ ZGQ0Yzk2MDRmNzk4OGIwZDE0N2NiZGRjZjlkMWMzMTk3ZWMwYmQ0OWY2OTg3
10
+ ZGI0YjVmM2I3N2UwNjA0ZjlhZWEyNjlkNGZjYWIyMjg0NmFmMWIxOWFkOWM1
11
+ OTlkZjI0Mzc4ZjI1MDEyNTFjNDdkOTgxMGU3MGZmMzQ4NTI0ZTE=
12
12
  data.tar.gz: !binary |-
13
- OWFlYTRiOTYxYzQ1ODYxYmI2NGYwNDQyMDQ2NjFiOWI1MzY3MDZiYjYxZjhl
14
- YzM3OGQyMzYyMTBjNmExZDlkZWZmOTk4NzZkZDBhODc0NzE3NmY1YmExMmNh
15
- NDZiNmJjMzc1MTYwMjRhNzkyYzM3M2U4OWEwMjkxMjIwOWE0NzE=
13
+ NWQ4NTZmMWJjOGExMmNiZjU2NGUxZDgzNjk1NmE2ZTE4YzU3ZGY1ZjU2NWIy
14
+ YTJlOWI4NjNjZWUwZDJmMjVmNjA5MTE1NWM4NTgwNTkwNDZlNzVhNjQyNzRh
15
+ ZTUwMjFlODY5M2EyNTI3YWY5YTM3YTZkYmMyMjliM2RlYWIyM2Y=
data/CONTRIBUTING.md ADDED
@@ -0,0 +1,90 @@
1
+ # How To Contribute To Beaker
2
+
3
+ ## Getting Started
4
+
5
+ * If it is accessible to you, create a [Jira account](http://tickets.puppetlabs.com)
6
+ * Make sure you have a [GitHub account](https://github.com/signup/free)
7
+ * Submit a ticket for your issue, assuming one does not already exist.
8
+ * Clearly describe the issue including steps to reproduce when it is a bug.
9
+ * File in the appropriate location:
10
+ * Using your [Jira account](http://tickets.puppetlabs.com)
11
+ * Beaker bugs are submitted in the `QENG` project with the `Beaker` component.
12
+ * As a [GitHub issue](https://github.com/puppetlabs/beaker/issues?direction=desc&sort=updated&state=open)
13
+ * Fork the [Beaker repository on GitHub](https://github.com/puppetlabs/beaker)
14
+
15
+ ## Making Changes
16
+
17
+ * Create a topic branch from where you want to base your work.
18
+ * This is the `master` branch in the case of Beaker
19
+ * To quickly create a topic branch based on master use `git checkout -b my_contribution master`. Please avoid working directly on the `master` branch.
20
+ * Make commits of logical units.
21
+ * Check for unnecessary whitespace with `git diff --check` before committing.
22
+ * Make sure your commit messages are in the proper format.
23
+
24
+ ````
25
+ (QENG-1234 OR gh-1234) Make the example in CONTRIBUTING imperative and concrete
26
+
27
+ Without this patch applied the example commit message in the CONTRIBUTING
28
+ document is not a concrete example. This is a problem because the
29
+ contributor is left to imagine what the commit message should look like
30
+ based on a description rather than an example. This patch fixes the
31
+ problem by making the example concrete and imperative.
32
+
33
+ The first line is a real life imperative statement with a ticket number
34
+ from our issue tracker. The body describes the behavior without the patch,
35
+ why this is a problem, and how the patch fixes the problem when applied.
36
+ ````
37
+
38
+ * Make sure you have added [RSpec](http://rspec.info/) tests that exercise your new code. These test should be located in the appropriate `beaker/spec/` subdirectory. The addition of new methods/classes or the addition of code paths to existing methods/classes requires additional RSpec coverage.
39
+ * Make sure that you have added documentation using [Yard](http://yardoc.org/), new methods/classes without apporpriate documentation will be rejected.
40
+ * Run the tests to assure nothing else was accidentally broken, using `rake test`
41
+ * **Bonus**: if possible ensure that `rake test` runs without failures for additional Ruby versions (1.9, 1.8, 2.0). Beaker supports Ruby 1.8+, and breakage of support for older/newer rubies will cause a patch to be rejected.
42
+ * During the time that you are working on your patch the master Beaker branch may have changed - you'll want to [rebase](http://git-scm.com/book/en/Git-Branching-Rebasing) before you submit your PR with `git rebase master`. A successful rebase ensures that your patch will cleanly merge into Beaker.
43
+ * Submitted patches will be smoke tested through a series of acceptance level tests that ensures basic Beaker functionality - the results of these tests will be evaluated by a Beaker team member. Failures associated with the submitted patch will result in the patch being rejected.
44
+
45
+ ## Making Trivial Changes
46
+
47
+ ### Maintenance
48
+
49
+ For changes of a trivial nature, it is not always necessary to create a new ticket in Jira or GitHub. In this case, it is appropriate to start the first line of a commit with `(MAINT)` instead of a ticket/issue number.
50
+
51
+ ````
52
+ (MAINT) Fix whitespace
53
+
54
+ - remove additional spaces that appear at EOL
55
+ ````
56
+ ### Version Bump For Gem Release
57
+
58
+ To prepare for a new gem release of Beaker the `version.rb` file is updated with the upcoming gem version number. This is submitted with `(GEM)` instead of a ticket/issue number.
59
+
60
+ ````
61
+ (GEM) Update version for Beaker 1.16.1
62
+ ````
63
+ ### History File Update
64
+
65
+ To prepare for a new gem release of Beaker (after the version has been bumped) the `HISTORY.md` file is updated with the latest GitHub log. This is submitted with `(HISTORY)` instead of a ticket/issue number.
66
+
67
+ ````
68
+ (HISTORY) Update history for release of Beaker 1.16.1
69
+ ````
70
+ ## Submitting Changes
71
+
72
+ * Sign the [Contributor License Agreement](http://links.puppetlabs.com/cla).
73
+ * Push your changes to a topic branch in your fork of the repository.
74
+ * Submit a pull request to [Beaker](https://github.com/puppetlabs/beaker)
75
+ * Update your ticket
76
+ * Update your [Jira](http://tickets.puppetlabs.com) ticket to mark that you have submitted code and are ready for it to be reviewed (Status: Ready for Review).
77
+ * Include a link to the pull request in the ticket.
78
+ * Update your [GitHub issue](https://github.com/puppetlabs/beaker/issues?direction=desc&sort=updated&state=open)
79
+ * Include a link to the pull request in the issue.
80
+ * PRs are reviewed as time permits.
81
+
82
+ # Additional Resources
83
+
84
+ * [More information on contributing](http://links.puppetlabs.com/contribute-to-puppet)
85
+ * [Bug tracker (Jira)](http://tickets.puppetlabs.com)
86
+ * [Contributor License Agreement](http://links.puppetlabs.com/cla)
87
+ * [General GitHub documentation](http://help.github.com/)
88
+ * [GitHub pull request documentation](http://help.github.com/send-pull-requests/)
89
+ * Questions? Comments? Contact the Beaker team at the #puppet-dev IRC channel on freenode.org
90
+ * The keyword `beaker` is monitored and we'll get back to you as quick as we can.