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.
- checksums.yaml +8 -8
- data/CONTRIBUTING.md +90 -0
- data/HISTORY.md +654 -2
- data/beaker.gemspec +1 -0
- data/lib/beaker/answers/version34.rb +4 -0
- data/lib/beaker/cli.rb +49 -2
- data/lib/beaker/dsl/helpers.rb +356 -196
- data/lib/beaker/dsl/install_utils.rb +135 -16
- data/lib/beaker/dsl/patterns.rb +37 -0
- data/lib/beaker/dsl/roles.rb +29 -0
- data/lib/beaker/dsl.rb +2 -1
- data/lib/beaker/host/unix.rb +14 -10
- data/lib/beaker/host/windows.rb +2 -0
- data/lib/beaker/host.rb +96 -1
- data/lib/beaker/host_prebuilt_steps.rb +41 -51
- data/lib/beaker/hypervisor/aws_sdk.rb +80 -16
- data/lib/beaker/hypervisor/ec2_helper.rb +1 -1
- data/lib/beaker/logger.rb +17 -0
- data/lib/beaker/options/command_line_parser.rb +3 -0
- data/lib/beaker/options/hosts_file_parser.rb +7 -4
- data/lib/beaker/options/options_hash.rb +2 -2
- data/lib/beaker/options/parser.rb +1 -1
- data/lib/beaker/options/presets.rb +128 -83
- data/lib/beaker/perf.rb +58 -0
- data/lib/beaker/shared/host_manager.rb +81 -0
- data/lib/beaker/shared.rb +2 -2
- data/lib/beaker/ssh_connection.rb +14 -7
- data/lib/beaker/test_case.rb +13 -0
- data/lib/beaker/test_suite.rb +23 -5
- data/lib/beaker/version.rb +1 -1
- data/lib/beaker.rb +1 -1
- data/spec/beaker/answers_spec.rb +13 -8
- data/spec/beaker/dsl/ezbake_utils_spec.rb +8 -9
- data/spec/beaker/dsl/helpers_spec.rb +299 -51
- data/spec/beaker/dsl/install_utils_spec.rb +75 -10
- data/spec/beaker/dsl/roles_spec.rb +36 -1
- data/spec/beaker/host_prebuilt_steps_spec.rb +21 -5
- data/spec/beaker/host_spec.rb +187 -23
- data/spec/beaker/hypervisor/ec2_helper_spec.rb +4 -4
- data/spec/beaker/hypervisor/vagrant_spec.rb +1 -1
- data/spec/beaker/options/hosts_file_parser_spec.rb +5 -0
- data/spec/beaker/options/options_hash_spec.rb +2 -2
- data/spec/beaker/options/parser_spec.rb +6 -0
- data/spec/beaker/options/presets_spec.rb +18 -2
- data/spec/beaker/perf_spec.rb +87 -0
- data/spec/beaker/shared/{host_role_parser_spec.rb → host_manager_spec.rb} +36 -5
- data/spec/beaker/test_suite_spec.rb +4 -3
- data/spec/matchers.rb +31 -3
- data/spec/mocks.rb +31 -25
- metadata +24 -5
- 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
|
-
|
4
|
+
Y2ZiN2MxNTYzZTY2M2QyZTViYzczZTBkYTY0NWNkYzQ2MDY4M2QwNQ==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
ZWMwNTkxYzVlMTI1NzRiMjQwMWIxODdlMTIxMzJlMjZkYjE4OWIwYg==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
ZGQ0Yzk2MDRmNzk4OGIwZDE0N2NiZGRjZjlkMWMzMTk3ZWMwYmQ0OWY2OTg3
|
10
|
+
ZGI0YjVmM2I3N2UwNjA0ZjlhZWEyNjlkNGZjYWIyMjg0NmFmMWIxOWFkOWM1
|
11
|
+
OTlkZjI0Mzc4ZjI1MDEyNTFjNDdkOTgxMGU3MGZmMzQ4NTI0ZTE=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
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.
|