beaker 2.27.0 → 2.28.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.
Files changed (98) hide show
  1. checksums.yaml +8 -8
  2. data/HISTORY.md +378 -2
  3. data/README.md +1 -3
  4. data/acceptance/config/acceptance-options.rb +3 -0
  5. data/acceptance/fixtures/files/failing_shell_script.txt +3 -0
  6. data/acceptance/fixtures/files/retry_script.txt +14 -0
  7. data/acceptance/fixtures/files/shell_script_with_output.txt +3 -0
  8. data/acceptance/fixtures/files/simple_text_file.txt +3 -0
  9. data/acceptance/fixtures/files/sles-11-x86_64.repo +5 -0
  10. data/acceptance/lib/helpers/test_helper.rb +111 -0
  11. data/acceptance/tests/base/dsl/helpers/configuration_test.rb +17 -0
  12. data/acceptance/tests/base/dsl/helpers/host_helpers/add_system32_hosts_entry_test.rb +50 -0
  13. data/acceptance/tests/base/dsl/helpers/host_helpers/backup_the_file_test.rb +64 -0
  14. data/acceptance/tests/base/dsl/helpers/host_helpers/check_for_package_test.rb +100 -0
  15. data/acceptance/tests/base/dsl/helpers/host_helpers/create_remote_file_test.rb +201 -0
  16. data/acceptance/tests/base/dsl/helpers/host_helpers/create_tmpdir_on_test.rb +68 -0
  17. data/acceptance/tests/base/dsl/helpers/host_helpers/curl_on_test.rb +48 -0
  18. data/acceptance/tests/base/dsl/helpers/host_helpers/curl_with_retries_test.rb +28 -0
  19. data/acceptance/tests/base/dsl/helpers/host_helpers/deploy_package_repo_test.rb +142 -0
  20. data/acceptance/tests/base/dsl/helpers/host_helpers/echo_on_test.rb +13 -0
  21. data/acceptance/tests/base/dsl/helpers/host_helpers/install_package_test.rb +67 -0
  22. data/acceptance/tests/base/dsl/helpers/host_helpers/on_test.rb +109 -0
  23. data/acceptance/tests/base/dsl/helpers/host_helpers/retry_on_test.rb +42 -0
  24. data/acceptance/tests/base/dsl/helpers/host_helpers/rsync_to_test.rb +143 -0
  25. data/acceptance/tests/base/dsl/helpers/host_helpers/run_cron_on_test.rb +242 -0
  26. data/acceptance/tests/base/dsl/helpers/host_helpers/run_script_on_test.rb +69 -0
  27. data/acceptance/tests/base/dsl/helpers/host_helpers/run_script_test.rb +53 -0
  28. data/acceptance/tests/base/dsl/helpers/host_helpers/scp_from_test.rb +53 -0
  29. data/acceptance/tests/base/dsl/helpers/host_helpers/scp_to_test.rb +54 -0
  30. data/acceptance/tests/base/dsl/helpers/host_helpers/shell_test.rb +51 -0
  31. data/acceptance/tests/base/dsl/helpers/host_helpers/upgrade_package_test.rb +92 -0
  32. data/acceptance/tests/base/dsl/install_utils/clone_git_repo_on_test.rb +47 -0
  33. data/acceptance/tests/base/{host.rb → host_test.rb} +2 -0
  34. data/acceptance/tests/hypervisor/{communication.rb → communication_test.rb} +0 -0
  35. data/acceptance/tests/load_path_bootstrap.rb +10 -0
  36. data/acceptance/tests/puppet/{install_smoke.rb → install_smoke_test.rb} +0 -0
  37. data/beaker.gemspec +1 -1
  38. data/docs/Access-the-Live-Test-Console-with-Pry.md +305 -0
  39. data/docs/Argument-Processing-and-Precedence.md +325 -0
  40. data/docs/Beaker-Installation.md +59 -0
  41. data/docs/Beaker-Owners-and-Reviewers.md +16 -0
  42. data/docs/Beaker-Test-Tagging.md +76 -0
  43. data/docs/Beaker-with-Masterless-Puppet.md +42 -0
  44. data/docs/Creating-A-Test-Environment.md +91 -0
  45. data/docs/Docker-Support.md +129 -0
  46. data/docs/EC2-Support.md +77 -0
  47. data/docs/Example-Vagrant-Hosts-Files.md +66 -0
  48. data/docs/File-a-Beaker-Bug.md +3 -0
  49. data/docs/Google-Compute-Engine-Support.md +41 -0
  50. data/docs/How-To-Beaker.md +7 -0
  51. data/docs/How-To-Use-User-Password-Authentication-with-Beaker.md +53 -0
  52. data/docs/How-to-Write-a-Beaker-Test-for-a-Module.md +145 -0
  53. data/docs/Lets-Write-a-Test.md +73 -0
  54. data/docs/Openstack-Support.md +32 -0
  55. data/docs/Overview.md +31 -0
  56. data/docs/README.md +43 -0
  57. data/docs/Roles-What-Are-They.md +44 -0
  58. data/docs/Shared-Options-for-Executing-Beaker-Commands.md +43 -0
  59. data/docs/Solaris-Support.md +10 -0
  60. data/docs/The-Beaker-DSL.md +283 -0
  61. data/docs/The-Command-Line.md +24 -0
  62. data/docs/Types,-Puppet-4,-and-the-All-In-One-Agent.md +13 -0
  63. data/docs/VMWare-Fusion-Support.md +36 -0
  64. data/docs/Vagrant-Support.md +47 -0
  65. data/docs/beaker-vs.-beaker-rspec.md +87 -0
  66. data/docs/hosts/README.md +8 -0
  67. data/docs/hosts/eos.md +30 -0
  68. data/docs/hypervisors/README.md +8 -0
  69. data/docs/hypervisors/aws.md +143 -0
  70. data/docs/vSphere-Support.md +46 -0
  71. data/lib/beaker/dsl/helpers/host_helpers.rb +2 -4
  72. data/lib/beaker/dsl/helpers/puppet_helpers.rb +45 -11
  73. data/lib/beaker/dsl/install_utils/foss_utils.rb +20 -23
  74. data/lib/beaker/dsl/install_utils/module_utils.rb +4 -0
  75. data/lib/beaker/dsl/install_utils/pe_utils.rb +2 -6
  76. data/lib/beaker/dsl/patterns.rb +1 -1
  77. data/lib/beaker/host.rb +3 -0
  78. data/lib/beaker/host/eos.rb +56 -0
  79. data/lib/beaker/host/mac/pkg.rb +1 -1
  80. data/lib/beaker/host/unix/pkg.rb +36 -0
  81. data/lib/beaker/hypervisor/aws_sdk.rb +1 -1
  82. data/lib/beaker/hypervisor/vagrant.rb +3 -3
  83. data/lib/beaker/logger.rb +1 -0
  84. data/lib/beaker/options/presets.rb +5 -0
  85. data/lib/beaker/shared/host_manager.rb +7 -4
  86. data/lib/beaker/version.rb +1 -1
  87. data/spec/beaker/dsl/helpers/puppet_helpers_spec.rb +87 -0
  88. data/spec/beaker/dsl/install_utils/foss_utils_spec.rb +53 -20
  89. data/spec/beaker/dsl/install_utils/module_utils_spec.rb +1 -1
  90. data/spec/beaker/dsl/install_utils/pe_utils_spec.rb +7 -14
  91. data/spec/beaker/host/eos_spec.rb +65 -0
  92. data/spec/beaker/host/unix/pkg_spec.rb +42 -0
  93. data/spec/beaker/hypervisor/aws_sdk_spec.rb +17 -56
  94. data/spec/beaker/hypervisor/vagrant_spec.rb +1 -1
  95. data/spec/beaker/logger_spec.rb +1 -1
  96. data/spec/mocks.rb +0 -13
  97. metadata +76 -6
  98. 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).