beaker 2.27.0 → 2.28.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/HISTORY.md +378 -2
- data/README.md +1 -3
- data/acceptance/config/acceptance-options.rb +3 -0
- data/acceptance/fixtures/files/failing_shell_script.txt +3 -0
- data/acceptance/fixtures/files/retry_script.txt +14 -0
- data/acceptance/fixtures/files/shell_script_with_output.txt +3 -0
- data/acceptance/fixtures/files/simple_text_file.txt +3 -0
- data/acceptance/fixtures/files/sles-11-x86_64.repo +5 -0
- data/acceptance/lib/helpers/test_helper.rb +111 -0
- data/acceptance/tests/base/dsl/helpers/configuration_test.rb +17 -0
- data/acceptance/tests/base/dsl/helpers/host_helpers/add_system32_hosts_entry_test.rb +50 -0
- data/acceptance/tests/base/dsl/helpers/host_helpers/backup_the_file_test.rb +64 -0
- data/acceptance/tests/base/dsl/helpers/host_helpers/check_for_package_test.rb +100 -0
- data/acceptance/tests/base/dsl/helpers/host_helpers/create_remote_file_test.rb +201 -0
- data/acceptance/tests/base/dsl/helpers/host_helpers/create_tmpdir_on_test.rb +68 -0
- data/acceptance/tests/base/dsl/helpers/host_helpers/curl_on_test.rb +48 -0
- data/acceptance/tests/base/dsl/helpers/host_helpers/curl_with_retries_test.rb +28 -0
- data/acceptance/tests/base/dsl/helpers/host_helpers/deploy_package_repo_test.rb +142 -0
- data/acceptance/tests/base/dsl/helpers/host_helpers/echo_on_test.rb +13 -0
- data/acceptance/tests/base/dsl/helpers/host_helpers/install_package_test.rb +67 -0
- data/acceptance/tests/base/dsl/helpers/host_helpers/on_test.rb +109 -0
- data/acceptance/tests/base/dsl/helpers/host_helpers/retry_on_test.rb +42 -0
- data/acceptance/tests/base/dsl/helpers/host_helpers/rsync_to_test.rb +143 -0
- data/acceptance/tests/base/dsl/helpers/host_helpers/run_cron_on_test.rb +242 -0
- data/acceptance/tests/base/dsl/helpers/host_helpers/run_script_on_test.rb +69 -0
- data/acceptance/tests/base/dsl/helpers/host_helpers/run_script_test.rb +53 -0
- data/acceptance/tests/base/dsl/helpers/host_helpers/scp_from_test.rb +53 -0
- data/acceptance/tests/base/dsl/helpers/host_helpers/scp_to_test.rb +54 -0
- data/acceptance/tests/base/dsl/helpers/host_helpers/shell_test.rb +51 -0
- data/acceptance/tests/base/dsl/helpers/host_helpers/upgrade_package_test.rb +92 -0
- data/acceptance/tests/base/dsl/install_utils/clone_git_repo_on_test.rb +47 -0
- data/acceptance/tests/base/{host.rb → host_test.rb} +2 -0
- data/acceptance/tests/hypervisor/{communication.rb → communication_test.rb} +0 -0
- data/acceptance/tests/load_path_bootstrap.rb +10 -0
- data/acceptance/tests/puppet/{install_smoke.rb → install_smoke_test.rb} +0 -0
- data/beaker.gemspec +1 -1
- data/docs/Access-the-Live-Test-Console-with-Pry.md +305 -0
- data/docs/Argument-Processing-and-Precedence.md +325 -0
- data/docs/Beaker-Installation.md +59 -0
- data/docs/Beaker-Owners-and-Reviewers.md +16 -0
- data/docs/Beaker-Test-Tagging.md +76 -0
- data/docs/Beaker-with-Masterless-Puppet.md +42 -0
- data/docs/Creating-A-Test-Environment.md +91 -0
- data/docs/Docker-Support.md +129 -0
- data/docs/EC2-Support.md +77 -0
- data/docs/Example-Vagrant-Hosts-Files.md +66 -0
- data/docs/File-a-Beaker-Bug.md +3 -0
- data/docs/Google-Compute-Engine-Support.md +41 -0
- data/docs/How-To-Beaker.md +7 -0
- data/docs/How-To-Use-User-Password-Authentication-with-Beaker.md +53 -0
- data/docs/How-to-Write-a-Beaker-Test-for-a-Module.md +145 -0
- data/docs/Lets-Write-a-Test.md +73 -0
- data/docs/Openstack-Support.md +32 -0
- data/docs/Overview.md +31 -0
- data/docs/README.md +43 -0
- data/docs/Roles-What-Are-They.md +44 -0
- data/docs/Shared-Options-for-Executing-Beaker-Commands.md +43 -0
- data/docs/Solaris-Support.md +10 -0
- data/docs/The-Beaker-DSL.md +283 -0
- data/docs/The-Command-Line.md +24 -0
- data/docs/Types,-Puppet-4,-and-the-All-In-One-Agent.md +13 -0
- data/docs/VMWare-Fusion-Support.md +36 -0
- data/docs/Vagrant-Support.md +47 -0
- data/docs/beaker-vs.-beaker-rspec.md +87 -0
- data/docs/hosts/README.md +8 -0
- data/docs/hosts/eos.md +30 -0
- data/docs/hypervisors/README.md +8 -0
- data/docs/hypervisors/aws.md +143 -0
- data/docs/vSphere-Support.md +46 -0
- data/lib/beaker/dsl/helpers/host_helpers.rb +2 -4
- data/lib/beaker/dsl/helpers/puppet_helpers.rb +45 -11
- data/lib/beaker/dsl/install_utils/foss_utils.rb +20 -23
- data/lib/beaker/dsl/install_utils/module_utils.rb +4 -0
- data/lib/beaker/dsl/install_utils/pe_utils.rb +2 -6
- data/lib/beaker/dsl/patterns.rb +1 -1
- data/lib/beaker/host.rb +3 -0
- data/lib/beaker/host/eos.rb +56 -0
- data/lib/beaker/host/mac/pkg.rb +1 -1
- data/lib/beaker/host/unix/pkg.rb +36 -0
- data/lib/beaker/hypervisor/aws_sdk.rb +1 -1
- data/lib/beaker/hypervisor/vagrant.rb +3 -3
- data/lib/beaker/logger.rb +1 -0
- data/lib/beaker/options/presets.rb +5 -0
- data/lib/beaker/shared/host_manager.rb +7 -4
- data/lib/beaker/version.rb +1 -1
- data/spec/beaker/dsl/helpers/puppet_helpers_spec.rb +87 -0
- data/spec/beaker/dsl/install_utils/foss_utils_spec.rb +53 -20
- data/spec/beaker/dsl/install_utils/module_utils_spec.rb +1 -1
- data/spec/beaker/dsl/install_utils/pe_utils_spec.rb +7 -14
- data/spec/beaker/host/eos_spec.rb +65 -0
- data/spec/beaker/host/unix/pkg_spec.rb +42 -0
- data/spec/beaker/hypervisor/aws_sdk_spec.rb +17 -56
- data/spec/beaker/hypervisor/vagrant_spec.rb +1 -1
- data/spec/beaker/logger_spec.rb +1 -1
- data/spec/mocks.rb +0 -13
- metadata +76 -6
- data/acceptance/tests/dsl/install_utils/clone_git_repo_on.rb +0 -50
@@ -0,0 +1,10 @@
|
|
1
|
+
Used with `hypervisor: solaris`, the harness can connect to a Solaris host via SSH and revert zone snapshots.
|
2
|
+
|
3
|
+
### example .fog file ###
|
4
|
+
:default:
|
5
|
+
:solaris_hypervisor_server: solaris.example.com
|
6
|
+
:solaris_hypervisor_username: harness
|
7
|
+
:solaris_hypervisor_keyfile: /home/jenkins/.ssh/id_rsa-harness
|
8
|
+
:solaris_hypervisor_vmpath: rpool/zoneds
|
9
|
+
:solaris_hypervisor_snappaths:
|
10
|
+
- rpool/ROOT/solaris
|
@@ -0,0 +1,283 @@
|
|
1
|
+
Beaker maintains yard documentation, which covers the [Beaker DSL](http://www.rubydoc.info/github/puppetlabs/beaker/).
|
2
|
+
|
3
|
+
|
4
|
+
|
5
|
+
## Assertions ##
|
6
|
+
To be used for confirming the result of a test is as expected. Beaker include all Minitest assertions, plus some custom built assertions.
|
7
|
+
|
8
|
+
* [Minitest assertions](http://docs.seattlerb.org/minitest/Minitest/Assertions.html)
|
9
|
+
* [assert_output](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Assertions#assert_output-instance_method)
|
10
|
+
* [assert_no_match](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Assertions#assert_no_match-instance_method)
|
11
|
+
|
12
|
+
## Helpers ##
|
13
|
+
DSL methods designed to help you interact with installed projects (like facter and puppet), with hosts (like running arbitrary commands on hosts) or interacting with the web (checking is a given URL is alive or not).
|
14
|
+
|
15
|
+
### Facter ###
|
16
|
+
DSL methods for interacting with facter.
|
17
|
+
|
18
|
+
* [fact_on](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Helpers/FacterHelpers#fact_on-instance_method)
|
19
|
+
* [fact](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Helpers/FacterHelpers#fact-instance_method)
|
20
|
+
|
21
|
+
### Host ###
|
22
|
+
DSL methods for host manipulation.
|
23
|
+
|
24
|
+
* [on](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Helpers/HostHelpers#on-instance_method)
|
25
|
+
* [shell](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Helpers/HostHelpers#shell-instance_method)
|
26
|
+
* [stdout](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Helpers/HostHelpers#stdout-instance_method)
|
27
|
+
* [stderr](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Helpers/HostHelpers#stderr-instance_method)
|
28
|
+
* [exit_code](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Helpers/HostHelpers#exit_code-instance_method)
|
29
|
+
* [scp_from](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Helpers/HostHelpers#scp_from-instance_method)
|
30
|
+
* [scp_to](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Helpers/HostHelpers#scp_to-instance_method)
|
31
|
+
* [rsync_to](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Helpers/HostHelpers#rsync_to-instance_method)
|
32
|
+
* [deploy_package_repo](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Helpers/HostHelpers#deploy_package_repo-instance_method)
|
33
|
+
* [create_remote_file](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Helpers/HostHelpers#create_remote_file-instance_method)
|
34
|
+
* [run_script_on](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Helpers/HostHelpers#run_script_on-instance_method)
|
35
|
+
* [run_script](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Helpers/HostHelpers#run_script-instance_method)
|
36
|
+
* [install_package](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Helpers/HostHelpers#install_package-instance_method)
|
37
|
+
* [check_for_package](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Helpers/HostHelpers#check_for_package-instance_method)
|
38
|
+
* [upgrade_package](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Helpers/HostHelpers#upgrade_package-instance_method)
|
39
|
+
* [add_system32_hosts_entry](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Helpers/HostHelpers#add_system32_hosts_entry-instance_method)
|
40
|
+
* [backup_the_file](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Helpers/HostHelpers#backup_the_file-instance_method)
|
41
|
+
* [curl_on](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Helpers/HostHelpers#curl_on-instance_method)
|
42
|
+
* [curl_with_retries](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Helpers/HostHelpers#curl_with_retries-instance_method)
|
43
|
+
* [retry_on](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Helpers/HostHelpers#retry_on-instance_method)
|
44
|
+
* [run_cron_on](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Helpers/HostHelpers#run_cron_on-instance_method)
|
45
|
+
* [create_tmpdir_on](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Helpers/HostHelpers#create_tmpdir_on-instance_method)
|
46
|
+
* [echo_on](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Helpers/HostHelpers#echo_on-instance_method)
|
47
|
+
|
48
|
+
### Puppet ###
|
49
|
+
DSL methods for interacting with puppet.
|
50
|
+
* [puppet_user](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Helpers/PuppetHelpers#puppet_user-instance_method)
|
51
|
+
* [puppet_group](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Helpers/PuppetHelpers#puppet_group-instance_method)
|
52
|
+
* [with_puppet_running_on](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Helpers/PuppetHelpers#with_puppet_running_on-instance_method)
|
53
|
+
* [with_puppet_running](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Helpers/PuppetHelpers#with_puppet_running-instance_method)
|
54
|
+
* [restore_puppet_conf_from_backup](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Helpers/PuppetHelpers#restore_puppet_conf_from_backup-instance_method)
|
55
|
+
* [start_puppet_from_source_on!](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Helpers/PuppetHelpers#start_puppet_from_source_on!-instance_method)
|
56
|
+
* [stop_puppet_from_source_on](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Helpers/PuppetHelpers#stop_puppet_from_source_on-instance_method)
|
57
|
+
* [dump_puppet_log](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Helpers/PuppetHelpers#dump_puppet_log-instance_method)
|
58
|
+
* [lay_down_new_puppet_conf](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Helpers/PuppetHelpers#lay_down_new_puppet_conf-instance_method)
|
59
|
+
* [puppet_conf_for](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Helpers/PuppetHelpers#puppet_conf_for-instance_method)
|
60
|
+
* [bounce_service](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Helpers/PuppetHelpers#bounce_service-instance_method)
|
61
|
+
* [apply_manifest_on](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Helpers/PuppetHelpers#apply_manifest_on-instance_method)
|
62
|
+
* [apply_manifest](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Helpers/PuppetHelpers#apply_manifest-instance_method)
|
63
|
+
* [run_agent_on](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Helpers/PuppetHelpers#run_agent_on-instance_method)
|
64
|
+
* [stub_hosts_on](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Helpers/PuppetHelpers#stub_hosts_on-instance_method)
|
65
|
+
* [with_host_stubbed_on](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Helpers/PuppetHelpers#with_host_stubbed_on-instance_method)
|
66
|
+
* [stub_hosts](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Helpers/PuppetHelpers#stub_hosts-instance_method)
|
67
|
+
* [stub_forge_on](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Helpers/PuppetHelpers#stub_forge_on-instance_method)
|
68
|
+
* [with_forge_stubbed_on](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Helpers/PuppetHelpers#with_forge_stubbed_on-instance_method)
|
69
|
+
* [with_forge_stubbed](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Helpers/PuppetHelpers#with_forge_stubbed-instance_method)
|
70
|
+
* [stub_forge](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Helpers/PuppetHelpers#stub_forge-instance_method)
|
71
|
+
* [sleep_until_puppetdb_started](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Helpers/PuppetHelpers#sleep_until_puppetdb_started-instance_method)
|
72
|
+
* [sleep_until_puppetserver_started](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Helpers/PuppetHelpers#sleep_until_puppetserver_started-instance_method)
|
73
|
+
* [sleep_until_nc_started](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Helpers/PuppetHelpers#sleep_until_nc_started-instance_method)
|
74
|
+
* [stop_agent_on](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Helpers/PuppetHelpers#stop_agent_on-instance_method)
|
75
|
+
* [stop_agent](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Helpers/PuppetHelpers#stop_agent-instance_method)
|
76
|
+
* [wait_for_host_in_dashboard](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Helpers/PuppetHelpers#wait_for_host_in_dashboard-instance_method)
|
77
|
+
* [sign_certificate_for](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Helpers/PuppetHelpers#sign_certificate_for-instance_method)
|
78
|
+
* [sign_certificate](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Helpers/PuppetHelpers#sign_certificate-instance_method)
|
79
|
+
* [create_tmpdir_for_user](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Helpers/PuppetHelpers#create_tmpdir_for_user-instance_method)
|
80
|
+
|
81
|
+
### TK ###
|
82
|
+
Convenience methods for TrapperKeeper configuration.
|
83
|
+
|
84
|
+
* [modify_tk_config](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Helpers/TkHelpers#modify_tk_config-instance_method)
|
85
|
+
* [read_tk_config_string](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Helpers/TkHelpers#read_tk_config_string-instance_method)
|
86
|
+
|
87
|
+
### Web ###
|
88
|
+
Helpers for web actions.
|
89
|
+
|
90
|
+
* [port_open_within?](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Helpers/WebHelpers#port_open_within?-instance_method)
|
91
|
+
* [link_exists?](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Helpers/WebHelpers#link_exists?-instance_method)
|
92
|
+
* [fetch_http_file](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Helpers/WebHelpers#fetch_http_file-instance_method)
|
93
|
+
* [fetch_http_dir](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Helpers/WebHelpers#fetch_http_dir-instance_method)
|
94
|
+
|
95
|
+
### Test ###
|
96
|
+
DSL methods for setting information about the current test.
|
97
|
+
|
98
|
+
* [current_test_name](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Helpers/TestHelpers#current_test_name-instance_method)
|
99
|
+
* [current_test_filename](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Helpers/TestHelpers#current_test_filename-instance_method)
|
100
|
+
* [current_step_name](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Helpers/TestHelpers#current_step_name-instance_method)
|
101
|
+
* [set_current_test_name](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Helpers/TestHelpers#set_current_test_name-instance_method)
|
102
|
+
* [set_current_test_filename](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Helpers/TestHelpers#set_current_test_filename-instance_method)
|
103
|
+
* [set_current_step_name](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Helpers/TestHelpers#set_current_step_name-instance_method)
|
104
|
+
|
105
|
+
## Install Utilities ##
|
106
|
+
DSL methods for installing PuppetLabs projects.
|
107
|
+
|
108
|
+
### EZBake ###
|
109
|
+
EZBake convenience methods.
|
110
|
+
* [install_from_ezbake](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/EzbakeUtils#install_from_ezbake-instance_method)
|
111
|
+
* [install_termini_from_ezbake](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/EzbakeUtils#install_termini_from_ezbake-instance_method)
|
112
|
+
* [ezbake_dev_build](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/EzbakeUtils#ezbake_dev_build-instance_method)
|
113
|
+
* [ezbake_validate_support](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/EzbakeUtils#ezbake_validate_support-instance_method)
|
114
|
+
* [install_ezbake_tarball_on_host](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/EzbakeUtils#install_ezbake_tarball_on_host-instance_method)
|
115
|
+
* [ezbake_tools_available?](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/EzbakeUtils#ezbake_tools_available?-instance_method)
|
116
|
+
* [ezbake_config](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/EzbakeUtils#ezbake_config-instance_method)
|
117
|
+
* [ezbake_lein_prefix](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/EzbakeUtils#ezbake_lein_prefix-instance_method)
|
118
|
+
* [ezbake_stage](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/EzbakeUtils#ezbake_stage-instance_method)
|
119
|
+
* [ezbake_local_cmd](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/EzbakeUtils#ezbake_local_cmd-instance_method)
|
120
|
+
* [ezbake_install_name](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/EzbakeUtils#ezbake_install_name-instance_method)
|
121
|
+
* [ezbake_install_dir](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/EzbakeUtils#ezbake_install_dir-instance_method)
|
122
|
+
* [ezbake_installsh](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/EzbakeUtils#ezbake_installsh-instance_method)
|
123
|
+
* [conditionally_clone](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/EzbakeUtils#conditionally_clone-instance_method)
|
124
|
+
|
125
|
+
### AIO ###
|
126
|
+
Agent-only installation utilities.
|
127
|
+
|
128
|
+
* [add_platform_aio_defaults](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/AIODefaults#add_platform_aio_defaults-instance_method)
|
129
|
+
* [add_aio_defaults_on](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/AIODefaults#add_aio_defaults_on-instance_method)
|
130
|
+
* [remove_platform_aio_defaults](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/AIODefaults#remove_platform_aio_defaults-instance_method)
|
131
|
+
* [remove_aio_defaults_on](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/AIODefaults#remove_aio_defaults_on-instance_method)
|
132
|
+
|
133
|
+
### FOSS ###
|
134
|
+
DSL methods for installing FOSS PuppetLabs projects.
|
135
|
+
|
136
|
+
* [add_platform_foss_defaults](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/FOSSDefaults#add_platform_foss_defaults-instance_method)
|
137
|
+
* [add_foss_defaults_on](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/FOSSDefaults#add_foss_defaults_on-instance_method)
|
138
|
+
* [remove_platform_foss_defaults](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/FOSSDefaults#remove_platform_foss_defaults-instance_method)
|
139
|
+
* [remove_foss_defaults_on](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/FOSSDefaults#remove_foss_defaults_on-instance_method)
|
140
|
+
* [lookup_in_env](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/FOSSUtils#lookup_in_env-instance_method)
|
141
|
+
* [build_git_url](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/FOSSUtils#build_git_url-instance_method)
|
142
|
+
* [extract_repo_info_from](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/FOSSUtils#extract_repo_info_from-instance_method)
|
143
|
+
* [order_packages](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/FOSSUtils#order_packages-instance_method)
|
144
|
+
* [find_git_repo_versions](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/FOSSUtils#find_git_repo_versions-instance_method)
|
145
|
+
* [clone_git_repo_on](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/FOSSUtils#clone_git_repo_on-instance_method)
|
146
|
+
* [install_from_git_on](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/FOSSUtils#install_from_git_on-instance_method)
|
147
|
+
* [install_puppet](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/FOSSUtils#install_puppet-instance_method)
|
148
|
+
* [install_puppet_on](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/FOSSUtils#install_puppet_on-instance_method)
|
149
|
+
* [install_puppet_agent_on](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/FOSSUtils#install_puppet_agent_on-instance_method)
|
150
|
+
* [configure_puppet](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/FOSSUtils#configure_puppet-instance_method)
|
151
|
+
* [configure_puppet_on](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/FOSSUtils#configure_puppet_on-instance_method)
|
152
|
+
* [install_puppet_from_rpm_on](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/FOSSUtils#install_puppet_from_rpm_on-instance_method)
|
153
|
+
* [install_puppet_from_deb_on](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/FOSSUtils#install_puppet_from_deb_on-instance_method)
|
154
|
+
* [install_puppet_from_msi_on](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/FOSSUtils#install_puppet_from_msi_on-instance_method)
|
155
|
+
* [compute_puppet_msi_name](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/FOSSUtils#compute_puppet_msi_name-instance_method)
|
156
|
+
* [install_puppet_agent_from_msi_on](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/FOSSUtils#install_puppet_agent_from_msi_on-instance_method)
|
157
|
+
* [install_a_puppet_msi_on](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/FOSSUtils#install_a_puppet_msi_on-instance_method)
|
158
|
+
* [install_puppet_from_freebsd_ports_on](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/FOSSUtils#install_puppet_from_freebsd_ports_on-instance_method)
|
159
|
+
* [install_puppet_from_dmg_on](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/FOSSUtils#install_puppet_from_dmg_on-instance_method)
|
160
|
+
* [install_puppet_agent_from_dmg_on](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/FOSSUtils#install_puppet_agent_from_dmg_on-instance_method)
|
161
|
+
* [install_puppet_from_openbsd_packages_on](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/FOSSUtils#install_puppet_from_openbsd_packages_on-instance_method)
|
162
|
+
* [install_puppet_from_gem_on](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/FOSSUtils#install_puppet_from_gem_on-instance_method)
|
163
|
+
* [install_puppetlabs_release_repo_on](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/FOSSUtils#install_puppetlabs_release_repo_on-instance_method)
|
164
|
+
* [install_puppetlabs_dev_repo](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/FOSSUtils#install_puppetlabs_dev_repo-instance_method)
|
165
|
+
* [install_packages_from_local_dev_repo](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/FOSSUtils#install_packages_from_local_dev_repo-instance_method)
|
166
|
+
* [install_puppet_agent_dev_repo_on](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/FOSSUtils#install_puppet_agent_dev_repo_on-instance_method)
|
167
|
+
* [install_puppet_agent_pe_promoted_repo_on](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/FOSSUtils#install_puppet_agent_pe_promoted_repo_on-instance_method)
|
168
|
+
* [install_cert_on_windows](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/FOSSUtils#install_cert_on_windows-instance_method)
|
169
|
+
|
170
|
+
### PE ###
|
171
|
+
DSL methods for installing Puppet Enterprise.
|
172
|
+
|
173
|
+
* [add_platform_pe_defaults](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/PeDefaults#add_platform_pe_defaults-instance_method)
|
174
|
+
* [add_pe_defaults_on](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/PeDefaults#add_pe_defaults_on-instance_method)
|
175
|
+
* [remove_platform_pe_defaults](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/PeDefaults#remove_platform_pe_defaults-instance_method)
|
176
|
+
* [remove_pe_defaults_on](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/PeDefaults#remove_pe_defaults_on-instance_method)
|
177
|
+
* [sorted_hosts](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/PeUtils#sorted_hosts-instance_method)
|
178
|
+
* [installer_cmd](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/PeUtils#installer_cmd-instance_method)
|
179
|
+
* [fetch_pe_on_mac](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/PeUtils#fetch_pe_on_mac-instance_method)
|
180
|
+
* [fetch_pe_on_windows](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/PeUtils#fetch_pe_on_windows-instance_method)
|
181
|
+
* [fetch_pe_on_unix](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/PeUtils#fetch_pe_on_unix-instance_method)
|
182
|
+
* [fetch_pe](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/PeUtils#fetch_pe-instance_method)
|
183
|
+
* [deploy_frictionless_to_master](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/PeUtils#deploy_frictionless_to_master-instance_method)
|
184
|
+
* [do_install](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/PeUtils#do_install-instance_method)
|
185
|
+
* [create_agent_specified_arrays](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/PeUtils#create_agent_specified_arrays-instance_method)
|
186
|
+
* [setup_defaults_and_config_helper_on](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/PeUtils#setup_defaults_and_config_helper_on-instance_method)
|
187
|
+
* [install_pe](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/PeUtils#install_pe-instance_method)
|
188
|
+
* [install_pe_on](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/PeUtils#install_pe_on-instance_method)
|
189
|
+
* [upgrade_pe](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/PeUtils#upgrade_pe-instance_method)
|
190
|
+
* [upgrade_pe_on](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/PeUtils#upgrade_pe_on-instance_method)
|
191
|
+
* [higgs_installer_cmd](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/PeUtils#higgs_installer_cmd-instance_method)
|
192
|
+
* [do_higgs_install](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/PeUtils#do_higgs_install-instance_method)
|
193
|
+
* [install_higgs](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/PeUtils#install_higgs-instance_method)
|
194
|
+
* [fetch_and_push_pe](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/PeUtils#fetch_and_push_pe-instance_method)
|
195
|
+
|
196
|
+
### Puppet ###
|
197
|
+
DSL methods that can be used for both FOSS/PE puppet installations.
|
198
|
+
|
199
|
+
* [normalize_type](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/PuppetUtils#normalize_type-instance_method)
|
200
|
+
* [construct_puppet_path](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/PuppetUtils#construct_puppet_path-instance_method)
|
201
|
+
* [add_puppet_paths_on](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/PuppetUtils#add_puppet_paths_on-instance_method)
|
202
|
+
* [remove_puppet_paths_on](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/PuppetUtils#remove_puppet_paths_on-instance_method)
|
203
|
+
* [configure_defaults_on](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/PuppetUtils#configure_defaults_on-instance_method)
|
204
|
+
* [configure_type_defaults_on](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/PuppetUtils#configure_type_defaults_on-instance_method)
|
205
|
+
* [remove_defaults_on](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/PuppetUtils#remove_defaults_on-instance_method)
|
206
|
+
|
207
|
+
### Windows ###
|
208
|
+
DSL convenience methods for installing packages on Windows SUTs.
|
209
|
+
|
210
|
+
* [get_temp_path](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/WindowsUtils#get_temp_path-instance_method)
|
211
|
+
* [msi_install_script](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/WindowsUtils#msi_install_script-instance_method)
|
212
|
+
* [create_install_msi_batch_on](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/WindowsUtils#create_install_msi_batch_on-instance_method)
|
213
|
+
* [install_msi_on](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/WindowsUtils#install_msi_on-instance_method)
|
214
|
+
|
215
|
+
### Module ###
|
216
|
+
DSL methods for installing puppet modules.
|
217
|
+
|
218
|
+
* [install_dev_puppet_module_on](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/ModuleUtils#install_dev_puppet_module_on-instance_method)
|
219
|
+
* [install_dev_puppet_module](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/ModuleUtils#install_dev_puppet_module-instance_method)
|
220
|
+
* [install_puppet_module_via_pmt_on](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/ModuleUtils#install_puppet_module_via_pmt_on-instance_method)
|
221
|
+
* [install_puppet_module_via_pmt](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/ModuleUtils#install_puppet_module_via_pmt-instance_method)
|
222
|
+
* [copy_module_to](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/ModuleUtils#copy_module_to-instance_method)
|
223
|
+
* [parse_for_moduleroot](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/ModuleUtils#parse_for_moduleroot-instance_method)
|
224
|
+
* [parse_for_modulename](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/ModuleUtils#parse_for_modulename-instance_method)
|
225
|
+
* [get_module_name](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/ModuleUtils#get_module_name-instance_method)
|
226
|
+
* [split_author_modulename](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/ModuleUtils#split_author_modulename-instance_method)
|
227
|
+
* [build_ignore_list](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/InstallUtils/ModuleUtils#build_ignore_list-instance_method)
|
228
|
+
|
229
|
+
## Outcomes ##
|
230
|
+
Methods that indicate how the given test completed (fail, pass, skip or pending).
|
231
|
+
|
232
|
+
* [fail_test](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Outcomes#fail_test-instance_method)
|
233
|
+
* [pass_test](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Outcomes#pass_test-instance_method)
|
234
|
+
* [pending_test](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Outcomes#pending_test-instance_method)
|
235
|
+
* [skip_test](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Outcomes#skip_test-instance_method)
|
236
|
+
* [formatted_message](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Outcomes#formatted_message-instance_method)
|
237
|
+
|
238
|
+
## Patterns ##
|
239
|
+
Shared methods used as building blocks of other DSL methods.
|
240
|
+
|
241
|
+
* [block_on](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Patterns#block_on-instance_method)
|
242
|
+
|
243
|
+
## Roles ##
|
244
|
+
DSL methods for accessing hosts of various roles.
|
245
|
+
|
246
|
+
* [agents](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Roles#agents-instance_method)
|
247
|
+
* [master](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Roles#master-instance_method)
|
248
|
+
* [database](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Roles#database-instance_method)
|
249
|
+
* [dashboard](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Roles#dashboard-instance_method)
|
250
|
+
* [default](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Roles#default-instance_method)
|
251
|
+
* [not_controller](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Roles#not_controller-instance_method)
|
252
|
+
* [agent_only](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Roles#agent_only-instance_method)
|
253
|
+
* [aio_version?](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Roles#aio_version?-instance_method)
|
254
|
+
* [aio_agent?](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Roles#aio_agent?-instance_method)
|
255
|
+
* [add_role](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Roles#add_role-instance_method)
|
256
|
+
* [add_role_def](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Roles#add_role_def-instance_method)
|
257
|
+
* [any_hosts_as?](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Roles#any_hosts_as?-instance_method)
|
258
|
+
* [hosts_as](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Roles#hosts_as-instance_method)
|
259
|
+
* [find_host_with_role](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Roles#find_host_with_role-instance_method)
|
260
|
+
* [find_only_one](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Roles#find_only_one-instance_method)
|
261
|
+
* [find_at_most_one](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Roles#find_at_most_one-instance_method)
|
262
|
+
|
263
|
+
## Structure ##
|
264
|
+
DSL methods that describe and define how a test is executed.
|
265
|
+
|
266
|
+
* [step](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Structure#step-instance_method)
|
267
|
+
* [test_name](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Structure#test_name-instance_method)
|
268
|
+
* [teardown](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Structure#teardown-instance_method)
|
269
|
+
* [expect_failure](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Structure#expect_failure-instance_method)
|
270
|
+
* [confine](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Structure#confine-instance_method)
|
271
|
+
* [confine_block](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Structure#confine_block-instance_method)
|
272
|
+
* [tag](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Structure#tag-instance_method)
|
273
|
+
* [select_hosts](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Structure#select_hosts-instance_method)
|
274
|
+
* [inspect_host](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Structure#inspect_host-instance_method)
|
275
|
+
|
276
|
+
## Wrappers ##
|
277
|
+
Wrappers around commonly used commands.
|
278
|
+
|
279
|
+
* [facter](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Wrappers#facter-instance_method)
|
280
|
+
* [cfacter](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Wrappers#cfacter-instance_method)
|
281
|
+
* [hiera](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Wrappers#hiera-instance_method)
|
282
|
+
* [puppet](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Wrappers#puppet-instance_method)
|
283
|
+
* [powershell](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL/Wrappers#powershell-instance_method)
|
@@ -0,0 +1,24 @@
|
|
1
|
+
* Using the gem
|
2
|
+
|
3
|
+
$ beaker --log-level debug --hosts sample.cfg --tests test.rb
|
4
|
+
|
5
|
+
* Using latest git
|
6
|
+
|
7
|
+
$ bundle exec beaker --log-level debug --hosts sample.cfg --tests test.rb
|
8
|
+
|
9
|
+
##Useful options
|
10
|
+
* `-h, --hosts FILE `, the hosts that you are going to be testing with
|
11
|
+
* `--log-level debug`, for providing verbose logging and full stacktraces on failure
|
12
|
+
* `--[no-]provision`, indicates if beaker should provision new boxes upon test execution. If `no` is selected then beaker will attempt to connect to the hosts as defined in `--hosts FILE` without first creating/running them through their hypervisors
|
13
|
+
* `--preserve-hosts [MODE]`, indicates what should be done with the testing boxes after tests are complete. If `always` is selected then the boxes will be preserved and left running post-testing. If `onfail` is selected then the boxes will be preserved only if tests fail, otherwise they will be shut down and destroyed. If `never` is selected then the boxes will be shut down and destroyed no matter the testing results.
|
14
|
+
* `--parse-only`, read and parse all command line options, environment options and file options; report the parsed options and exit.
|
15
|
+
|
16
|
+
##The Rest
|
17
|
+
See all options with
|
18
|
+
* Using the gem
|
19
|
+
|
20
|
+
$ beaker --help
|
21
|
+
|
22
|
+
* Using latest git
|
23
|
+
|
24
|
+
$ bundle exec beaker --help
|
@@ -0,0 +1,13 @@
|
|
1
|
+
## So What Are Types Anyway?
|
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.
|
4
|
+
|
5
|
+
The two older types are represented by the `foss` and `pe` values.
|
6
|
+
|
7
|
+
Note that if you don't provide any type, the default is [pe](https://github.com/puppetlabs/beaker/blob/master/lib/beaker/options/presets.rb#L131).
|
8
|
+
|
9
|
+
## New With Puppet 4: The AIO Type!
|
10
|
+
|
11
|
+
With the introduction of the All-In-One (AIO) Agent in Puppet 4, the paths have been unified across both versions (Open Source & Enterprise). In order to support this, Beaker has added the `aio` type.
|
12
|
+
|
13
|
+
Passing this argument will setup the machines to use the new AIO pathing. This should be all you need to be correctly setup to use the AIO Agent in Puppet 4 and beyond!
|
@@ -0,0 +1,36 @@
|
|
1
|
+
Pre-requisite: Fission gem installed and configured, including a `~/.fissionrc`
|
2
|
+
that points to the `vmrun` executable and where virtual machines can be found.
|
3
|
+
Example `.fissionrc` file (it's YAML):
|
4
|
+
|
5
|
+
vm_dir: "/Directory/containing/my/.vmwarevm/files/"
|
6
|
+
vmrun_bin: "/Applications/VMware Fusion.app/Contents/Library/vmrun"
|
7
|
+
|
8
|
+
You can then use the following arguments in the node configuration:
|
9
|
+
- `hypervisor: fusion` tells us to enable this feature for this host. This is required.
|
10
|
+
- `snapshot: <name>`, where <name> is the snapshot name to revert to. This is required.
|
11
|
+
|
12
|
+
We'll try and match up the hostname with a VM of the same name. Note that the VM is expected to be pre-configured for running acceptance tests; it should have all the right prerequisite libraries, password-less SSH access for root, etc.
|
13
|
+
|
14
|
+
There are a few additional options available in your configuration file. Each host
|
15
|
+
section can now use:
|
16
|
+
|
17
|
+
- `vmname`: This is useful if the hostname of the VM doesn't match the name of
|
18
|
+
the `.vmwarevm` file on disk. The alias should be something fission can load.
|
19
|
+
|
20
|
+
|
21
|
+
### Basic VMWare fusion hosts file ###
|
22
|
+
|
23
|
+
HOSTS:
|
24
|
+
pe-debian6:
|
25
|
+
roles:
|
26
|
+
- master
|
27
|
+
- agent
|
28
|
+
platform: debian-6-i386
|
29
|
+
vmname: super-awesome-vm-name
|
30
|
+
hypervisor: fusion
|
31
|
+
snapshot: acceptance-testing-5
|
32
|
+
|
33
|
+
### Diagnostics ###
|
34
|
+
|
35
|
+
When using `hypervisor fusion`, we'll log all the available VM names and for each
|
36
|
+
host we'll log all the available snapshot names.
|
@@ -0,0 +1,47 @@
|
|
1
|
+
For testing against local Vagrant boxes. As a prerequisite the **Vagrant 1.7+** package needs to installed - see <a href = "http://downloads.vagrantup.com/">downloads.vagrantup.com</a> for downloads.
|
2
|
+
|
3
|
+
Currently, we provide a suite of pre-built, publicly available vagrant boxes for use in constructing tests: <a href = "https://vagrantcloud.com/puppetlabs/">Puppet Labs Vagrant Boxes</a>. You can use these boxes easily by pulling one of our [Example Vagrant Hosts Files](Example-Vagrant-Hosts-Files.md).
|
4
|
+
|
5
|
+
The vm is identified by `box` or `box_url` in the config file. No snapshot name is required as the vm is reverted back to original state post testing using `vagrant destroy --force`.
|
6
|
+
|
7
|
+
### example Vagrant hosts file ###
|
8
|
+
HOSTS:
|
9
|
+
ubuntu-1404-x64:
|
10
|
+
roles:
|
11
|
+
- master
|
12
|
+
- agent
|
13
|
+
- dashboard
|
14
|
+
- cloudpro
|
15
|
+
platform: ubuntu-1404-x86_64
|
16
|
+
hypervisor: vagrant
|
17
|
+
box: puppetlabs/ubuntu-14.04-64-nocm
|
18
|
+
box_url: https://vagrantcloud.com/puppetlabs/boxes/ubuntu-14.04-64-nocm
|
19
|
+
CONFIG:
|
20
|
+
nfs_server: none
|
21
|
+
consoleport: 443
|
22
|
+
|
23
|
+
VagrantFiles are created per host configuration file. They can be found in the `.vagrant/beaker_vagrant_files` directory of the current working directory in a subdirectory named after the host configuration file.
|
24
|
+
|
25
|
+
> beaker --hosts sample.cfg
|
26
|
+
> cd .vagrant/beaker_vagrant_files; ls
|
27
|
+
sample.cfg
|
28
|
+
> cd sample.c
|
29
|
+
|
30
|
+
It is possible to have the VirtualBox VM run with a GUI (i.e. non-headless mode) by specifying ``vb_gui`` of any non-nil value in the config file, i.e.:
|
31
|
+
|
32
|
+
### example Vagrant hosts file with vb_gui ###
|
33
|
+
HOSTS:
|
34
|
+
ubuntu-1404-x64:
|
35
|
+
roles:
|
36
|
+
- master
|
37
|
+
- agent
|
38
|
+
- dashboard
|
39
|
+
- cloudpro
|
40
|
+
platform: ubuntu-1404-x86_64
|
41
|
+
hypervisor: vagrant
|
42
|
+
box: puppetlabs/ubuntu-14.04-64-nocm
|
43
|
+
box_url: https://vagrantcloud.com/puppetlabs/boxes/ubuntu-14.04-64-nocm
|
44
|
+
vb_gui: true
|
45
|
+
CONFIG:
|
46
|
+
nfs_server: none
|
47
|
+
consoleport: 443
|
@@ -0,0 +1,87 @@
|
|
1
|
+
## How they relate
|
2
|
+
|
3
|
+
beaker is an acceptance testing program that is written Ruby. beaker-rspec is a combination of the [beaker DSL](http://www.rubydoc.info/github/puppetlabs/beaker/Beaker/DSL) (domain specific language) with [RSpec](http://rspec.info/) (a spec test format) and [Serverspec](http://serverspec.org/) (an extension to RSpec that provides many useful matchers).
|
4
|
+
|
5
|
+
![beaker vs. beaker-rspec (venn)](http://anodelman.github.io/shared/img/beaker_vs_beaker_rspec.jpg)
|
6
|
+
|
7
|
+
## beaker
|
8
|
+
* can provision and configure test hosts
|
9
|
+
* tests are just Ruby files
|
10
|
+
* tests are considered to have passed if they execute all the way through without errors/exceptions
|
11
|
+
* tests can also use asserts to explicitly enforce a state
|
12
|
+
* tests written in Ruby with Beaker data specific language extensions
|
13
|
+
|
14
|
+
### An example beaker test ###
|
15
|
+
test_name "Be able to execute multi-line commands (#9996)"
|
16
|
+
confine :except, :platform => 'windows'
|
17
|
+
agents.each do |agent|
|
18
|
+
temp_file_name = agent.tmpfile('9996-multi-line-commands')
|
19
|
+
test_manifest = <<HERE
|
20
|
+
exec { "test exec":
|
21
|
+
command => "/bin/echo '#Test' > #{temp_file_name};
|
22
|
+
/bin/echo 'bob' >> #{temp_file_name};"
|
23
|
+
}
|
24
|
+
HERE
|
25
|
+
expected_results = <<HERE
|
26
|
+
#Test
|
27
|
+
bob
|
28
|
+
HERE
|
29
|
+
on(agent, "rm -f #{temp_file_name}")
|
30
|
+
apply_manifest_on agent, test_manifest
|
31
|
+
on(agent, "cat #{temp_file_name}") do
|
32
|
+
assert_equal(expected_results, stdout, "Unexpected result for host '#{agent}'")
|
33
|
+
end
|
34
|
+
on(agent, "rm -f #{temp_file_name}")
|
35
|
+
end
|
36
|
+
## beaker-rspec
|
37
|
+
* uses [RSpec](http://rspec.info/) and [Serverspec](http://serverspec.org/)
|
38
|
+
* can provision and configure test hosts
|
39
|
+
* tests are considered to have passed when explicit asserts succeed
|
40
|
+
* tests written in Rspec format, with Beaker data specific language extensions and Serverspec matchers
|
41
|
+
|
42
|
+
### An example beaker-rspec test ###
|
43
|
+
require 'spec_helper_acceptance'
|
44
|
+
case fact('osfamily')
|
45
|
+
when 'FreeBSD'
|
46
|
+
line = '0.freebsd.pool.ntp.org maxpoll 9 iburst'
|
47
|
+
when 'Debian'
|
48
|
+
line = '0.debian.pool.ntp.org iburst'
|
49
|
+
when 'RedHat'
|
50
|
+
line = '0.centos.pool.ntp.org'
|
51
|
+
when 'Suse'
|
52
|
+
line = '0.opensuse.pool.ntp.org'
|
53
|
+
when 'Gentoo'
|
54
|
+
line = '0.gentoo.pool.ntp.org'
|
55
|
+
when 'Linux'
|
56
|
+
case fact('operatingsystem')
|
57
|
+
when 'ArchLinux'
|
58
|
+
line = '0.pool.ntp.org'
|
59
|
+
when 'Gentoo'
|
60
|
+
line = '0.gentoo.pool.ntp.org'
|
61
|
+
end
|
62
|
+
when 'Solaris'
|
63
|
+
line = '0.pool.ntp.org'
|
64
|
+
when 'AIX'
|
65
|
+
line = '0.debian.pool.ntp.org iburst'
|
66
|
+
end
|
67
|
+
if (fact('osfamily') == 'Solaris')
|
68
|
+
config = '/etc/inet/ntp.conf'
|
69
|
+
else
|
70
|
+
config = '/etc/ntp.conf'
|
71
|
+
end
|
72
|
+
describe 'ntp::config class', :unless => UNSUPPORTED_PLATFORMS.include?(fact('osfamily')) do
|
73
|
+
it 'sets up ntp.conf' do
|
74
|
+
apply_manifest(%{
|
75
|
+
class { 'ntp': }
|
76
|
+
}, :catch_failures => true)
|
77
|
+
end
|
78
|
+
describe file("#{config}") do
|
79
|
+
it { should be_file }
|
80
|
+
its(:content) { should match line }
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
84
|
+
## How to choose?
|
85
|
+
|
86
|
+
* beaker-rspec is intended for use as a module testing tool.
|
87
|
+
* beaker is used for all other testing (puppet, puppetDB, Puppet Enterprise, etc).
|