beaker 4.42.0 → 5.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (218) hide show
  1. checksums.yaml +4 -4
  2. data/.github/dependabot.yml +9 -0
  3. data/.github/workflows/release.yml +2 -2
  4. data/.github/workflows/test.yml +26 -13
  5. data/.rubocop.yml +23 -10
  6. data/.rubocop_todo.yml +34 -10
  7. data/CHANGELOG.md +16 -61
  8. data/Gemfile +12 -7
  9. data/HISTORY.md +605 -0
  10. data/Rakefile +99 -111
  11. data/acceptance/config/acceptance-options.rb +1 -1
  12. data/acceptance/config/base/acceptance-options.rb +2 -2
  13. data/acceptance/config/hypervisor/acceptance-options.rb +2 -2
  14. data/acceptance/config/subcommands/acceptance-options.rb +2 -2
  15. data/acceptance/fixtures/module/Rakefile +1 -1
  16. data/acceptance/fixtures/module/spec/acceptance/demo_spec.rb +8 -12
  17. data/acceptance/fixtures/module/spec/classes/init_spec.rb +0 -1
  18. data/acceptance/fixtures/module/spec/spec_helper_acceptance.rb +3 -5
  19. data/acceptance/lib/helpers/test_helper.rb +6 -5
  20. data/acceptance/pre_suite/subcommands/05_install_ruby.rb +2 -3
  21. data/acceptance/pre_suite/subcommands/08_install_beaker.rb +1 -2
  22. data/acceptance/tests/base/dsl/helpers/configuration_test.rb +4 -4
  23. data/acceptance/tests/base/dsl/helpers/hocon_helpers_test.rb +1 -2
  24. data/acceptance/tests/base/dsl/helpers/host_helpers/add_system32_hosts_entry_test.rb +0 -3
  25. data/acceptance/tests/base/dsl/helpers/host_helpers/archive_file_from_test.rb +3 -1
  26. data/acceptance/tests/base/dsl/helpers/host_helpers/backup_the_file_test.rb +9 -9
  27. data/acceptance/tests/base/dsl/helpers/host_helpers/check_for_package_test.rb +0 -4
  28. data/acceptance/tests/base/dsl/helpers/host_helpers/create_remote_file_test.rb +19 -26
  29. data/acceptance/tests/base/dsl/helpers/host_helpers/curl_on_test.rb +2 -2
  30. data/acceptance/tests/base/dsl/helpers/host_helpers/curl_with_retries_test.rb +0 -1
  31. data/acceptance/tests/base/dsl/helpers/host_helpers/on_test.rb +18 -13
  32. data/acceptance/tests/base/dsl/helpers/host_helpers/retry_on_test.rb +3 -3
  33. data/acceptance/tests/base/dsl/helpers/host_helpers/rsync_to_test.rb +22 -27
  34. data/acceptance/tests/base/dsl/helpers/host_helpers/run_cron_on_test.rb +12 -16
  35. data/acceptance/tests/base/dsl/helpers/host_helpers/run_script_on_test.rb +3 -4
  36. data/acceptance/tests/base/dsl/helpers/host_helpers/run_script_test.rb +3 -3
  37. data/acceptance/tests/base/dsl/helpers/host_helpers/scp_from_test.rb +4 -4
  38. data/acceptance/tests/base/dsl/helpers/host_helpers/scp_to_test.rb +3 -4
  39. data/acceptance/tests/base/dsl/helpers/host_helpers/shell_test.rb +5 -5
  40. data/acceptance/tests/base/dsl/helpers/host_helpers/upgrade_package_test.rb +3 -5
  41. data/acceptance/tests/base/dsl/platform_tag_confiner_test.rb +14 -17
  42. data/acceptance/tests/base/dsl/structure_test.rb +5 -11
  43. data/acceptance/tests/base/host/file_test.rb +2 -2
  44. data/acceptance/tests/base/host/group_test.rb +0 -1
  45. data/acceptance/tests/base/host/host_test.rb +66 -63
  46. data/acceptance/tests/base/host/packages.rb +1 -2
  47. data/acceptance/tests/base/host/packages_unix.rb +0 -55
  48. data/acceptance/tests/base/host/user_test.rb +0 -1
  49. data/acceptance/tests/base/host_prebuilt_steps/ssh_environment_test.rb +1 -2
  50. data/acceptance/tests/base/test_suite/export.rb +6 -9
  51. data/acceptance/tests/install/from_file.rb +2 -4
  52. data/acceptance/tests/load_path_bootstrap.rb +1 -1
  53. data/acceptance/tests/subcommands/destroy.rb +19 -21
  54. data/acceptance/tests/subcommands/exec.rb +0 -1
  55. data/acceptance/tests/subcommands/init.rb +2 -3
  56. data/acceptance/tests/subcommands/provision.rb +0 -1
  57. data/beaker.gemspec +4 -7
  58. data/docs/concepts/argument_processing_and_precedence.md +1 -10
  59. data/docs/how_to/debug_beaker_tests.md +12 -12
  60. data/docs/how_to/hosts/eos.md +2 -12
  61. data/docs/how_to/install_puppet.md +0 -18
  62. data/docs/how_to/the_beaker_dsl.md +0 -2
  63. data/lib/beaker/cli.rb +59 -68
  64. data/lib/beaker/command.rb +20 -28
  65. data/lib/beaker/command_factory.rb +3 -2
  66. data/lib/beaker/dsl/assertions.rb +6 -18
  67. data/lib/beaker/dsl/helpers/hocon_helpers.rb +3 -7
  68. data/lib/beaker/dsl/helpers/host_helpers.rb +62 -123
  69. data/lib/beaker/dsl/helpers/test_helpers.rb +3 -5
  70. data/lib/beaker/dsl/helpers/web_helpers.rb +19 -39
  71. data/lib/beaker/dsl/helpers.rb +2 -4
  72. data/lib/beaker/dsl/outcomes.rb +13 -15
  73. data/lib/beaker/dsl/patterns.rb +1 -3
  74. data/lib/beaker/dsl/roles.rb +17 -20
  75. data/lib/beaker/dsl/structure.rb +53 -65
  76. data/lib/beaker/dsl/test_tagging.rb +7 -10
  77. data/lib/beaker/dsl/wrappers.rb +15 -16
  78. data/lib/beaker/dsl.rb +2 -3
  79. data/lib/beaker/host/aix/exec.rb +1 -1
  80. data/lib/beaker/host/aix/file.rb +0 -1
  81. data/lib/beaker/host/aix/group.rb +1 -1
  82. data/lib/beaker/host/aix/user.rb +1 -1
  83. data/lib/beaker/host/aix.rb +3 -4
  84. data/lib/beaker/host/cisco.rb +27 -39
  85. data/lib/beaker/host/eos.rb +4 -30
  86. data/lib/beaker/host/freebsd/exec.rb +1 -1
  87. data/lib/beaker/host/freebsd/pkg.rb +3 -3
  88. data/lib/beaker/host/freebsd.rb +9 -12
  89. data/lib/beaker/host/mac/exec.rb +4 -4
  90. data/lib/beaker/host/mac/group.rb +7 -7
  91. data/lib/beaker/host/mac/pkg.rb +3 -106
  92. data/lib/beaker/host/mac/user.rb +2 -2
  93. data/lib/beaker/host/mac.rb +8 -9
  94. data/lib/beaker/host/pswindows/exec.rb +66 -70
  95. data/lib/beaker/host/pswindows/file.rb +3 -5
  96. data/lib/beaker/host/pswindows/group.rb +3 -3
  97. data/lib/beaker/host/pswindows/pkg.rb +12 -12
  98. data/lib/beaker/host/pswindows/user.rb +3 -3
  99. data/lib/beaker/host/pswindows.rb +4 -3
  100. data/lib/beaker/host/unix/exec.rb +81 -83
  101. data/lib/beaker/host/unix/file.rb +41 -46
  102. data/lib/beaker/host/unix/group.rb +1 -1
  103. data/lib/beaker/host/unix/pkg.rb +138 -401
  104. data/lib/beaker/host/unix/user.rb +2 -2
  105. data/lib/beaker/host/unix.rb +8 -11
  106. data/lib/beaker/host/windows/exec.rb +17 -17
  107. data/lib/beaker/host/windows/file.rb +3 -3
  108. data/lib/beaker/host/windows/group.rb +3 -3
  109. data/lib/beaker/host/windows/pkg.rb +3 -54
  110. data/lib/beaker/host/windows/user.rb +3 -3
  111. data/lib/beaker/host/windows.rb +12 -12
  112. data/lib/beaker/host.rb +76 -133
  113. data/lib/beaker/host_prebuilt_steps.rb +88 -196
  114. data/lib/beaker/hypervisor/noop.rb +2 -4
  115. data/lib/beaker/hypervisor.rb +44 -61
  116. data/lib/beaker/local_connection.rb +2 -4
  117. data/lib/beaker/logger.rb +68 -76
  118. data/lib/beaker/logger_junit.rb +21 -25
  119. data/lib/beaker/network_manager.rb +39 -42
  120. data/lib/beaker/options/command_line_parser.rb +12 -23
  121. data/lib/beaker/options/hosts_file_parser.rb +16 -25
  122. data/lib/beaker/options/options_file_parser.rb +3 -6
  123. data/lib/beaker/options/options_hash.rb +2 -7
  124. data/lib/beaker/options/parser.rb +86 -102
  125. data/lib/beaker/options/presets.rb +114 -123
  126. data/lib/beaker/options/subcommand_options_file_parser.rb +3 -6
  127. data/lib/beaker/options/validator.rb +26 -31
  128. data/lib/beaker/perf.rb +25 -30
  129. data/lib/beaker/platform.rb +27 -39
  130. data/lib/beaker/result.rb +7 -6
  131. data/lib/beaker/shared/error_handler.rb +8 -10
  132. data/lib/beaker/shared/fog_credentials.rb +5 -9
  133. data/lib/beaker/shared/host_manager.rb +36 -41
  134. data/lib/beaker/shared/options_resolver.rb +3 -7
  135. data/lib/beaker/shared/repetition.rb +2 -4
  136. data/lib/beaker/shared/semvar.rb +37 -41
  137. data/lib/beaker/shared/timed.rb +0 -3
  138. data/lib/beaker/shared.rb +1 -1
  139. data/lib/beaker/ssh_connection.rb +38 -47
  140. data/lib/beaker/subcommand.rb +17 -24
  141. data/lib/beaker/subcommands/subcommand_util.rb +4 -4
  142. data/lib/beaker/tasks/quick_start.rb +4 -9
  143. data/lib/beaker/tasks/rake_task.rb +25 -27
  144. data/lib/beaker/tasks/test.rb +4 -4
  145. data/lib/beaker/test_case.rb +16 -28
  146. data/lib/beaker/test_suite.rb +35 -39
  147. data/lib/beaker/test_suite_result.rb +45 -47
  148. data/lib/beaker/version.rb +1 -1
  149. data/lib/beaker.rb +6 -7
  150. data/spec/beaker/cli_spec.rb +121 -142
  151. data/spec/beaker/command_spec.rb +55 -59
  152. data/spec/beaker/dsl/assertions_spec.rb +36 -36
  153. data/spec/beaker/dsl/helpers/host_helpers_spec.rb +110 -131
  154. data/spec/beaker/dsl/helpers/test_helpers_spec.rb +9 -10
  155. data/spec/beaker/dsl/helpers/web_helpers_spec.rb +22 -31
  156. data/spec/beaker/dsl/outcomes_spec.rb +14 -14
  157. data/spec/beaker/dsl/roles_spec.rb +125 -130
  158. data/spec/beaker/dsl/structure_spec.rb +172 -161
  159. data/spec/beaker/dsl/test_tagging_spec.rb +89 -90
  160. data/spec/beaker/dsl/wrappers_spec.rb +32 -33
  161. data/spec/beaker/host/aix_spec.rb +14 -14
  162. data/spec/beaker/host/cisco_spec.rb +84 -94
  163. data/spec/beaker/host/eos_spec.rb +15 -36
  164. data/spec/beaker/host/freebsd/exec_spec.rb +3 -6
  165. data/spec/beaker/host/freebsd/pkg_spec.rb +24 -27
  166. data/spec/beaker/host/mac/exec_spec.rb +2 -3
  167. data/spec/beaker/host/mac/group_spec.rb +48 -57
  168. data/spec/beaker/host/mac/user_spec.rb +54 -63
  169. data/spec/beaker/host/pswindows/exec_spec.rb +30 -32
  170. data/spec/beaker/host/pswindows/file_spec.rb +16 -16
  171. data/spec/beaker/host/pswindows/user_spec.rb +17 -23
  172. data/spec/beaker/host/pswindows_spec.rb +13 -13
  173. data/spec/beaker/host/unix/exec_spec.rb +75 -80
  174. data/spec/beaker/host/unix/file_spec.rb +65 -78
  175. data/spec/beaker/host/unix/pkg_spec.rb +150 -411
  176. data/spec/beaker/host/unix_spec.rb +11 -207
  177. data/spec/beaker/host/windows/exec_spec.rb +30 -32
  178. data/spec/beaker/host/windows/file_spec.rb +18 -19
  179. data/spec/beaker/host/windows/group_spec.rb +10 -12
  180. data/spec/beaker/host/windows/pkg_spec.rb +6 -9
  181. data/spec/beaker/host/windows/user_spec.rb +17 -23
  182. data/spec/beaker/host/windows_spec.rb +39 -39
  183. data/spec/beaker/host_prebuilt_steps_spec.rb +168 -349
  184. data/spec/beaker/host_spec.rb +204 -284
  185. data/spec/beaker/hypervisor/hypervisor_spec.rb +36 -61
  186. data/spec/beaker/localhost_connection_spec.rb +10 -11
  187. data/spec/beaker/logger_junit_spec.rb +19 -30
  188. data/spec/beaker/logger_spec.rb +153 -136
  189. data/spec/beaker/network_manager_spec.rb +23 -23
  190. data/spec/beaker/options/command_line_parser_spec.rb +20 -23
  191. data/spec/beaker/options/hosts_file_parser_spec.rb +30 -32
  192. data/spec/beaker/options/options_file_parser_spec.rb +4 -7
  193. data/spec/beaker/options/options_hash_spec.rb +4 -6
  194. data/spec/beaker/options/parser_spec.rb +167 -167
  195. data/spec/beaker/options/presets_spec.rb +7 -9
  196. data/spec/beaker/options/subcommand_options_parser_spec.rb +13 -14
  197. data/spec/beaker/options/validator_spec.rb +10 -11
  198. data/spec/beaker/perf_spec.rb +18 -21
  199. data/spec/beaker/platform_spec.rb +25 -55
  200. data/spec/beaker/shared/error_handler_spec.rb +7 -16
  201. data/spec/beaker/shared/fog_credentials_spec.rb +29 -29
  202. data/spec/beaker/shared/host_manager_spec.rb +50 -84
  203. data/spec/beaker/shared/options_resolver_spec.rb +9 -12
  204. data/spec/beaker/shared/repetition_spec.rb +17 -24
  205. data/spec/beaker/shared/semvar_spec.rb +21 -26
  206. data/spec/beaker/ssh_connection_spec.rb +76 -83
  207. data/spec/beaker/subcommand/subcommand_util_spec.rb +31 -33
  208. data/spec/beaker/subcommand_spec.rb +75 -77
  209. data/spec/beaker/test_case_spec.rb +25 -50
  210. data/spec/beaker/test_suite_spec.rb +147 -154
  211. data/spec/helpers.rb +39 -45
  212. data/spec/matchers.rb +8 -7
  213. data/spec/mocks.rb +1 -6
  214. data/spec/spec_helper.rb +0 -1
  215. metadata +8 -24
  216. data/acceptance/tests/base/dsl/helpers/host_helpers/deploy_package_repo_test.rb +0 -142
  217. data/acceptance/tests/base/external_resources_test.rb +0 -31
  218. data/spec/beaker/host/mac_spec.rb +0 -113
data/HISTORY.md ADDED
@@ -0,0 +1,605 @@
1
+ ## [4.38.1](https://github.com/voxpupuli/beaker/tree/4.38.1) (2022-09-21)
2
+
3
+ [Full Changelog](https://github.com/voxpupuli/beaker/compare/4.38.0...4.38.1)
4
+
5
+ **Fixed bugs:**
6
+
7
+ - Arch Linux: Ensure keyring is up2date [\#1755](https://github.com/voxpupuli/beaker/pull/1755) ([bastelfreak](https://github.com/bastelfreak))
8
+
9
+ ## [4.38.0](https://github.com/voxpupuli/beaker/tree/4.38.0) (2022-08-11)
10
+
11
+ [Full Changelog](https://github.com/voxpupuli/beaker/compare/4.37.2...4.38.0)
12
+
13
+ **Implemented enhancements:**
14
+
15
+ - Drop pry dependency, allow using debug gem [\#1737](https://github.com/voxpupuli/beaker/pull/1737) ([ekohl](https://github.com/ekohl))
16
+
17
+ ## [4.37.2](https://github.com/voxpupuli/beaker/tree/4.37.2) (2022-07-29)
18
+
19
+ [Full Changelog](https://github.com/voxpupuli/beaker/compare/4.37.1...4.37.2)
20
+
21
+ **Fixed bugs:**
22
+
23
+ - Use the new scheme for agent versions \>= 6.28 and \< 7 [\#1749](https://github.com/voxpupuli/beaker/pull/1749) ([joshcooper](https://github.com/joshcooper))
24
+
25
+ ## [4.37.1](https://github.com/voxpupuli/beaker/tree/4.37.1) (2022-07-27)
26
+
27
+ [Full Changelog](https://github.com/voxpupuli/beaker/compare/4.37.0...4.37.1)
28
+
29
+ **Fixed bugs:**
30
+
31
+ - macOS PE tarballs include arch now [\#1747](https://github.com/voxpupuli/beaker/pull/1747) ([joshcooper](https://github.com/joshcooper))
32
+
33
+ ## [4.37.0](https://github.com/voxpupuli/beaker/tree/4.37.0) (2022-06-28)
34
+
35
+ [Full Changelog](https://github.com/voxpupuli/beaker/compare/4.36.1...4.37.0)
36
+
37
+ **Implemented enhancements:**
38
+
39
+ - Add support for Win32-OpenSSH [\#1744](https://github.com/voxpupuli/beaker/pull/1744) ([joshcooper](https://github.com/joshcooper))
40
+
41
+ **Fixed bugs:**
42
+
43
+ - Create ~/.ssh on Windows if it doesn't exist [\#1745](https://github.com/voxpupuli/beaker/pull/1745) ([joshcooper](https://github.com/joshcooper))
44
+
45
+ ## [4.36.1](https://github.com/voxpupuli/beaker/tree/4.36.1) (2022-06-16)
46
+
47
+ [Full Changelog](https://github.com/voxpupuli/beaker/compare/4.36.0...4.36.1)
48
+
49
+ **Implemented enhancements:**
50
+
51
+ - \(maint\) Remove /etc/environment file for ubuntu2204 [\#1742](https://github.com/voxpupuli/beaker/pull/1742) ([cthorn42](https://github.com/cthorn42))
52
+
53
+ ## [4.36.0](https://github.com/voxpupuli/beaker/tree/4.36.0) (2022-05-30)
54
+
55
+ [Full Changelog](https://github.com/voxpupuli/beaker/compare/4.35.0...4.36.0)
56
+
57
+ **Implemented enhancements:**
58
+
59
+ - \(PE-33493\) Add Ubuntu 2204 codename [\#1740](https://github.com/voxpupuli/beaker/pull/1740) ([cthorn42](https://github.com/cthorn42))
60
+
61
+ ## [4.35.0](https://github.com/voxpupuli/beaker/tree/4.35.0) (2022-05-13)
62
+
63
+ [Full Changelog](https://github.com/voxpupuli/beaker/compare/4.34.0...4.35.0)
64
+
65
+ **Implemented enhancements:**
66
+
67
+ - Build gem during CI runs [\#1738](https://github.com/voxpupuli/beaker/pull/1738) ([bastelfreak](https://github.com/bastelfreak))
68
+ - Add Ruby 3.1 support [\#1736](https://github.com/voxpupuli/beaker/pull/1736) ([ekohl](https://github.com/ekohl))
69
+
70
+ ## [4.34.0](https://github.com/voxpupuli/beaker/tree/4.34.0) (2022-01-27)
71
+
72
+ [Full Changelog](https://github.com/voxpupuli/beaker/compare/4.33.0...4.34.0)
73
+
74
+ **Implemented enhancements:**
75
+
76
+ - Extract a host\_packages method from validate\_host [\#1729](https://github.com/voxpupuli/beaker/pull/1729) ([ekohl](https://github.com/ekohl))
77
+ - Reduce duplication in ssh\_permit\_user\_environment [\#1728](https://github.com/voxpupuli/beaker/pull/1728) ([ekohl](https://github.com/ekohl))
78
+
79
+ **Fixed bugs:**
80
+
81
+ - Do not install curl on EL9 [\#1732](https://github.com/voxpupuli/beaker/pull/1732) ([ekohl](https://github.com/ekohl))
82
+ - Drop old Ruby 1.8 compatibility code [\#1730](https://github.com/voxpupuli/beaker/pull/1730) ([ekohl](https://github.com/ekohl))
83
+
84
+ ## [4.33.0](https://github.com/voxpupuli/beaker/tree/4.33.0) (2022-01-21)
85
+
86
+ [Full Changelog](https://github.com/voxpupuli/beaker/compare/4.32.0...4.33.0)
87
+
88
+ **Implemented enhancements:**
89
+
90
+ - Add ed25519 as runtime dependency [\#1726](https://github.com/voxpupuli/beaker/pull/1726) ([bastelfreak](https://github.com/bastelfreak))
91
+
92
+ ## [4.32.0](https://github.com/voxpupuli/beaker/tree/4.32.0) (2021-12-06)
93
+
94
+ [Full Changelog](https://github.com/voxpupuli/beaker/compare/4.31.0...4.32.0)
95
+
96
+ **Implemented enhancements:**
97
+
98
+ - Initial EL9 support [\#1719](https://github.com/voxpupuli/beaker/pull/1719) ([ekohl](https://github.com/ekohl))
99
+
100
+ **Fixed bugs:**
101
+
102
+ - Arch Linux: install net-tools and openssh [\#1722](https://github.com/voxpupuli/beaker/pull/1722) ([bastelfreak](https://github.com/bastelfreak))
103
+
104
+ ## [4.31.0](https://github.com/voxpupuli/beaker/tree/4.31.0) (2021-11-02)
105
+
106
+ ### Fixed
107
+
108
+ - (BKR-1690) Fix localhost logging ([#1691](https://github.com/voxpupuli/beaker/pull/1691))
109
+
110
+ ### Added
111
+
112
+ - Made fips_check? more generally applicable ([#1717]https://github.com/voxpupuli/beaker/pull/1717))
113
+
114
+ ## [4.30.0](https://github.com/voxpupuli/beaker/tree/4.30.0) (2021-07-21)
115
+
116
+ ### Fixed
117
+
118
+ - Fix Platform version string comparison for install_local_package ([#1712](https://github.com/voxpupuli/beaker/pull/1712))
119
+
120
+ ### Added
121
+
122
+ - Add initial opensuse support ([#1697](https://github.com/voxpupuli/beaker/pull/1697))
123
+ - Implement codecov reporting ([#1710](https://github.com/voxpupuli/beaker/pull/1710))
124
+
125
+ ### Changed
126
+
127
+ - beaker-abs: allow latest releases ([#1706](https://github.com/voxpupuli/beaker/pull/1706))
128
+ - Align release setup with other gems ([#1707](https://github.com/voxpupuli/beaker/pull/1707))
129
+
130
+ ## [4.29.1](https://github.com/voxpupuli/beaker/tree/4.29.1) (2021-05-26)
131
+
132
+ ### Fixed
133
+
134
+ - Fixed `vagrant*` matching in the unix `get_ip()`
135
+
136
+ # [4.29.0](https://github.com/voxpupuli/beaker/compare/4.28.1...4.29.0) - 19-05-2021
137
+
138
+ ### Added
139
+
140
+ - Ruby 3.0 support
141
+
142
+ # [4.28.1](https://github.com/voxpupuli/beaker/compare/4.28.0...4.28.1) - 03-10-2021
143
+
144
+ ### Fixed
145
+
146
+ - Updated the ssh_preference example
147
+ - Fixed various spec tests
148
+ - Updated the `which` command to try `type -P` before falling back to `which`
149
+ for systems that may not have `which` installed
150
+
151
+ # [4.28.0](https://github.com/voxpupuli/beaker/compare/4.27.1...4.28.0) - 12-21-2020
152
+
153
+ ### Changed
154
+
155
+ - Arch Linux: Update box before installing packages ([#1688](https://github.com/voxpupuli/beaker/pull/1688))
156
+ - Move the entire workflow to Github Actions ([#1678](https://github.com/voxpupuli/beaker/pull/1678))
157
+ - Allow fakefs dependency in version >= 1 < 2 ([#1687](https://github.com/voxpupuli/beaker/pull/1687))
158
+
159
+ ### Fixed
160
+
161
+ - Fix License text and SPDX code ([#1681](https://github.com/voxpupuli/beaker/pull/1678))
162
+
163
+ # [4.27.1](https://github.com/voxpupuli/beaker/compare/4.27.0...4.27.1) - 09-29-2020
164
+
165
+ ### Changed
166
+
167
+ - Update net-scp requirement from "~> 1.2" to ">= 1.2, < 4.0"
168
+
169
+ ### Fixed
170
+
171
+ - Handle systems going back in time after reboot
172
+ - Enhanced error handling during the reboot sequence
173
+ - Fixed time check logic during reboot
174
+ - Wrap paths around "" on pswindows
175
+
176
+ # [4.27.0](https://github.com/voxpupuli/beaker/compare/4.26.0...4.27.0) - 07-24-2020
177
+
178
+ ### Changed
179
+
180
+ - Updated dependency versions and minimum Ruby version in gemspec to Ruby 2.4, which is the minimum
181
+ version Beaker will run with.
182
+ - Added Travis unit testing and disabled Jenkins integrations in preparation for transferring the
183
+ repo to Vox Pupuli
184
+
185
+
186
+ # [4.26.0](https://github.com/voxpupuli/beaker/compare/4.25.0...4.26.0)
187
+
188
+ ### Changed
189
+
190
+ - Fixed deprecated SSH option handling for `verify_ssh_key` being passed into Net::SSH. #1655
191
+
192
+ ### Removed
193
+
194
+ - Removed deprecated use of `paranoid` flag with Net::SSH. #1655
195
+
196
+ # [4.25.0](https://github.com/voxpupuli/beaker/compare/4.24.0...4.25.0)
197
+
198
+ ### Added
199
+
200
+ - Execution of Beaker directly through ruby on localhost #1637 ([#1637](https://github.com/voxpupuli/beaker/pull/1637))
201
+
202
+ ### Fixed
203
+
204
+ - Reliability improvements to the `Host#reboot` method ([#1656](https://github.com/voxpupuli/beaker/pull/1656)) ([#1659](https://github.com/voxpupuli/beaker/pull/1659))
205
+
206
+ # [4.24.0](https://github.com/voxpupuli/beaker/compare/4.23.0...4.24.0) - 2020-06-05
207
+
208
+ ### Added
209
+
210
+ - Host method which ([#1651](https://github.com/voxpupuli/beaker/pull/1651))
211
+
212
+ ### Fixed
213
+
214
+ - Fixed implementation for cat and file_exists? host methods for PSWindows ([#1654](https://github.com/voxpupuli/beaker/pull/1654))
215
+ - Fixed implementation for mkdir_p host method for PSWindows ([#1657](https://github.com/voxpupuli/beaker/pull/1657))
216
+
217
+ # [4.23.2](https://github.com/voxpupuli/beaker/compare/4.23.1...4.23.2)
218
+
219
+ ### Fixed
220
+
221
+ - Fixed Beaker's behavior when the `strict_host_key_checking` option is
222
+ provided in the SSH config and Net-SSH > 5 is specified. (#1652)
223
+
224
+ # [4.23.1](https://github.com/voxpupuli/beaker/compare/4.23.0...4.23.1)
225
+
226
+ ### Changed/Removed
227
+
228
+ - Reversed the quoting changes on Unix from #1644 in favor of only quoting on Windows. (#1650)
229
+
230
+ # [4.23.0](https://github.com/voxpupuli/beaker/compare/4.22.1...4.23.0)
231
+
232
+ ### Added
233
+
234
+ - Relaxed dependency on `net-ssh` to `>= 5` to support newer versions. (#1648)
235
+ - `cat` DSL method added. Works on both Unix and Windows hosts. (#1645)
236
+
237
+ ### Changed
238
+
239
+ - The `mkdir_p` and `mv` commands now double quote their file arguments. (#1644) If you rely on file globbing in these methods or elsewhere, please open an issue on the BEAKER project.
240
+ - Change `reboot` method to use `who -b` for uptime detection (#1643)
241
+
242
+ ### Fixed
243
+
244
+ - Use Base64 UTF-16LE encoding for commands (#1626)
245
+ - Fix `tmpdir` method for Powershell on Windows (#1645)
246
+
247
+ # [4.22.1](https://github.com/voxpupuli/beaker/compare/4.22.0...4.22.1)
248
+
249
+ ### Fixed
250
+
251
+ - Removed single quotes around paths for file operation commands on `Host` https://github.com/voxpupuli/beaker/pull/1642
252
+
253
+ # [4.22.0](https://github.com/voxpupuli/beaker/compare/4.21.0...4.22.0) - 2020-05-08
254
+
255
+ ### Added
256
+
257
+ - Host methods chmod and modified_at. ([#1638](https://github.com/voxpupuli/beaker/pull/1638))
258
+
259
+ ### Removed
260
+
261
+ - Support for EL-5. ([#1639](https://github.com/voxpupuli/beaker/pull/1639)) ([#1640](https://github.com/voxpupuli/beaker/pull/1640))
262
+
263
+ # [4.21.0](https://github.com/voxpupuli/beaker/compare/4.20.0...4.21.0) - 2020-03-31
264
+
265
+ ### Added
266
+
267
+ - Empty file `/etc/environment` while preparing ssh environment on Ubuntu 20.04 to keep the current behavior and consider all variables from `~/.ssh/environment`. ([#1635](https://github.com/voxpupuli/beaker/pull/1635))
268
+
269
+ # [4.20.0](https://github.com/voxpupuli/beaker/compare/4.19.0...4.20.0) - 2020-03-19
270
+
271
+ ### Added
272
+
273
+ - Vagrant RSync/SSH settings will now be picked up if set via beaker-vagrant ([#1634](https://github.com/voxpupuli/beaker/pull/1634) and [beaker-vagrant#28](https://github.com/voxpupuli/beaker-vagrant/pull/28))
274
+
275
+ # [4.19.0](https://github.com/voxpupuli/beaker/compare/4.18.0...4.19.0) - 2020-03-13
276
+
277
+ ### Added
278
+
279
+ - `apt-transport-https` package will now be installed on Debian-based systems as part of the prebuilt process. ([#1631](https://github.com/voxpupuli/beaker/pull/1631))
280
+ - Ubuntu 19.10 and 20.04 code name handling. ([#1632](https://github.com/voxpupuli/beaker/pull/1632))
281
+
282
+ ### Changed
283
+
284
+ - The `wait_time`, `max_connection_tries`, and `uptime_retries` parameters have been added to `Host::Unix::Exec.reboot`. This allows for more fine-grained control over how the reboot is handled. ([#1625](https://github.com/voxpupuli/beaker/pull/1625))
285
+
286
+ ### Fixed
287
+
288
+ - In `hosts.yml`, `packaging_platform` will now default to `platform` if unspecified. This fixed a bug where beaker would fail unless you specified both values in your config, even if both values were identical. ([#1628](https://github.com/voxpupuli/beaker/pull/1628))
289
+ - `version_is_less` will now correctly handle builds and RCs when used in version numbers. ([#1630](https://github.com/voxpupuli/beaker/pull/1630))
290
+
291
+ ### Security
292
+ - Update `rake` to `~> 12.0`, which currently resolves to `12.3.3` to remediate [CVE-2020-8130](https://nvd.nist.gov/vuln/detail/CVE-2020-8130)
293
+
294
+ # [4.18.0](https://github.com/voxpupuli/beaker/compare/4.17.0...4.18.0) - 2020-02-26
295
+ ### Changed
296
+ - Thor dependency bumped to >=1.0.1 <2.0
297
+
298
+ # [4.17.0](https://github.com/voxpupuli/beaker/compare/4.16.0...4.17.0) - 2020-02-20
299
+
300
+ ### Added
301
+
302
+ - Windows support in `host_helpers` ([#1622](https://github.com/voxpupuli/beaker/pull/1622))
303
+ - EL 8 support ([#1623](https://github.com/voxpupuli/beaker/pull/1623))
304
+
305
+ # [4.16.0](https://github.com/voxpupuli/beaker/compare/4.15.0...4.16.0) - 2020-02-05
306
+
307
+ ### Added
308
+
309
+ - release section to README ([#1618](https://github.com/voxpupuli/beaker/pull/1618))
310
+ - false return if `link_exists?` raises an error ([#1613](https://github.com/voxpupuli/beaker/pull/1613))
311
+
312
+ ### Fixed
313
+
314
+ - `host.reboot` uses `uptime` rather than `ping` to check host status ([#1619](https://github.com/voxpupuli/beaker/pull/1619))
315
+
316
+ # [4.15.0](https://github.com/voxpupuli/beaker/compare/4.14.1...4.15.0) - 2020-01-30
317
+
318
+ ### Added
319
+
320
+ - macOS 10.15 Catalina support (BKR-1621)
321
+
322
+ # [4.14.1](https://github.com/voxpupuli/beaker/compare/4.14.0...4.14.1) - 2019-11-18
323
+
324
+ ### Fixed
325
+
326
+ - `fips_mode?` detection (#1607)
327
+
328
+ # [4.14.0](https://github.com/voxpupuli/beaker/compare/4.13.1...4.14.0) - 2019-11-12
329
+
330
+ ### Added
331
+
332
+ - Pre-built steps output stacktraces when aborted (QENG-7466)
333
+
334
+ # [4.13.1](https://github.com/voxpupuli/beaker/compare/4.13.0...4.13.1) - 2019-10-07
335
+
336
+ ### Fixed
337
+
338
+ - Use correct platform variant for FIPS repo configs download (BKR-1616)
339
+
340
+ # [4.13.0](https://github.com/voxpupuli/beaker/compare/4.12.0...4.13.0) - 2019-09-16
341
+
342
+ ### Added
343
+
344
+ - Host `enable_remote_rsyslog` method (QENG-7466)
345
+
346
+ # [4.12.0](https://github.com/voxpupuli/beaker/compare/4.11.1...4.12.0) - 2019-08-14
347
+
348
+ ### Added
349
+
350
+ - redhatfips as a recognized platform (PE-27037)
351
+
352
+ # [4.11.1](https://github.com/voxpupuli/beaker/compare/4.11.0...4.11.1) - 2019-08-13
353
+
354
+ ### Changed
355
+
356
+ - `host.down?`'s wait from a fibonacci to a constant wait (BKR-1595)
357
+
358
+ # [4.11.0](https://github.com/voxpupuli/beaker/compare/4.10.0...4.11.0) - 2019-07-22
359
+
360
+ ### Added
361
+
362
+ - FIPS detection host method (BKR-1604)
363
+ - PassTest exception catching for standard reporting
364
+
365
+ # [4.10.0](https://github.com/voxpupuli/beaker/compare/4.9.0...4.10.0) - 2019-07-01
366
+
367
+ ### Added
368
+
369
+ - Down & Up Checking to Host#reboot (BKR-1595)
370
+
371
+ # [4.9.0](https://github.com/voxpupuli/beaker/compare/4.8.0...4.9.0) - 2019-06-19
372
+
373
+ ### Changed
374
+
375
+ - SSH Connection failure backoff shortened (BKR-1599)
376
+
377
+ # [4.8.0](https://github.com/voxpupuli/beaker/compare/4.7.0...4.8.0) - 2019-04-17
378
+
379
+ ### Added
380
+
381
+ - Support for Fedora >= 30 (BKR-1589)
382
+ - Codenames for Ubuntu 18.10, 19.04, and 19.10
383
+
384
+ ### Changed
385
+
386
+ - Remove "repos-pe" prefix for repo filenames
387
+
388
+ # [4.7.0](https://github.com/voxpupuli/beaker/compare/4.6.0...4.7.0) - 2019-04-17
389
+
390
+ ### Added
391
+
392
+ - Provide for OpenSSL 1.1.x+ support
393
+ - enable Solaris10Sparc pkgutil SSL CA2 (IMAGES-844)
394
+
395
+ ### Changed
396
+
397
+ - update pry-byebug dependency 3.4.2->3.6 (BKR-1568)
398
+ - disabling hostkey checks for cisco hosts (QENG-7108)
399
+ - Change behavior of ruby versioning to accept job-parameter RUBY\_VER
400
+ - Change subcommand pre-suite to install ruby 2.3.1
401
+
402
+ # [4.6.0](https://github.com/voxpupuli/beaker/compare/4.5.0...4.6.0) - 2019.03.07
403
+
404
+ ### Added
405
+
406
+ - Codename for Debian 10 'Buster'
407
+
408
+ # [4.5.0](https://github.com/voxpupuli/beaker/compare/4.4.0...4.5.0) - 2019.01.23
409
+
410
+ ### Changed
411
+
412
+ - Do not mirror profile.d on Debian (BKR-1559)
413
+
414
+ # [4.4.0](https://github.com/voxpupuli/beaker/compare/4.3.0...4.4.0) - 2019.01.09
415
+
416
+ ### Added
417
+
418
+ - Return root considerations for appending on nexus devices (BKR-1562)
419
+ - Permit user environment on osx-10.14 (BKR-1534)
420
+ - Add host helpers for working with files (BKR-1560)
421
+
422
+ ### Changed
423
+
424
+ - Replace ntpdate with crony on RHEL-8 (BKR-1555)
425
+
426
+ # [4.3.0](https://github.com/voxpupuli/beaker/compare/4.2.0...4.3.0) - 2018.12.12
427
+
428
+ ### Added
429
+
430
+ - Use zypper to install RPM packages on SLES (PA-2336)
431
+ - Add only-fails capability to beaker (BKR-1523)
432
+
433
+ # [4.2.0](https://github.com/voxpupuli/beaker/compare/4.1.0...4.2.0) - 2018.11.28
434
+
435
+ ### Added
436
+
437
+ - `BEAKER_HYPERVISOR` environment variable to choose the beaker-hostgenerator hypervisor
438
+
439
+ ### Changed
440
+
441
+ - Handling of vsh appended commands for cisco_nexus (BKR-1556)
442
+ - Acceptance tests: Add backoffs to other create_remote_file test
443
+
444
+ ### Fixed
445
+
446
+ - Don't always start a new container with docker (can be reused between invocations of the provision and exec beaker subcommands) (BKR-1547)
447
+ - Recursively remove unpersisted subcommand options (BKR-1549)
448
+
449
+
450
+ # [4.1.0](https://github.com/voxpupuli/beaker/compare/4.0.0...4.1.0) - 2018.10.25
451
+
452
+ ### Added
453
+
454
+ - `--preserve-state` flag will preserve a given host options hash across subcommand runs(BKR-1541)
455
+
456
+ ### Changed
457
+
458
+ - Added additional tests for EL-like systems and added 'redhat' support where necessary
459
+ - Test if puppet module is installed in '/' and avoid stripping of path seperator
460
+
461
+ # [4.0.0](https://github.com/voxpupuli/beaker/compare/3.37.0...4.0.0) - 2018-08-06
462
+
463
+ ### Fixed
464
+
465
+ - `host.rsync_to` throws `Beaker::Host::CommandFailure` if rsync call fails (BKR-463)
466
+ - `host.rsync_to` throws `Beaker::Host::CommandFailure` if rsync does not exist on remote system (BKR-462)
467
+ - `host.rsync_to` now check through configured SSH keys to use the first valid one
468
+ - Updated some `Beaker::Host` methods to always return a `Result` object
469
+
470
+ ### Added
471
+
472
+ - Adds `Beaker::Host#chown`, `#chgrp`, and `#ls_ld` methods (BKR-1499)
473
+ - `#uninstall_package` host helper, to match `#install_package`
474
+ - `Host.uninstall_package` for FreeBSD
475
+ - Now easily check a command's exit status by calling `Result.success?()` for a simple, truthy result. No need to validate the exit code manually.
476
+
477
+ ### Changed
478
+
479
+ - `#set_env` no longer calls `#configure_type_defaults_on`
480
+ - `beaker-puppet` DSL Extension Library has been formally split into a standard DSL Extension Library and removed as a dependency from Beaker. Please see our [upgrade guidelines](docs/how_to/upgrade_from_3_to_4.md).
481
+ - Beaker's Hypervisor Libraries have been removed as dependencies. Please see our [upgrade guidelines](docs/how_to/upgrade_from_3_to_4.md).
482
+
483
+ ### Removed
484
+
485
+ - `PEDefaults` has been moved to `beaker-pe`
486
+
487
+ # [3.37.0](https://github.com/voxpupuli/beaker/compare/3.36.0...3.37.0) - 2018-07-11
488
+
489
+ ### Fixed
490
+
491
+ - Exit early on --help/--version/--parse-only arguments instead of partial dry-run
492
+
493
+ ### Added
494
+
495
+ - `Beaker::Shared::FogCredentials.get_fog_credentials()` to parse .fog credential files
496
+
497
+ ### Changed
498
+
499
+ - `beaker-pe` is no longer automagically included. See [the upgrade guide](/docs/how_to/upgrade_from_3_to_4.md}) for more info
500
+ - `beaker-puppet` is no longer required as a dependency
501
+
502
+ # [3.36.0](https://github.com/voxpupuli/beaker/compare/3.35.0...3.36.0) - 2018-06-18
503
+
504
+ ### Fixed
505
+
506
+ - Raise `ArgumentError` when passing `role = nil` to `only_host_with_role()` or `find_at_most_one_host_with_role()`
507
+ - Use `install_package_with_rpm` in `add_el_extras`
508
+
509
+ ### Added
510
+
511
+ - Installation instructions for contributors
512
+ - Markdown formatting guidelines for `docs/`
513
+ - Glossary for project jargon in [`docs/concepts/glossary.md`](docs/concepts/glossary.md)
514
+ - Use AIX 6.1 packages everywhere for puppet6
515
+
516
+ # [3.35.0](https://github.com/voxpupuli/beaker/compare/3.34.0...3.35.0) - 2018-05-16
517
+
518
+ ### Fixed
519
+
520
+ - Report accurate location of generated smoke test
521
+ - Accept comma-separated tests for exec subcommand
522
+
523
+ ### Added
524
+
525
+ - Added optional ability to use ERB in nodeset YAML files
526
+
527
+ # [3.34.0](https://github.com/voxpupuli/beaker/compare/3.33.0...3.34.0) - 2018-03-26
528
+
529
+ ### Fixed
530
+
531
+ - Recursively glob the tests directory
532
+
533
+ ### Added
534
+
535
+ - Codename for Ubuntu 18.04 'Bionic'
536
+
537
+ # [3.33.0](https://github.com/voxpupuli/beaker/compare/3.32.0...3.33.0) - 2018-03-07
538
+
539
+ ### Changed
540
+
541
+ - Use relative paths for beaker exec
542
+
543
+ # [3.32.0](https://github.com/voxpupuli/beaker/compare/3.31.0...3.32.0) - 2018-02-22
544
+
545
+ ### Changed
546
+
547
+ - Fully qualify sles ssh restart cmd
548
+ - Deprecated deploy_package_repo methods
549
+ - Configuration of host type in host_prebuilt_steps
550
+
551
+ ### Added
552
+
553
+ - Added missing beaker options for subcommand passthorugh
554
+
555
+ # [3.31.0](https://github.com/voxpupuli/beaker/compare/3.30.0...3.31.0) - 2018-01-22
556
+
557
+ ### Changed
558
+
559
+ - Clean up ssh paranoid setting deprecation warnings
560
+
561
+ ### Added
562
+
563
+ - Add macOS 10.13 support
564
+
565
+ # [3.30.0](https://github.com/voxpupuli/beaker/compare/3.29.0...3.30.0) - 2018-01-10
566
+
567
+ ### Changed
568
+
569
+ - Use `host.hostname` when combining options host_hash with host instance options
570
+
571
+ ### Removed
572
+
573
+ - `amazon` as a platform value
574
+
575
+ ### Added
576
+
577
+ - Load project options from .beaker.yml
578
+
579
+ # [3.29.0](https://github.com/voxpupuli/beaker/compare/3.28.0...3.29.0) - 2017-11-16
580
+
581
+ ### Added
582
+
583
+ - Adding default to read fog credentials
584
+
585
+ # [3.28.0](https://github.com/voxpupuli/beaker/compare/3.27.0...3.28.0) - 2017-11-01
586
+
587
+ ### Fixed
588
+
589
+ - corruption of `opts[:ignore]` when using `rsync`
590
+
591
+ # [3.27.0](https://github.com/voxpupuli/beaker/compare/3.26.0...3.27.0) - 2017-10-19
592
+
593
+ ### Added
594
+
595
+ - support amazon as a platform
596
+ - add codenames for MacOS 10.13 and Ubuntu Artful
597
+
598
+ # [3.26.0](https://github.com/voxpupuli/beaker/compare/3.25.0...3.26.0) - 2017-10-05
599
+
600
+ ### Added
601
+
602
+ - concept of `manual_test` and `manual_step`
603
+
604
+ # [3.25.0](https://github.com/voxpupuli/beaker/compare/3.24.0...3.25.0) - 2017-09-26
605
+