chef 13.11.3 → 13.12.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (261) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +4 -3
  3. data/README.md +35 -40
  4. data/Rakefile +18 -22
  5. data/chef-universal-mingw32.gemspec +1 -1
  6. data/chef.gemspec +3 -3
  7. data/lib/chef/client.rb +1 -1
  8. data/lib/chef/mixin/params_validate.rb +3 -1
  9. data/lib/chef/provider/script.rb +2 -2
  10. data/lib/chef/version.rb +1 -1
  11. data/spec/functional/http/simple_spec.rb +12 -6
  12. data/spec/functional/resource/remote_file_spec.rb +19 -15
  13. data/spec/support/platform_helpers.rb +2 -1
  14. data/tasks/announce.rb +1 -1
  15. data/tasks/dependencies.rb +5 -39
  16. data/tasks/maintainers.rb +10 -10
  17. data/tasks/rspec.rb +2 -2
  18. data/tasks/templates/prerelease.md.erb +11 -2
  19. data/tasks/templates/release.md.erb +9 -1
  20. metadata +6 -248
  21. data/CONTRIBUTING.md +0 -151
  22. data/VERSION +0 -1
  23. data/acceptance/.gitignore +0 -3
  24. data/acceptance/.shared/kitchen_acceptance/.kitchen.digitalocean.yml +0 -33
  25. data/acceptance/.shared/kitchen_acceptance/.kitchen.ec2.yml +0 -283
  26. data/acceptance/.shared/kitchen_acceptance/.kitchen.vagrant.yml +0 -59
  27. data/acceptance/.shared/kitchen_acceptance/libraries/kitchen.rb +0 -68
  28. data/acceptance/.shared/kitchen_acceptance/metadata.rb +0 -1
  29. data/acceptance/Gemfile +0 -19
  30. data/acceptance/Gemfile.lock +0 -266
  31. data/acceptance/README.md +0 -137
  32. data/acceptance/basics/.acceptance/acceptance-cookbook/.gitignore +0 -2
  33. data/acceptance/basics/.acceptance/acceptance-cookbook/metadata.rb +0 -3
  34. data/acceptance/basics/.acceptance/acceptance-cookbook/recipes/destroy.rb +0 -1
  35. data/acceptance/basics/.acceptance/acceptance-cookbook/recipes/provision.rb +0 -1
  36. data/acceptance/basics/.acceptance/acceptance-cookbook/recipes/verify.rb +0 -1
  37. data/acceptance/basics/.kitchen.yml +0 -4
  38. data/acceptance/basics/test/integration/chef-current-install/serverspec/chef_client_spec.rb +0 -19
  39. data/acceptance/basics/test/integration/chef-current-install/serverspec/spec_helper.rb +0 -6
  40. data/acceptance/basics/test/integration/helpers/serverspec/Gemfile +0 -8
  41. data/acceptance/data-collector/.acceptance/acceptance-cookbook/.gitignore +0 -2
  42. data/acceptance/data-collector/.acceptance/acceptance-cookbook/metadata.rb +0 -3
  43. data/acceptance/data-collector/.acceptance/acceptance-cookbook/recipes/destroy.rb +0 -2
  44. data/acceptance/data-collector/.acceptance/acceptance-cookbook/recipes/provision.rb +0 -2
  45. data/acceptance/data-collector/.acceptance/acceptance-cookbook/recipes/verify.rb +0 -2
  46. data/acceptance/data-collector/.acceptance/data-collector-test/.gitignore +0 -16
  47. data/acceptance/data-collector/.acceptance/data-collector-test/Berksfile +0 -3
  48. data/acceptance/data-collector/.acceptance/data-collector-test/files/default/api.rb +0 -101
  49. data/acceptance/data-collector/.acceptance/data-collector-test/files/default/apigemfile +0 -3
  50. data/acceptance/data-collector/.acceptance/data-collector-test/files/default/client-rb-both-mode.rb +0 -4
  51. data/acceptance/data-collector/.acceptance/data-collector-test/files/default/client-rb-client-mode.rb +0 -4
  52. data/acceptance/data-collector/.acceptance/data-collector-test/files/default/client-rb-no-endpoint.rb +0 -2
  53. data/acceptance/data-collector/.acceptance/data-collector-test/files/default/client-rb-solo-mode.rb +0 -4
  54. data/acceptance/data-collector/.acceptance/data-collector-test/files/default/config.ru +0 -2
  55. data/acceptance/data-collector/.acceptance/data-collector-test/metadata.rb +0 -7
  56. data/acceptance/data-collector/.acceptance/data-collector-test/recipes/default.rb +0 -44
  57. data/acceptance/data-collector/.kitchen.yml +0 -9
  58. data/acceptance/data-collector/Berksfile +0 -3
  59. data/acceptance/data-collector/test/integration/default/serverspec/default_spec.rb +0 -208
  60. data/acceptance/data-collector/test/integration/helpers/serverspec/Gemfile +0 -8
  61. data/acceptance/omnitruck/.acceptance/acceptance-cookbook/.gitignore +0 -2
  62. data/acceptance/omnitruck/.acceptance/acceptance-cookbook/metadata.rb +0 -1
  63. data/acceptance/omnitruck/.acceptance/acceptance-cookbook/recipes/destroy.rb +0 -1
  64. data/acceptance/omnitruck/.acceptance/acceptance-cookbook/recipes/provision.rb +0 -1
  65. data/acceptance/omnitruck/.acceptance/acceptance-cookbook/recipes/verify.rb +0 -61
  66. data/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/.gitignore +0 -2
  67. data/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/libraries/cookbook_kitchen.rb +0 -43
  68. data/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/libraries/top_cookbooks.rb +0 -41
  69. data/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/metadata.rb +0 -3
  70. data/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/recipes/destroy.rb +0 -1
  71. data/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/recipes/provision.rb +0 -1
  72. data/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/recipes/verify.rb +0 -1
  73. data/acceptance/top-cookbooks/.gitignore +0 -1
  74. data/acceptance/top-cookbooks/.kitchen.chocolatey.yml +0 -6
  75. data/acceptance/top-cookbooks/.kitchen.iis.yml +0 -4
  76. data/acceptance/top-cookbooks/.kitchen.learn-the-basics-rhel.yml +0 -7
  77. data/acceptance/top-cookbooks/.kitchen.learn-the-basics-ubuntu.yml +0 -7
  78. data/acceptance/top-cookbooks/.kitchen.learn-the-basics-windows.yml +0 -7
  79. data/acceptance/top-cookbooks/.kitchen.powershell.yml +0 -4
  80. data/acceptance/top-cookbooks/.kitchen.sql_server.yml +0 -5
  81. data/acceptance/top-cookbooks/.kitchen.winbox.yml +0 -8
  82. data/acceptance/top-cookbooks/.kitchen.windows.yml +0 -38
  83. data/acceptance/trivial/.acceptance/acceptance-cookbook/.gitignore +0 -2
  84. data/acceptance/trivial/.acceptance/acceptance-cookbook/metadata.rb +0 -2
  85. data/acceptance/trivial/.acceptance/acceptance-cookbook/recipes/destroy.rb +0 -1
  86. data/acceptance/trivial/.acceptance/acceptance-cookbook/recipes/provision.rb +0 -1
  87. data/acceptance/trivial/.acceptance/acceptance-cookbook/recipes/verify.rb +0 -1
  88. data/acceptance/trivial/.kitchen.yml +0 -7
  89. data/acceptance/trivial/test/integration/chef-current-install/inspec/chef_client_spec.rb +0 -5
  90. data/acceptance/windows-service/.acceptance/acceptance-cookbook/.gitignore +0 -2
  91. data/acceptance/windows-service/.acceptance/acceptance-cookbook/metadata.rb +0 -2
  92. data/acceptance/windows-service/.acceptance/acceptance-cookbook/recipes/destroy.rb +0 -1
  93. data/acceptance/windows-service/.acceptance/acceptance-cookbook/recipes/provision.rb +0 -1
  94. data/acceptance/windows-service/.acceptance/acceptance-cookbook/recipes/verify.rb +0 -1
  95. data/acceptance/windows-service/.kitchen.yml +0 -7
  96. data/acceptance/windows-service/test/integration/chef-windows-service/inspec/chef_windows_service_spec.rb +0 -58
  97. data/distro/common/html/_sources/ctl_chef_client.txt +0 -36
  98. data/distro/common/html/_sources/ctl_chef_server.txt +0 -341
  99. data/distro/common/html/_sources/ctl_chef_shell.txt +0 -15
  100. data/distro/common/html/_sources/ctl_chef_solo.txt +0 -25
  101. data/distro/common/html/_sources/index.txt +0 -135
  102. data/distro/common/html/_sources/knife.txt +0 -74
  103. data/distro/common/html/_sources/knife_bootstrap.txt +0 -56
  104. data/distro/common/html/_sources/knife_client.txt +0 -151
  105. data/distro/common/html/_sources/knife_common_options.txt +0 -6
  106. data/distro/common/html/_sources/knife_configure.txt +0 -29
  107. data/distro/common/html/_sources/knife_cookbook.txt +0 -236
  108. data/distro/common/html/_sources/knife_cookbook_site.txt +0 -157
  109. data/distro/common/html/_sources/knife_data_bag.txt +0 -160
  110. data/distro/common/html/_sources/knife_delete.txt +0 -26
  111. data/distro/common/html/_sources/knife_deps.txt +0 -61
  112. data/distro/common/html/_sources/knife_diff.txt +0 -34
  113. data/distro/common/html/_sources/knife_download.txt +0 -44
  114. data/distro/common/html/_sources/knife_edit.txt +0 -26
  115. data/distro/common/html/_sources/knife_environment.txt +0 -158
  116. data/distro/common/html/_sources/knife_exec.txt +0 -47
  117. data/distro/common/html/_sources/knife_index_rebuild.txt +0 -21
  118. data/distro/common/html/_sources/knife_list.txt +0 -33
  119. data/distro/common/html/_sources/knife_node.txt +0 -250
  120. data/distro/common/html/_sources/knife_raw.txt +0 -35
  121. data/distro/common/html/_sources/knife_recipe_list.txt +0 -23
  122. data/distro/common/html/_sources/knife_role.txt +0 -157
  123. data/distro/common/html/_sources/knife_search.txt +0 -53
  124. data/distro/common/html/_sources/knife_serve.txt +0 -19
  125. data/distro/common/html/_sources/knife_show.txt +0 -27
  126. data/distro/common/html/_sources/knife_ssh.txt +0 -43
  127. data/distro/common/html/_sources/knife_ssl_check.txt +0 -41
  128. data/distro/common/html/_sources/knife_ssl_fetch.txt +0 -41
  129. data/distro/common/html/_sources/knife_status.txt +0 -37
  130. data/distro/common/html/_sources/knife_tag.txt +0 -69
  131. data/distro/common/html/_sources/knife_upload.txt +0 -49
  132. data/distro/common/html/_sources/knife_user.txt +0 -127
  133. data/distro/common/html/_sources/knife_using.txt +0 -43
  134. data/distro/common/html/_sources/knife_xargs.txt +0 -30
  135. data/distro/common/html/_static/ajax-loader.gif +0 -0
  136. data/distro/common/html/_static/basic.css +0 -537
  137. data/distro/common/html/_static/chef.ico +0 -0
  138. data/distro/common/html/_static/chef_html_logo.png +0 -0
  139. data/distro/common/html/_static/comment-bright.png +0 -0
  140. data/distro/common/html/_static/comment-close.png +0 -0
  141. data/distro/common/html/_static/comment.png +0 -0
  142. data/distro/common/html/_static/contents.png +0 -0
  143. data/distro/common/html/_static/doctools.js +0 -238
  144. data/distro/common/html/_static/down-pressed.png +0 -0
  145. data/distro/common/html/_static/down.png +0 -0
  146. data/distro/common/html/_static/file.png +0 -0
  147. data/distro/common/html/_static/guide.css +0 -505
  148. data/distro/common/html/_static/jquery.js +0 -2
  149. data/distro/common/html/_static/minus.png +0 -0
  150. data/distro/common/html/_static/navigation.png +0 -0
  151. data/distro/common/html/_static/plus.png +0 -0
  152. data/distro/common/html/_static/pygments.css +0 -62
  153. data/distro/common/html/_static/searchtools.js +0 -622
  154. data/distro/common/html/_static/underscore.js +0 -31
  155. data/distro/common/html/_static/up-pressed.png +0 -0
  156. data/distro/common/html/_static/up.png +0 -0
  157. data/distro/common/html/_static/websupport.js +0 -808
  158. data/distro/common/html/ctl_chef_client.html +0 -270
  159. data/distro/common/html/ctl_chef_server.html +0 -728
  160. data/distro/common/html/ctl_chef_shell.html +0 -163
  161. data/distro/common/html/ctl_chef_solo.html +0 -194
  162. data/distro/common/html/index.html +0 -202
  163. data/distro/common/html/knife.html +0 -170
  164. data/distro/common/html/knife_bootstrap.html +0 -285
  165. data/distro/common/html/knife_client.html +0 -285
  166. data/distro/common/html/knife_common_options.html +0 -96
  167. data/distro/common/html/knife_configure.html +0 -105
  168. data/distro/common/html/knife_cookbook.html +0 -487
  169. data/distro/common/html/knife_cookbook_site.html +0 -375
  170. data/distro/common/html/knife_data_bag.html +0 -374
  171. data/distro/common/html/knife_delete.html +0 -93
  172. data/distro/common/html/knife_deps.html +0 -143
  173. data/distro/common/html/knife_diff.html +0 -123
  174. data/distro/common/html/knife_download.html +0 -145
  175. data/distro/common/html/knife_edit.html +0 -89
  176. data/distro/common/html/knife_environment.html +0 -322
  177. data/distro/common/html/knife_exec.html +0 -220
  178. data/distro/common/html/knife_index_rebuild.html +0 -83
  179. data/distro/common/html/knife_list.html +0 -114
  180. data/distro/common/html/knife_node.html +0 -458
  181. data/distro/common/html/knife_raw.html +0 -110
  182. data/distro/common/html/knife_recipe_list.html +0 -91
  183. data/distro/common/html/knife_role.html +0 -295
  184. data/distro/common/html/knife_search.html +0 -203
  185. data/distro/common/html/knife_serve.html +0 -79
  186. data/distro/common/html/knife_show.html +0 -104
  187. data/distro/common/html/knife_ssh.html +0 -177
  188. data/distro/common/html/knife_ssl_check.html +0 -151
  189. data/distro/common/html/knife_ssl_fetch.html +0 -151
  190. data/distro/common/html/knife_status.html +0 -144
  191. data/distro/common/html/knife_tag.html +0 -138
  192. data/distro/common/html/knife_upload.html +0 -153
  193. data/distro/common/html/knife_user.html +0 -242
  194. data/distro/common/html/knife_using.html +0 -210
  195. data/distro/common/html/knife_xargs.html +0 -122
  196. data/distro/common/html/objects.inv +0 -0
  197. data/distro/common/html/search.html +0 -82
  198. data/distro/common/html/searchindex.js +0 -1
  199. data/distro/common/man/man1/README.md +0 -58
  200. data/distro/common/man/man1/chef-shell.1 +0 -194
  201. data/distro/common/man/man1/knife-bootstrap.1 +0 -215
  202. data/distro/common/man/man1/knife-client.1 +0 -443
  203. data/distro/common/man/man1/knife-configure.1 +0 -161
  204. data/distro/common/man/man1/knife-cookbook-site.1 +0 -552
  205. data/distro/common/man/man1/knife-cookbook.1 +0 -770
  206. data/distro/common/man/man1/knife-data-bag.1 +0 -617
  207. data/distro/common/man/man1/knife-delete.1 +0 -127
  208. data/distro/common/man/man1/knife-deps.1 +0 -246
  209. data/distro/common/man/man1/knife-diff.1 +0 -226
  210. data/distro/common/man/man1/knife-download.1 +0 -258
  211. data/distro/common/man/man1/knife-edit.1 +0 -121
  212. data/distro/common/man/man1/knife-environment.1 +0 -496
  213. data/distro/common/man/man1/knife-exec.1 +0 -362
  214. data/distro/common/man/man1/knife-index-rebuild.1 +0 -63
  215. data/distro/common/man/man1/knife-list.1 +0 -174
  216. data/distro/common/man/man1/knife-node.1 +0 -716
  217. data/distro/common/man/man1/knife-raw.1 +0 -172
  218. data/distro/common/man/man1/knife-recipe-list.1 +0 -85
  219. data/distro/common/man/man1/knife-role.1 +0 -426
  220. data/distro/common/man/man1/knife-search.1 +0 -359
  221. data/distro/common/man/man1/knife-serve.1 +0 -109
  222. data/distro/common/man/man1/knife-show.1 +0 -160
  223. data/distro/common/man/man1/knife-ssh.1 +0 -284
  224. data/distro/common/man/man1/knife-ssl-check.1 +0 -207
  225. data/distro/common/man/man1/knife-ssl-fetch.1 +0 -207
  226. data/distro/common/man/man1/knife-status.1 +0 -234
  227. data/distro/common/man/man1/knife-tag.1 +0 -189
  228. data/distro/common/man/man1/knife-upload.1 +0 -280
  229. data/distro/common/man/man1/knife-user.1 +0 -356
  230. data/distro/common/man/man1/knife-xargs.1 +0 -189
  231. data/distro/common/man/man1/knife.1 +0 -332
  232. data/distro/common/man/man8/chef-apply.8 +0 -86
  233. data/distro/common/man/man8/chef-client.8 +0 -398
  234. data/distro/common/man/man8/chef-solo.8 +0 -260
  235. data/distro/common/markdown/README +0 -3
  236. data/distro/common/markdown/man1/chef-shell.mkd +0 -195
  237. data/distro/common/markdown/man1/knife-bootstrap.mkd +0 -141
  238. data/distro/common/markdown/man1/knife-client.mkd +0 -103
  239. data/distro/common/markdown/man1/knife-configure.mkd +0 -71
  240. data/distro/common/markdown/man1/knife-cookbook-site.mkd +0 -123
  241. data/distro/common/markdown/man1/knife-cookbook.mkd +0 -263
  242. data/distro/common/markdown/man1/knife-data-bag.mkd +0 -121
  243. data/distro/common/markdown/man1/knife-environment.mkd +0 -151
  244. data/distro/common/markdown/man1/knife-exec.mkd +0 -42
  245. data/distro/common/markdown/man1/knife-index.mkd +0 -30
  246. data/distro/common/markdown/man1/knife-node.mkd +0 -130
  247. data/distro/common/markdown/man1/knife-role.mkd +0 -85
  248. data/distro/common/markdown/man1/knife-search.mkd +0 -180
  249. data/distro/common/markdown/man1/knife-ssh.mkd +0 -69
  250. data/distro/common/markdown/man1/knife-status.mkd +0 -36
  251. data/distro/common/markdown/man1/knife-tag.mkd +0 -39
  252. data/distro/common/markdown/man1/knife.mkd +0 -213
  253. data/distro/common/markdown/man8/chef-client.mkd +0 -75
  254. data/distro/common/markdown/man8/chef-expander.mkd +0 -81
  255. data/distro/common/markdown/man8/chef-expanderctl.mkd +0 -57
  256. data/distro/common/markdown/man8/chef-server-webui.mkd +0 -121
  257. data/distro/common/markdown/man8/chef-server.mkd +0 -120
  258. data/distro/common/markdown/man8/chef-solo.mkd +0 -107
  259. data/distro/common/markdown/man8/chef-solr.mkd +0 -89
  260. data/distro/powershell/chef/chef.psm1 +0 -459
  261. data/tasks/cbgb.rb +0 -84
@@ -1,59 +0,0 @@
1
- driver:
2
- name: vagrant
3
- forward_agent: yes
4
- customize:
5
- cpus: 2
6
- memory: 1024
7
-
8
- provisioner:
9
- name: chef_zero
10
- product_name: <%= ENV["KITCHEN_CHEF_PRODUCT"] %>
11
- product_version: <%= ENV["KITCHEN_CHEF_VERSION"] %>
12
- channel: <%= ENV["KITCHEN_CHEF_CHANNEL"] %>
13
- client_rb:
14
- audit_mode: :enabled
15
- attributes:
16
- chef_acceptance: "true"
17
- use_system_chef: "true"
18
-
19
- # busser installation relies on this
20
- <% if ENV["KITCHEN_CHEF_PRODUCT"] %>
21
- verifier:
22
- chef_omnibus_root: "/opt/<%= ENV["KITCHEN_CHEF_PRODUCT"] %>"
23
- <% end %>
24
-
25
- platforms:
26
- <% %w(
27
- debian-8
28
- debian-7
29
- debian-6
30
- ubuntu-15.10
31
- ubuntu-14.04
32
- el-7
33
- el-6
34
- el-5
35
- freebsd-10
36
- freebsd-9
37
- fedora-21
38
- ).each do |platform| %>
39
- - name: <%= platform %>
40
- driver:
41
- box: opscode-<%= platform %>
42
- box_url: http://opscode-vm-bento.s3.amazonaws.com/vagrant/virtualbox/opscode_<%= platform %>_chef-provisionerless.box
43
- <% end %>
44
- # freebsd-8
45
- # ubuntu-12.04
46
- # centos-7
47
- - name: centos-6
48
- driver:
49
- box: bento/centos-6.7
50
- <% %w(
51
- 2012r2
52
- 2012
53
- 2008r2
54
- ).each do |version| %>
55
- - name: windows-<%= version %>
56
- driver:
57
- box: chef/windows-server-<%= version %>-standard
58
- # URL is atlas
59
- <% end %>
@@ -1,68 +0,0 @@
1
- require 'chef/mixin/shell_out'
2
-
3
- module KitchenAcceptance
4
- class Kitchen < Chef::Resource
5
- resource_name :kitchen
6
-
7
- property :command, String, name_property: true
8
- property :driver, %w(ec2 vagrant), coerce: proc { |v| v.to_s }, default: lazy { ENV["KITCHEN_DRIVER"] || :ec2 }
9
- property :instances, String, default: lazy { ENV["KITCHEN_INSTANCES"] ? ENV["KITCHEN_INSTANCES"] : "" }
10
- property :kitchen_dir, String, default: Chef.node['chef-acceptance']['suite-dir']
11
- property :chef_product, String, default: lazy {
12
- ENV["KITCHEN_CHEF_PRODUCT"] || begin
13
- # Figure out if we're in chefdk or chef
14
- if ::File.exist?(::File.expand_path("../../chef-dk.gemspec", node['chef-acceptance']['suite-dir']))
15
- "chefdk"
16
- else
17
- "chef"
18
- end
19
- end
20
- }
21
- property :chef_channel, String, default: lazy {
22
- ENV["KITCHEN_CHEF_CHANNEL"] ||
23
- # Pick up current if we can't connect to artifactory
24
- (ENV["ARTIFACTORY_USERNAME"] ? "unstable" : "current")
25
- }
26
- property :chef_version, String, default: lazy {
27
- ENV["KITCHEN_CHEF_VERSION"] ||
28
- # If we're running the chef or chefdk projects in jenkins, pick up the project name.
29
- (ENV["PROJECT_NAME"] == chef_product ? ENV["OMNIBUS_BUILD_VERSION"] : nil) ||
30
- "latest"
31
- }
32
- property :artifactory_username, String, default: lazy { ENV["ARTIFACTORY_USERNAME"] ? ENV["ARTIFACTORY_USERNAME"] : "" }
33
- property :artifactory_password, String, default: lazy { ENV["ARTIFACTORY_PASSWORD"] ? ENV["ARTIFACTORY_PASSWORD"] : "" }
34
- property :env, Hash, default: {}
35
- property :kitchen_options, String, default: "-c"
36
-
37
- action :run do
38
-
39
- ruby_block "copy_kitchen_logs_to_data_path" do
40
- block do
41
- cmd_env = {
42
- "KITCHEN_DRIVER" => driver,
43
- "KITCHEN_INSTANCES" => instances,
44
- "KITCHEN_LOCAL_YAML" => ::File.expand_path("../../.kitchen.#{driver}.yml", __FILE__),
45
- "KITCHEN_CHEF_PRODUCT" => chef_product,
46
- "KITCHEN_CHEF_CHANNEL" => chef_channel,
47
- "KITCHEN_CHEF_VERSION" => chef_version,
48
- "ARTIFACTORY_USERNAME" => artifactory_username,
49
- "ARTIFACTORY_PASSWORD" => artifactory_password
50
- }.merge(new_resource.env)
51
- suite = kitchen_dir.split("/").last
52
- kitchen_log_path = ENV["WORKSPACE"] ? "#{ENV["WORKSPACE"]}/chef-acceptance-data/logs" : "#{kitchen_dir}/../.acceptance_data/logs/"
53
-
54
- begin
55
- shell_out!("bundle exec kitchen #{command}#{instances ? " #{instances}" : ""}#{kitchen_options ? " #{kitchen_options}" : ""}",
56
- env: cmd_env,
57
- timeout: 60 * 30,
58
- live_stream: STDOUT,
59
- cwd: kitchen_dir)
60
- ensure
61
- FileUtils.mkdir_p("#{kitchen_log_path}/#{suite}/#{command}")
62
- FileUtils.cp_r("#{kitchen_dir}/.kitchen/logs/.", "#{kitchen_log_path}/#{suite}/#{command}")
63
- end
64
- end
65
- end
66
- end
67
- end
68
- end
@@ -1 +0,0 @@
1
- name "kitchen_acceptance"
@@ -1,19 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- gem "rake" # required to build some native extensions
4
- gem "chef-acceptance", git: "https://github.com/chef/chef-acceptance.git"
5
- gem "kitchen-ec2"
6
- gem "inspec"
7
- gem "kitchen-vagrant"
8
- gem "windows_chef_zero"
9
- gem "kitchen-inspec"
10
- gem "test-kitchen"
11
- gem "winrm-elevated"
12
- gem "berkshelf"
13
-
14
- # Pin to 1.2.3 because current mixlib-install has a problem where unstable
15
- # packages are not always immediately available via the omnitruck API.
16
- gem "mixlib-install", "1.2.3"
17
-
18
- # for chef-14 development - pin to the released rubygems version
19
- gem "chef-config", "< 14.0"
@@ -1,266 +0,0 @@
1
- GIT
2
- remote: https://github.com/chef/chef-acceptance.git
3
- revision: 3877c344098021ac66134e8edb5eb805d14d4643
4
- specs:
5
- chef-acceptance (0.2.0)
6
- mixlib-shellout (~> 2.0)
7
- thor (~> 0.19)
8
-
9
- GEM
10
- remote: https://rubygems.org/
11
- specs:
12
- addressable (2.5.1)
13
- public_suffix (~> 2.0, >= 2.0.2)
14
- artifactory (2.8.1)
15
- aws-sdk (2.9.1)
16
- aws-sdk-resources (= 2.9.1)
17
- aws-sdk-core (2.9.1)
18
- aws-sigv4 (~> 1.0)
19
- jmespath (~> 1.0)
20
- aws-sdk-resources (2.9.1)
21
- aws-sdk-core (= 2.9.1)
22
- aws-sigv4 (1.0.0)
23
- berkshelf (5.6.4)
24
- addressable (~> 2.3, >= 2.3.4)
25
- berkshelf-api-client (>= 2.0.2, < 4.0)
26
- buff-config (~> 2.0)
27
- buff-extensions (~> 2.0)
28
- buff-shell_out (~> 1.0)
29
- cleanroom (~> 1.0)
30
- faraday (~> 0.9)
31
- httpclient (~> 2.7)
32
- minitar (~> 0.5, >= 0.5.4)
33
- mixlib-archive (~> 0.4)
34
- octokit (~> 4.0)
35
- retryable (~> 2.0)
36
- ridley (~> 5.0)
37
- solve (> 2.0, < 4.0)
38
- thor (~> 0.19, < 0.19.2)
39
- berkshelf-api-client (3.0.0)
40
- faraday (~> 0.9)
41
- httpclient (~> 2.7)
42
- ridley (>= 4.5, < 6.0)
43
- blankslate (2.1.2.4)
44
- buff-config (2.0.0)
45
- buff-extensions (~> 2.0)
46
- varia_model (~> 0.6)
47
- buff-extensions (2.0.0)
48
- buff-ignore (1.2.0)
49
- buff-ruby_engine (1.0.0)
50
- buff-shell_out (1.1.0)
51
- buff-ruby_engine (~> 1.0)
52
- builder (3.2.3)
53
- celluloid (0.16.0)
54
- timers (~> 4.0.0)
55
- celluloid-io (0.16.2)
56
- celluloid (>= 0.16.0)
57
- nio4r (>= 1.1.0)
58
- chef-config (12.19.36)
59
- addressable
60
- fuzzyurl
61
- mixlib-config (~> 2.0)
62
- mixlib-shellout (~> 2.0)
63
- cleanroom (1.0.0)
64
- coderay (1.1.1)
65
- diff-lcs (1.3)
66
- docker-api (1.33.2)
67
- excon (>= 0.38.0)
68
- json
69
- erubis (2.7.0)
70
- excon (0.55.0)
71
- faraday (0.9.2)
72
- multipart-post (>= 1.2, < 3)
73
- ffi (1.9.18)
74
- fuzzyurl (0.9.0)
75
- gssapi (1.2.0)
76
- ffi (>= 1.0.1)
77
- gyoku (1.3.1)
78
- builder (>= 2.1.2)
79
- hashie (3.5.5)
80
- hitimes (1.2.4)
81
- httpclient (2.8.3)
82
- inspec (1.18.0)
83
- addressable (~> 2.5)
84
- faraday (>= 0.9.0)
85
- hashie (~> 3.4)
86
- json (>= 1.8, < 3.0)
87
- method_source (~> 0.8)
88
- mixlib-log
89
- nokogiri (~> 1.6)
90
- parallel (~> 1.9)
91
- pry (~> 0)
92
- rainbow (~> 2)
93
- rspec (~> 3)
94
- rspec-its (~> 1.2)
95
- rubyzip (~> 1.1)
96
- sslshake (~> 1)
97
- thor (~> 0.19)
98
- toml (~> 0.1)
99
- train (>= 0.22.0, < 1.0)
100
- jmespath (1.3.1)
101
- json (2.0.3)
102
- kitchen-ec2 (1.3.2)
103
- aws-sdk (~> 2)
104
- excon
105
- multi_json
106
- retryable (~> 2.0)
107
- test-kitchen (~> 1.4, >= 1.4.1)
108
- kitchen-inspec (0.17.0)
109
- hashie (~> 3.4)
110
- inspec (>= 0.34.0, < 2.0.0)
111
- test-kitchen (~> 1.6)
112
- kitchen-vagrant (1.0.2)
113
- test-kitchen (~> 1.4)
114
- little-plugger (1.1.4)
115
- logging (2.2.0)
116
- little-plugger (~> 1.1)
117
- multi_json (~> 1.10)
118
- method_source (0.8.2)
119
- mini_portile2 (2.1.0)
120
- minitar (0.6.1)
121
- mixlib-archive (0.4.1)
122
- mixlib-log
123
- mixlib-authentication (1.4.1)
124
- mixlib-log
125
- mixlib-config (2.2.4)
126
- mixlib-install (1.2.3)
127
- artifactory
128
- mixlib-shellout
129
- mixlib-versioning
130
- mixlib-log (1.7.1)
131
- mixlib-shellout (2.3.2)
132
- mixlib-versioning (1.1.0)
133
- molinillo (0.5.7)
134
- multi_json (1.12.1)
135
- multipart-post (2.0.0)
136
- net-scp (1.2.1)
137
- net-ssh (>= 2.6.5)
138
- net-ssh (4.1.0)
139
- net-ssh-gateway (1.3.0)
140
- net-ssh (>= 2.6.5)
141
- nio4r (2.0.0)
142
- nokogiri (1.7.1)
143
- mini_portile2 (~> 2.1.0)
144
- nori (2.6.0)
145
- octokit (4.6.2)
146
- sawyer (~> 0.8.0, >= 0.5.3)
147
- parallel (1.11.1)
148
- parslet (1.5.0)
149
- blankslate (~> 2.0)
150
- pry (0.10.4)
151
- coderay (~> 1.1.0)
152
- method_source (~> 0.8.1)
153
- slop (~> 3.4)
154
- public_suffix (2.0.5)
155
- rainbow (2.2.1)
156
- rake (12.0.0)
157
- retryable (2.0.4)
158
- ridley (5.1.0)
159
- addressable
160
- buff-config (~> 2.0)
161
- buff-extensions (~> 2.0)
162
- buff-ignore (~> 1.2)
163
- buff-shell_out (~> 1.0)
164
- celluloid (~> 0.16.0)
165
- celluloid-io (~> 0.16.1)
166
- chef-config (>= 12.5.0)
167
- erubis
168
- faraday (~> 0.9.0)
169
- hashie (>= 2.0.2, < 4.0.0)
170
- httpclient (~> 2.7)
171
- json (>= 1.7.7)
172
- mixlib-authentication (>= 1.3.0)
173
- retryable (~> 2.0)
174
- semverse (~> 2.0)
175
- varia_model (~> 0.6)
176
- rspec (3.5.0)
177
- rspec-core (~> 3.5.0)
178
- rspec-expectations (~> 3.5.0)
179
- rspec-mocks (~> 3.5.0)
180
- rspec-core (3.5.4)
181
- rspec-support (~> 3.5.0)
182
- rspec-expectations (3.5.0)
183
- diff-lcs (>= 1.2.0, < 2.0)
184
- rspec-support (~> 3.5.0)
185
- rspec-its (1.2.0)
186
- rspec-core (>= 3.0.0)
187
- rspec-expectations (>= 3.0.0)
188
- rspec-mocks (3.5.0)
189
- diff-lcs (>= 1.2.0, < 2.0)
190
- rspec-support (~> 3.5.0)
191
- rspec-support (3.5.0)
192
- rubyntlm (0.6.1)
193
- rubyzip (1.2.1)
194
- safe_yaml (1.0.4)
195
- sawyer (0.8.1)
196
- addressable (>= 2.3.5, < 2.6)
197
- faraday (~> 0.8, < 1.0)
198
- semverse (2.0.0)
199
- slop (3.6.0)
200
- solve (3.1.0)
201
- molinillo (>= 0.5)
202
- semverse (>= 1.1, < 3.0)
203
- sslshake (1.1.0)
204
- test-kitchen (1.16.0)
205
- mixlib-install (>= 1.2, < 3.0)
206
- mixlib-shellout (>= 1.2, < 3.0)
207
- net-scp (~> 1.1)
208
- net-ssh (>= 2.9, < 5.0)
209
- net-ssh-gateway (~> 1.2)
210
- safe_yaml (~> 1.0)
211
- thor (~> 0.19, < 0.19.2)
212
- thor (0.19.1)
213
- timers (4.0.4)
214
- hitimes
215
- toml (0.1.2)
216
- parslet (~> 1.5.0)
217
- train (0.23.0)
218
- docker-api (~> 1.26)
219
- json (>= 1.8, < 3.0)
220
- mixlib-shellout (~> 2.0)
221
- net-scp (~> 1.2)
222
- net-ssh (>= 2.9, < 5.0)
223
- winrm (~> 2.0)
224
- winrm-fs (~> 1.0)
225
- varia_model (0.6.0)
226
- buff-extensions (~> 2.0)
227
- hashie (>= 2.0.2, < 4.0.0)
228
- windows_chef_zero (2.0.0)
229
- test-kitchen (>= 1.2.1)
230
- winrm (2.1.3)
231
- builder (>= 2.1.2)
232
- erubis (~> 2.7)
233
- gssapi (~> 1.2)
234
- gyoku (~> 1.0)
235
- httpclient (~> 2.2, >= 2.2.0.2)
236
- logging (>= 1.6.1, < 3.0)
237
- nori (~> 2.0)
238
- rubyntlm (~> 0.6.0, >= 0.6.1)
239
- winrm-elevated (1.1.0)
240
- winrm (~> 2.0)
241
- winrm-fs (~> 1.0)
242
- winrm-fs (1.0.1)
243
- erubis (~> 2.7)
244
- logging (>= 1.6.1, < 3.0)
245
- rubyzip (~> 1.1)
246
- winrm (~> 2.0)
247
-
248
- PLATFORMS
249
- ruby
250
-
251
- DEPENDENCIES
252
- berkshelf
253
- chef-acceptance!
254
- chef-config (< 13.0)
255
- inspec
256
- kitchen-ec2
257
- kitchen-inspec
258
- kitchen-vagrant
259
- mixlib-install (= 1.2.3)
260
- rake
261
- test-kitchen
262
- windows_chef_zero
263
- winrm-elevated
264
-
265
- BUNDLED WITH
266
- 1.14.6
@@ -1,137 +0,0 @@
1
- # Acceptance Testing for Chef Client
2
-
3
- This folder contains acceptance tests that are required for Chef client release readiness.
4
-
5
- ## Getting started
6
-
7
- The tests use the _chef-acceptance_ gem as the high level framework. All the gems needed to run these tests can be installed with Bundler from this directory.
8
-
9
- ### Important Note!
10
-
11
- Before running chef-acceptance, you _MUST_ do the following on your current session:
12
-
13
- ```shell
14
- export APPBUNDLER_ALLOW_RVM=true
15
- ```
16
-
17
- ## Pre-requisites / One time set up
18
-
19
- ### Set up for local VM (Vagrant)
20
-
21
- If you intend to run the acceptance tests on a local VM, the supported solution is to use Vagrant. Ensure that Vagrant is installed on the machine that tests will run from, along with a virtualization driver (E.g.: VirtualBox).
22
-
23
- Set up the KITCHEN_DRIVER environment variable appropriately (value should be "vagrant"). E.g.:
24
-
25
- ```shell
26
- export KITCHEN_DRIVER=vagrant
27
- ```
28
-
29
- Add this to your shell profile or startup script as needed.
30
-
31
- ### Set up for cloud VM (EC2)
32
-
33
- If you intend to run the acceptance tests on a cloud VM, the supported solution is to use EC2.
34
-
35
- The steps you will need to do are:
36
-
37
- 1. Add your AWS credentials to the machine - e.g., to the ~/.aws/credentials directory.
38
-
39
- - The easiest way to do this is to download the aws command line (`brew install awscli` on OS/X) and run `aws configure`.
40
-
41
- 2. Create or import a SSH key to AWS. (If you already have one, you can skip the import/create)
42
-
43
- - In the AWS console, click Key Pairs, then Create Key Pair or Import Key Pair.
44
-
45
- 3. Copy or move the private key file (USERNAME.pem) to the SSH folder (e.g. `~/.ssh/USERNAME.pem`).
46
-
47
- - If you Created a key pair in step 2, download the private key and move it to `~/.ssh`.
48
- - If you Importd a key pair in step 2, just ensure your private key is in `~/.ssh` and has the same name as the key pair (`~/.ssh/USERNAME` or `~/.ssh/USERNAME.pem`).
49
-
50
- 4. Set AWS_SSH_KEY_ID to the SSH key name.
51
-
52
- - This is **optional** if your AWS SSH key name is your local username.
53
- - You may want to set this in your shell `.profile`.
54
-
55
- ```shell
56
- export AWS_SSH_KEY_ID=name-of-private-key
57
- ```
58
-
59
- 5. Set the private key to only be readable by root
60
-
61
- ```shell
62
- chmod 0400 ~/.ssh/USERNAME.pem
63
- ```
64
-
65
- 6. Set up the KITCHEN_DRIVER environment variable appropriately (value should be "ec2"). (This is optional, as ec2 is the default.) E.g.:
66
-
67
- ```shell
68
- export KITCHEN_DRIVER=ec2
69
- ```
70
-
71
- Add this to your shell profile or startup script as needed.
72
-
73
- 7. **Connect to Chef VPN**. The instances you create will not have public IPs!
74
-
75
- ## Setting up and running a test suite
76
-
77
- To get started, do a bundle install from the acceptance directory:
78
-
79
- ```shell
80
- chef/acceptance$ bundle install --binstubs
81
- ```
82
-
83
- To get some basic info and ensure chef-acceptance can be run, do:
84
-
85
- ```shell
86
- chef/acceptance$ bin/chef-acceptance info
87
- ```
88
-
89
- To run a particular test suite, do the following:
90
-
91
- ```shell
92
- chef/acceptance$ bin/chef-acceptance test TEST_SUITE
93
- ```
94
-
95
- To restrict which OS's will run, use the KITCHEN_INSTANCES environment variable:
96
-
97
- ```shell
98
- chef/acceptance$ export KITCHEN_INSTANCES=*-ubuntu-1404
99
- chef/acceptance$ bin/chef-acceptance test cookbook-git
100
- ```
101
-
102
- If KITCHEN_INSTANCES is not specified, the default instances are default-ubuntu-1404 and default-windows-windows-2012r2\. All selected instances will be run in _parallel_ if the driver supports it (ec2 does, vagrant doesn't).
103
-
104
- ## Optional Settings
105
-
106
- In addition to the environment settings above, there are a number of key values that are available to set for changing the way the acceptance tests are run.
107
-
108
- ### KITCHEN_CHEF_CHANNEL
109
-
110
- Use this setting to specify which channel we will pull the chef build from. The default is to use the "current" channel, unless the ARTIFACTORY_USERNAME is set (which normally happens when running under Jenkins), in which case the default is changed to "unstable".
111
-
112
- ```shell
113
- export KITCHEN_CHEF_CHANNEL=name-of-channel
114
- ```
115
-
116
- ### KITCHEN_CHEF_VERSION
117
-
118
- Use this setting to override the version of the Chef client that is installed. The default is to get the latest version in the desired channel.
119
-
120
- ```shell
121
- export KITCHEN_CHEF_VERSION=version-of-chef-client
122
- ```
123
-
124
- ### ARTIFACTORY_USERNAME / ARTIFACTORY_PASSWORD
125
-
126
- If the desired channel to get the Chef client from is "unstable", the following settings need to be exported:
127
-
128
- ```shell
129
- export ARTIFACTORY_USERNAME=username
130
- export ARTIFACTORY_PASSWORD=password
131
- ```
132
-
133
- ## Future Work
134
-
135
- Currently, there is no simple mechanism for chef-acceptance to build an Omnibus package of the developers local chef instance and run acceptance tests on it - the only packages that can be exercised are ones that come from one of the pipeline channels (unstable, current or stable).
136
-
137
- This is not an issue when adding acceptance tests for pre-existing functionality (as that functionality is presumed to already be in a build in one of the pipeline channels).