beaker 3.34.0 → 3.35.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +12 -1
- data/acceptance/tests/base/external_resources_test.rb +18 -3
- data/acceptance/tests/base/host/host_test.rb +1 -1
- data/docs/concepts/testing_beaker_itself.md +4 -4
- data/docs/concepts/ticket_process.md +12 -12
- data/docs/concepts/types_puppet_4_and_the_all_in_one_agent.md +1 -1
- data/docs/how_to/change_terminal_output_coloring.md +1 -1
- data/docs/how_to/confine.md +3 -3
- data/docs/how_to/debug_beaker_tests.md +19 -19
- data/docs/how_to/enabling_cross_sut_access.md +1 -1
- data/docs/how_to/hosts/README.md +1 -1
- data/docs/how_to/hosts/cisco.md +1 -1
- data/docs/how_to/hypervisors/README.md +1 -1
- data/docs/how_to/platform_specific_tag_confines.md +2 -2
- data/docs/how_to/preserve_hosts.md +2 -2
- data/docs/how_to/rake_tasks.md +3 -4
- data/docs/how_to/test_arbitrary_beaker_versions.md +3 -3
- data/docs/how_to/upgrade_from_2_to_3.md +4 -4
- data/docs/tutorials/README.md +1 -1
- data/docs/tutorials/test_suites.md +1 -1
- data/lib/beaker/cli.rb +1 -0
- data/lib/beaker/command.rb +2 -2
- data/lib/beaker/dsl/assertions.rb +1 -1
- data/lib/beaker/dsl/helpers/facter_helpers.rb +1 -1
- data/lib/beaker/dsl/install_utils/pe_defaults.rb +1 -1
- data/lib/beaker/dsl/roles.rb +1 -1
- data/lib/beaker/dsl/structure.rb +2 -2
- data/lib/beaker/host/cisco.rb +3 -3
- data/lib/beaker/host/mac/exec.rb +1 -1
- data/lib/beaker/host/windows/exec.rb +1 -1
- data/lib/beaker/host_prebuilt_steps.rb +3 -0
- data/lib/beaker/options/hosts_file_parser.rb +9 -2
- data/lib/beaker/options/parser.rb +1 -1
- data/lib/beaker/shared/options_resolver.rb +6 -6
- data/lib/beaker/subcommand.rb +13 -8
- data/lib/beaker/tasks/quick_start.rb +2 -2
- data/lib/beaker/version.rb +1 -1
- data/spec/beaker/host/unix/exec_spec.rb +1 -1
- data/spec/beaker/host_prebuilt_steps_spec.rb +1 -0
- data/spec/beaker/options/hosts_file_parser_spec.rb +15 -7
- data/spec/beaker/shared/error_handler_spec.rb +2 -2
- data/spec/beaker/shared/repetition_spec.rb +2 -2
- data/spec/beaker/subcommand_spec.rb +82 -30
- data/spec/helpers.rb +1 -1
- data/spec/mock_fission.rb +4 -4
- data/spec/mock_vsphere.rb +5 -5
- data/spec/mock_vsphere_helper.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7f5dbb3dbc5bdfbfb8b3faf9309c674fa6e07cf3
|
4
|
+
data.tar.gz: 35dcba5f1881fcb33c682151f9f06dab083fbe21
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9b64080cc40e949ca9359e27f9c3bbcd97a5d2af745f26dcb86f3807655231afd5a4e99ccebd4e33e8c4dcf308fecb25ba4ce1614859ffdff50ce1da9c8d055a
|
7
|
+
data.tar.gz: ac37b874e60d5b8aea0c8b4b63eb98ec2c612d78d7fbd86a37f41f2f4863d58db08c90b436bbae2165832801f5d9ceb337826d1b4779f730c0e0d5975026ce37
|
data/CHANGELOG.md
CHANGED
@@ -11,7 +11,18 @@ Tracking in this Changelog began for this project in version 3.25.0.
|
|
11
11
|
If you're looking for changes from before this, refer to the project's
|
12
12
|
git logs & PR history.
|
13
13
|
|
14
|
-
# [Unreleased](https://github.com/puppetlabs/beaker/compare/3.
|
14
|
+
# [Unreleased](https://github.com/puppetlabs/beaker/compare/3.35.0...master)
|
15
|
+
|
16
|
+
# [3.35.0](https://github.com/puppetlabs/beaker/compare/3.34.0...3.35.0) - 2018-05-16
|
17
|
+
|
18
|
+
### Fixed
|
19
|
+
|
20
|
+
- Report accurate location of generated smoke test
|
21
|
+
- Accept comma-separated tests for exec subcommand
|
22
|
+
|
23
|
+
### Added
|
24
|
+
|
25
|
+
- Added optional ability to use ERB in nodeset YAML files
|
15
26
|
|
16
27
|
# [3.34.0](https://github.com/puppetlabs/beaker/compare/3.33.0...3.34.0) - 2018-03-26
|
17
28
|
|
@@ -1,10 +1,25 @@
|
|
1
1
|
test_name 'External Resources Test' do
|
2
2
|
step 'Verify EPEL resources are up and available' do
|
3
|
-
def
|
3
|
+
def build_url(el_version)
|
4
4
|
url_base = options[:epel_url]
|
5
5
|
url_base = options[:epel_url_archive] if el_version == 5
|
6
|
-
|
7
|
-
|
6
|
+
"#{url_base}/epel-release-latest-#{el_version}.noarch.rpm"
|
7
|
+
end
|
8
|
+
|
9
|
+
def epel_url_test(el_version)
|
10
|
+
url = build_url(el_version)
|
11
|
+
# -I option just asks for headers, not looking to download the package
|
12
|
+
curl_cmd = Command.new("curl -I #{url}")
|
13
|
+
host = default
|
14
|
+
curl_headers_result = Result.new(host, curl_cmd)
|
15
|
+
curl_fail_msg = "EPEL curl failed, waiting for fibonacci backoff to retry..."
|
16
|
+
|
17
|
+
repeat_fibonacci_style_for(10) do
|
18
|
+
curl_headers_result = host.exec(curl_cmd)
|
19
|
+
curl_succeeded = curl_headers_result.exit_code == 0
|
20
|
+
logger.info(curl_fail_msg) unless curl_succeeded
|
21
|
+
curl_succeeded
|
22
|
+
end
|
8
23
|
assert_match(/200 OK/, curl_headers_result.stdout, "EPEL #{el_version} should be reachable at #{url}")
|
9
24
|
end
|
10
25
|
|
@@ -6,7 +6,7 @@ While Beaker provides the testing harness for much of the acceptance testing tha
|
|
6
6
|
|
7
7
|
### Product Coverage
|
8
8
|
|
9
|
-
Beaker test coverage covers the LTS PE version, currently 2016.4.0, and the latest released version of PE, currently 2016.5.0.
|
9
|
+
Beaker test coverage covers the LTS PE version, currently 2016.4.0, and the latest released version of PE, currently 2016.5.0.
|
10
10
|
Since there is only a single major version of Puppet itself currently supported, beaker only run tests on the latest y-release of Puppet 4, currently 4.8.z. This currently resolves to puppet-agent 1.8.x.
|
11
11
|
|
12
12
|
### Platform Coverage
|
@@ -16,10 +16,10 @@ The platforms that beaker covers in its regression testing are largely what is s
|
|
16
16
|
## Test Suite Phases
|
17
17
|
|
18
18
|
### Beaker Spec
|
19
|
-
The initial step in Beaker's pipeline is to execute spec testing with supported and future rubies; 2.2.5 and 2.3.1.
|
19
|
+
The initial step in Beaker's pipeline is to execute spec testing with supported and future rubies; 2.2.5 and 2.3.1.
|
20
20
|
|
21
|
-
### Beaker Acceptance
|
22
|
-
All acceptance tests use actual OS's with beaker installed and use beaker itself to verify that its own methods and classes are working.
|
21
|
+
### Beaker Acceptance
|
22
|
+
All acceptance tests use actual OS's with beaker installed and use beaker itself to verify that its own methods and classes are working.
|
23
23
|
|
24
24
|
* The Base tests are tests that do not require puppet be installed on the SUT. This includes much of the DSL and host helpers.
|
25
25
|
* The puppet tests rely on puppet being installed in the pre-suite
|
@@ -11,9 +11,9 @@ stages as well.
|
|
11
11
|
|
12
12
|
## Administrivia
|
13
13
|
|
14
|
-
- Beaker tickets live in the
|
14
|
+
- Beaker tickets live in the
|
15
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
|
16
|
+
- Create a [Jira account](http://tickets.puppetlabs.com) to interact with them
|
17
17
|
|
18
18
|
## Pre-Development States
|
19
19
|
|
@@ -39,14 +39,14 @@ person you need info from to move the ticket forward.
|
|
39
39
|
|
40
40
|
This is the state for when a ticket has been triaged, but hasn't yet been
|
41
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
|
42
|
+
take on the work. Any preliminary information needed to understand the
|
43
43
|
ticket (before investigation) should be gathered before this point.
|
44
44
|
|
45
45
|
### Ready for Engineering
|
46
46
|
|
47
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
|
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
50
|
the time the issue has been picked up in a sprint.
|
51
51
|
|
52
52
|
## Development States
|
@@ -62,23 +62,23 @@ they're currently working on a particular issue.
|
|
62
62
|
### Ready for Merge
|
63
63
|
|
64
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)),
|
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
68
|
it will be linked from the JIRA ticket.
|
69
69
|
|
70
|
-
In the Beaker project, we leave the assignee as the person who wrote the
|
70
|
+
In the Beaker project, we leave the assignee as the person who wrote the
|
71
71
|
proposed change, so that they know that they have to keep pushing for their
|
72
72
|
code to be merged.
|
73
73
|
|
74
74
|
### Resolved
|
75
75
|
|
76
|
-
Once your PR is merged, then you can Resolve your ticket.
|
76
|
+
Once your PR is merged, then you can Resolve your ticket.
|
77
77
|
|
78
78
|
**NOTE** that when you do this, you should set the FixedVersion to
|
79
79
|
|
80
80
|
BKR.next
|
81
|
-
|
82
|
-
The reason that we do this now and not before is that we use this field to
|
81
|
+
|
82
|
+
The reason that we do this now and not before is that we use this field to
|
83
83
|
autogenerate our release notes. We want to make sure that we capture only
|
84
84
|
work that is _in_ the next release, not work that's _intended_ for it.
|
@@ -1,6 +1,6 @@
|
|
1
1
|
## So What Are Types Anyway?
|
2
2
|
|
3
|
-
Historically, Puppet Open Source and Enterprise have had different paths for different resources. Beaker supports these configurations through the use of its `type` parameter. The Beaker CLI exposes this parameter with the `--type` option.
|
3
|
+
Historically, Puppet Open Source and Enterprise have had different paths for different resources. Beaker supports these configurations through the use of its `type` parameter. The Beaker CLI exposes this parameter with the `--type` option.
|
4
4
|
|
5
5
|
The two older types are represented by the `foss` and `pe` values.
|
6
6
|
|
@@ -13,7 +13,7 @@ Changes to the default options can be made by editing the configuration file.
|
|
13
13
|
Here are some examples:
|
14
14
|
|
15
15
|
**Eg 1: Changing color of a particular type of message**
|
16
|
-
Add the following to the hosts file to change the color of `success` messages to `GREEN` and `warning` messages to `YELLOW`.
|
16
|
+
Add the following to the hosts file to change the color of `success` messages to `GREEN` and `warning` messages to `YELLOW`.
|
17
17
|
To get the color-code corresponding to a color, refer to: [Colors Supported by Beaker] (https://github.com/puppetlabs/beaker/blob/master/lib/beaker/logger.rb#L14-L32)
|
18
18
|
|
19
19
|
HOSTS:
|
data/docs/how_to/confine.md
CHANGED
@@ -9,13 +9,13 @@ is that the **TestCase#hosts** array is modified to only contain the hosts that
|
|
9
9
|
|
10
10
|
Full method documentation here:
|
11
11
|
|
12
|
-
* [confine](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Structure#confine-instance_method)
|
12
|
+
* [confine](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Structure#confine-instance_method)
|
13
13
|
|
14
14
|
## How does the optional Array<Host> parameter work?
|
15
15
|
|
16
16
|
However, if you pass in the optional Array<Host> to the method, the criteria will be applied to this hosts array
|
17
17
|
(not **TestCase#hosts**). Subsequently, any of the hosts contained in **TestCase#hosts** that were not included in the Array<Host>
|
18
|
-
passed to the method, will remain in **TestCase#hosts**. But any hosts that were filtered out by the criteria match
|
18
|
+
passed to the method, will remain in **TestCase#hosts**. But any hosts that were filtered out by the criteria match
|
19
19
|
will be overwritten.
|
20
20
|
|
21
21
|
Take the following example:
|
@@ -69,7 +69,7 @@ is being applied directly to **TestCase#hosts** (which contains all hosts).
|
|
69
69
|
|
70
70
|
`confine :except, { :platform => 'el-7-x86_64' }`
|
71
71
|
|
72
|
-
Will return two hosts (ubuntu_master and ubuntu_agent).
|
72
|
+
Will return two hosts (ubuntu_master and ubuntu_agent).
|
73
73
|
|
74
74
|
In order to limit the hosts to only the ubuntu agent, you would need to use:
|
75
75
|
|
@@ -67,48 +67,48 @@ Hypervisor for w2k8r2 is none
|
|
67
67
|
Hypervisor for w2k3r2 is none
|
68
68
|
Beaker::Hypervisor, found some none boxes to create
|
69
69
|
|
70
|
-
pe-centos6 10:55:27$ which curl
|
70
|
+
pe-centos6 10:55:27$ which curl
|
71
71
|
/usr/bin/curl
|
72
72
|
|
73
73
|
pe-centos6 executed in 0.14 seconds
|
74
74
|
|
75
|
-
pe-centos6 10:55:27$ which ntpdate
|
75
|
+
pe-centos6 10:55:27$ which ntpdate
|
76
76
|
/usr/sbin/ntpdate
|
77
77
|
|
78
78
|
pe-centos6 executed in 0.01 seconds
|
79
79
|
|
80
|
-
w2k8r2 10:55:27$ which curl
|
80
|
+
w2k8r2 10:55:27$ which curl
|
81
81
|
/bin/curl
|
82
82
|
|
83
83
|
w2k8r2 executed in 0.42 seconds
|
84
84
|
|
85
|
-
w2k3r2 10:55:27$ which curl
|
85
|
+
w2k3r2 10:55:27$ which curl
|
86
86
|
/bin/curl
|
87
87
|
|
88
88
|
w2k3r2 executed in 0.29 seconds
|
89
89
|
No tests to run for suite 'pre_suite'
|
90
90
|
Begin tests/trypry.rb
|
91
91
|
|
92
|
-
pe-centos6 10:55:28$ echo hello
|
92
|
+
pe-centos6 10:55:28$ echo hello
|
93
93
|
hello
|
94
94
|
|
95
95
|
pe-centos6 executed in 0.01 seconds
|
96
96
|
|
97
|
-
pe-centos6 10:55:28$ echo test block
|
97
|
+
pe-centos6 10:55:28$ echo test block
|
98
98
|
test block
|
99
99
|
|
100
100
|
pe-centos6 executed in 0.01 seconds
|
101
101
|
block result.stdout: test block
|
102
102
|
block result.raw_stdout: test block
|
103
103
|
|
104
|
-
pe-centos6 10:55:28$ echo test block, built in functions
|
104
|
+
pe-centos6 10:55:28$ echo test block, built in functions
|
105
105
|
test block, built in functions
|
106
106
|
|
107
107
|
pe-centos6 executed in 0.00 seconds
|
108
108
|
built in function stdout: test block, built in functions
|
109
109
|
built in function stderr:
|
110
110
|
|
111
|
-
pe-centos6 10:55:28$ echo no block
|
111
|
+
pe-centos6 10:55:28$ echo no block
|
112
112
|
no block
|
113
113
|
|
114
114
|
pe-centos6 executed in 0.00 seconds
|
@@ -137,7 +137,7 @@ Here's some sample console calls:
|
|
137
137
|
=> [pe-centos6, w2k8r2, w2k3r2]
|
138
138
|
[2] pry(#<Beaker::TestCase>)> on hosts[1], 'echo hello'
|
139
139
|
|
140
|
-
w2k8r2 10:54:11$ echo hello
|
140
|
+
w2k8r2 10:54:11$ echo hello
|
141
141
|
hello
|
142
142
|
|
143
143
|
w2k8r2 executed in 0.07 seconds
|
@@ -153,7 +153,7 @@ w2k8r2 executed in 0.07 seconds
|
|
153
153
|
@stdout="hello\n">
|
154
154
|
[3] pry(#<Beaker::TestCase>)> on hosts[1], 'ls /cygdrive/c/Documents\ and\ Settings/All\ Users/Application\ Data/'
|
155
155
|
|
156
|
-
w2k8r2 10:56:15$ ls /cygdrive/c/Documents\ and\ Settings/All\ Users/Application\ Data/
|
156
|
+
w2k8r2 10:56:15$ ls /cygdrive/c/Documents\ and\ Settings/All\ Users/Application\ Data/
|
157
157
|
Application Data
|
158
158
|
Desktop
|
159
159
|
Documents
|
@@ -184,7 +184,7 @@ w2k8r2 executed in 0.09 seconds
|
|
184
184
|
"Application Data\nDesktop\nDocuments\nFavorites\nMicrosoft\nPackage Cache\nStart Menu\nTemplates\nVMware\nbeaker.gemspec\nntuser.pol\n">
|
185
185
|
[4] pry(#<Beaker::TestCase>)> result = on hosts[1], 'ls /cygdrive/c/Documents\ and\ Settings/All\ Users/Application\ Data/'
|
186
186
|
|
187
|
-
w2k8r2 10:56:34$ ls /cygdrive/c/Documents\ and\ Settings/All\ Users/Application\ Data/
|
187
|
+
w2k8r2 10:56:34$ ls /cygdrive/c/Documents\ and\ Settings/All\ Users/Application\ Data/
|
188
188
|
Application Data
|
189
189
|
Desktop
|
190
190
|
Documents
|
@@ -239,10 +239,10 @@ Consider this example test case _test.rb_, which is going to fail:
|
|
239
239
|
assert_equal(important_expected_value, actual_value, 'This product is faulty')
|
240
240
|
end
|
241
241
|
|
242
|
-
You can run this test using `beaker -t test.rb` or (to use the `run` subcommand and just run the test and bypass host provisioning etc) `beaker run -t test.rb`
|
242
|
+
You can run this test using `beaker -t test.rb` or (to use the `run` subcommand and just run the test and bypass host provisioning etc) `beaker run -t test.rb`
|
243
243
|
It fails.
|
244
244
|
|
245
|
-
Now try `beaker run -t test.rb --debug-errors`
|
245
|
+
Now try `beaker run -t test.rb --debug-errors`
|
246
246
|
This will enter a pry console when the failure occurs.
|
247
247
|
|
248
248
|
* Assert expected matches actual
|
@@ -250,9 +250,9 @@ This will enter a pry console when the failure occurs.
|
|
250
250
|
Expected: 3
|
251
251
|
Actual: 2>
|
252
252
|
HINT: Use the pry 'backtrace' and 'up' commands to navigate to the test code
|
253
|
-
|
253
|
+
|
254
254
|
From: /home/puppet/code/beaker/lib/beaker/dsl/structure.rb @ line 51 Beaker::DSL::Structure#step:
|
255
|
-
|
255
|
+
|
256
256
|
38: def step step_name, &block
|
257
257
|
39: logger.notify "\n* #{step_name}\n"
|
258
258
|
40: set_current_step_name(step_name)
|
@@ -271,7 +271,7 @@ This will enter a pry console when the failure occurs.
|
|
271
271
|
53: logger.step_out()
|
272
272
|
54: end
|
273
273
|
55: end
|
274
|
-
|
274
|
+
|
275
275
|
[1] pry(#<Beaker::TestCase>)>
|
276
276
|
|
277
277
|
Because beaker is catching the exception, pry is showing you beaker code. But you can navigate to your own test code using the `backtrace` and `up` commands.
|
@@ -288,7 +288,7 @@ Because beaker is catching the exception, pry is showing you beaker code. But yo
|
|
288
288
|
The arrow indicates pry is showing code at the top of the stack trace. At position #2 in the stack you can see line 5 of test.rb - this is the actual test code that failed. You can navigate there by entering the `up` command twice.
|
289
289
|
|
290
290
|
From: /home/puppet/code/beaker/test.rb @ line 5 self.run_test:
|
291
|
-
|
291
|
+
|
292
292
|
1: test_name 'An important aspect of my product'
|
293
293
|
2:
|
294
294
|
3: important_expected_value = 3
|
@@ -297,7 +297,7 @@ The arrow indicates pry is showing code at the top of the stack trace. At positi
|
|
297
297
|
6: actual_value = 2
|
298
298
|
7: assert_equal(important_expected_value, actual_value, 'This product is faulty')
|
299
299
|
8: end
|
300
|
-
|
300
|
+
|
301
301
|
[2] pry(#<Beaker::TestCase>)>
|
302
302
|
|
303
303
|
> **NOTE:** Bear in mind that though you are navigating through your code here; pry is not rewinding code execution. When you exit pry, beaker will continue its execution from the top of the backtrace, failing the test due to the error that occurred.
|
@@ -307,7 +307,7 @@ From here, you can examine variables in your test. If you have hosts provisioned
|
|
307
307
|
## Defining external breakpoints with byebug
|
308
308
|
This method is perhaps the least intuitive to use; but combines the advantages of letting you pick the line(s) of code to set breakpoints on; and being able to debug without needing to edit your test code directly. It is sometimes desirable to debug a test without changing the test's code at all; for example, if you want to compare a test at two or more different git commits, your test source needs to remain unmodified from its committed form.
|
309
309
|
|
310
|
-
byebug allows you to externally define breakpoints to keep them separate from your source code.
|
310
|
+
byebug allows you to externally define breakpoints to keep them separate from your source code.
|
311
311
|
|
312
312
|
### Example
|
313
313
|
Consider the following test file test.rb:
|
@@ -13,7 +13,7 @@ To load the SSH agent and add your SSH key, run the following:
|
|
13
13
|
eval `ssh-agent`
|
14
14
|
ssh-add <SSH key file path>
|
15
15
|
~~~
|
16
|
-
|
16
|
+
|
17
17
|
A common example of where this functionality would be required for beaker developers, is in testing subcommands. There, we setup multiple SUTs that need to communicate between themselves. To run our subcommand testing to verify that you have agent forwarding setup correctly, run the following:
|
18
18
|
|
19
19
|
~~~bash
|
data/docs/how_to/hosts/README.md
CHANGED
@@ -4,5 +4,5 @@ This directory contains docs explaining any peculiarities or details of a partic
|
|
4
4
|
OS's host implementation.
|
5
5
|
|
6
6
|
If you don't see a file here for an OS, then it's either not yet documented
|
7
|
-
(feel free to help us out here!), or it should conform to our normal host
|
7
|
+
(feel free to help us out here!), or it should conform to our normal host
|
8
8
|
abstraction assumptions.
|
data/docs/how_to/hosts/cisco.md
CHANGED
@@ -25,7 +25,7 @@ file line that looks like this in our configuration:
|
|
25
25
|
<hostname>:
|
26
26
|
...
|
27
27
|
vrf: management
|
28
|
-
|
28
|
+
|
29
29
|
B. All Cisco hosts will also require a user to be set on the
|
30
30
|
hosts. This is because they don't allow ssh'ing as the root user,
|
31
31
|
which is one of the main assumptions that Beaker operates under in
|
@@ -36,7 +36,7 @@ Puppet and its community have made several gems that support different
|
|
36
36
|
hypervisors with beaker, the reason for this is that we're looking to decrease Beaker's
|
37
37
|
dependency footprint, and hypervisors are one of the places where we can often
|
38
38
|
increase the load across all Beaker uses to benefit a small group that uses a
|
39
|
-
particular hypervisor.
|
39
|
+
particular hypervisor.
|
40
40
|
|
41
41
|
In order to offset this, we've made a listing of gems and community-supported forks
|
42
42
|
that support other external hypervisors. Please check them out if you'd like to use
|
@@ -18,7 +18,7 @@ hashes, where each hash specifies a platform to confine, based on the
|
|
18
18
|
tags included in the test. The local options file key is
|
19
19
|
`:platform_tag_confines`.
|
20
20
|
|
21
|
-
An example local options file is included
|
21
|
+
An example local options file is included
|
22
22
|
below (remember that local options files have to be readable into
|
23
23
|
beaker as a ruby hash):
|
24
24
|
|
@@ -58,7 +58,7 @@ UI confine example like this:
|
|
58
58
|
|
59
59
|
"ui" tests will be confined away from ubuntu-1404 hosts, because
|
60
60
|
"TODO: We have not applied the UI tests to Ubuntu yet"
|
61
|
-
|
61
|
+
|
62
62
|
|
63
63
|
## But Why Do We Need These?
|
64
64
|
|
@@ -70,13 +70,13 @@ the directory that holds all of the log files for a particular beaker run. The
|
|
70
70
|
short way to access that directory is to look into the `log/latest` path, which
|
71
71
|
is a symlink to the actual log directory for the run.
|
72
72
|
|
73
|
-
The `hosts_preserved.yml` file generated by a run differs from the original
|
73
|
+
The `hosts_preserved.yml` file generated by a run differs from the original
|
74
74
|
hosts file passed into Beaker in a number of ways:
|
75
75
|
|
76
76
|
- all suites are emptied
|
77
77
|
- the host names are updated to point to the IPs (or hostnames) of the VMs since
|
78
78
|
they exist and no longer need provisioning
|
79
|
-
- the `provision` option is set to `false` (check
|
79
|
+
- the `provision` option is set to `false` (check
|
80
80
|
[Beaker Test Run's](../tutorials/test_run.md) provisioning section for details).
|
81
81
|
|
82
82
|
Beaker will also output the lines included below at the end of the run:
|
data/docs/how_to/rake_tasks.md
CHANGED
@@ -13,7 +13,7 @@ You will also need to have Beaker installed as part of your bundle.
|
|
13
13
|
When you run:
|
14
14
|
|
15
15
|
rake --tasks
|
16
|
-
|
16
|
+
|
17
17
|
from your project dir, you should see (as well as any rake tasks you have defined locally)
|
18
18
|
|
19
19
|
rake beaker:test[hosts,type] # Run Beaker Acceptance
|
@@ -41,9 +41,8 @@ Your options file would look something like:
|
|
41
41
|
To use the more generic test task, you will need to pass in the type as the 2nd argument to the rake task:
|
42
42
|
|
43
43
|
rake beaker:test[,smoke]
|
44
|
-
|
44
|
+
|
45
45
|
This will assume that you have created the file:
|
46
46
|
|
47
47
|
acceptance/beaker-smoke.cfg
|
48
|
-
|
49
|
-
|
48
|
+
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# Test arbitrary beaker versions without modifying test code
|
2
2
|
|
3
3
|
In order to adjust the beaker version used without commiting a change to a Gemfile,
|
4
|
-
we at Puppet often use a method in our code that changes the dependency based on the
|
4
|
+
we at Puppet often use a method in our code that changes the dependency based on the
|
5
5
|
existence of ENV variables in the shell that beaker is executing from. The code
|
6
6
|
itself looks like this:
|
7
7
|
|
@@ -19,7 +19,7 @@ end
|
|
19
19
|
|
20
20
|
```
|
21
21
|
|
22
|
-
Once this method definition is in place in the Gemfile, we can call it in a gem command, like
|
22
|
+
Once this method definition is in place in the Gemfile, we can call it in a gem command, like
|
23
23
|
this:
|
24
24
|
|
25
25
|
```ruby
|
@@ -40,7 +40,7 @@ git://github.com/puppetlabs/beaker.git#master
|
|
40
40
|
```
|
41
41
|
file://../relative/path/to/beaker
|
42
42
|
```
|
43
|
-
By adjusting the shell environment that beaker is running in, we can modify what version of
|
43
|
+
By adjusting the shell environment that beaker is running in, we can modify what version of
|
44
44
|
beaker is installed by bundler on your test coordinator without modifying any of the test
|
45
45
|
code. This strategy can be used for any gem dependency, and is often used when testing
|
46
46
|
[beaker libraries](../concepts/beaker_libraries.md) at Puppet.
|