chef 12.10.24-universal-mingw32 → 12.11.18-universal-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (525) hide show
  1. checksums.yaml +4 -4
  2. data/CONTRIBUTING.md +3 -38
  3. data/Gemfile +6 -11
  4. data/LICENSE +201 -201
  5. data/README.md +11 -1
  6. data/VERSION +1 -1
  7. data/acceptance/.bundle/config +2 -0
  8. data/acceptance/Gemfile.lock +27 -26
  9. data/acceptance/basics/.kitchen/logs/chef-current-install-ubuntu-1404.log +2 -0
  10. data/acceptance/basics/.kitchen/logs/kitchen.log +3 -0
  11. data/acceptance/data-collector/.acceptance/acceptance-cookbook/.gitignore +2 -0
  12. data/acceptance/data-collector/.acceptance/acceptance-cookbook/metadata.rb +3 -0
  13. data/acceptance/data-collector/.acceptance/acceptance-cookbook/recipes/destroy.rb +2 -0
  14. data/acceptance/data-collector/.acceptance/acceptance-cookbook/recipes/provision.rb +2 -0
  15. data/acceptance/data-collector/.acceptance/acceptance-cookbook/recipes/verify.rb +2 -0
  16. data/acceptance/data-collector/.acceptance/data-collector-test/.gitignore +16 -0
  17. data/acceptance/data-collector/.acceptance/data-collector-test/Berksfile +3 -0
  18. data/acceptance/data-collector/.acceptance/data-collector-test/files/default/api.rb +85 -0
  19. data/acceptance/data-collector/.acceptance/data-collector-test/files/default/apigemfile +3 -0
  20. data/acceptance/data-collector/.acceptance/data-collector-test/files/default/client-rb-both-mode.rb +4 -0
  21. data/acceptance/data-collector/.acceptance/data-collector-test/files/default/client-rb-client-mode.rb +4 -0
  22. data/acceptance/data-collector/.acceptance/data-collector-test/files/default/client-rb-no-endpoint.rb +2 -0
  23. data/acceptance/data-collector/.acceptance/data-collector-test/files/default/client-rb-solo-mode.rb +4 -0
  24. data/acceptance/data-collector/.acceptance/data-collector-test/files/default/config.ru +2 -0
  25. data/acceptance/data-collector/.acceptance/data-collector-test/metadata.rb +7 -0
  26. data/acceptance/data-collector/.acceptance/data-collector-test/recipes/default.rb +38 -0
  27. data/acceptance/data-collector/.kitchen.yml +9 -0
  28. data/acceptance/data-collector/Berksfile +3 -0
  29. data/acceptance/data-collector/Berksfile.lock +6 -0
  30. data/acceptance/data-collector/test/integration/default/serverspec/default_spec.rb +251 -0
  31. data/acceptance/fips/.kitchen/logs/fips-integration-centos-6.log +3 -0
  32. data/acceptance/fips/.kitchen/logs/fips-integration-windows-2012r2.log +3 -0
  33. data/acceptance/fips/.kitchen/logs/fips-unit-functional-centos-6.log +3 -0
  34. data/acceptance/fips/.kitchen/logs/fips-unit-functional-windows-2012r2.log +3 -0
  35. data/acceptance/fips/.kitchen/logs/kitchen.log +6 -0
  36. data/acceptance/fips/test/integration/fips-integration/serverspec/fips-integration_spec.rb +2 -1
  37. data/acceptance/top-cookbooks/.kitchen.docker.yml +1 -4
  38. data/acceptance/trivial/.kitchen/logs/chef-current-install-windows-2012r2.log +2 -0
  39. data/acceptance/trivial/.kitchen/logs/kitchen.log +3 -0
  40. data/acceptance/windows-service/.kitchen/logs/chef-windows-service-windows-2012r2.log +2 -0
  41. data/acceptance/windows-service/.kitchen/logs/kitchen.log +3 -0
  42. data/bin/chef-apply +0 -0
  43. data/bin/chef-client +0 -0
  44. data/bin/chef-service-manager +0 -0
  45. data/bin/chef-shell +0 -0
  46. data/bin/chef-solo +0 -0
  47. data/bin/chef-windows-service +0 -0
  48. data/bin/knife +0 -0
  49. data/chef.gemspec +1 -0
  50. data/distro/common/html/_sources/ctl_chef_client.txt +35 -35
  51. data/distro/common/html/_sources/ctl_chef_server.txt +341 -341
  52. data/distro/common/html/_sources/ctl_chef_shell.txt +15 -15
  53. data/distro/common/html/_sources/ctl_chef_solo.txt +25 -25
  54. data/distro/common/html/_sources/index.txt +135 -135
  55. data/distro/common/html/_sources/knife.txt +74 -74
  56. data/distro/common/html/_sources/knife_bootstrap.txt +56 -56
  57. data/distro/common/html/_sources/knife_client.txt +150 -150
  58. data/distro/common/html/_sources/knife_common_options.txt +6 -6
  59. data/distro/common/html/_sources/knife_configure.txt +29 -29
  60. data/distro/common/html/_sources/knife_cookbook.txt +236 -236
  61. data/distro/common/html/_sources/knife_cookbook_site.txt +157 -157
  62. data/distro/common/html/_sources/knife_data_bag.txt +159 -159
  63. data/distro/common/html/_sources/knife_delete.txt +26 -26
  64. data/distro/common/html/_sources/knife_deps.txt +61 -61
  65. data/distro/common/html/_sources/knife_diff.txt +34 -34
  66. data/distro/common/html/_sources/knife_download.txt +44 -44
  67. data/distro/common/html/_sources/knife_edit.txt +26 -26
  68. data/distro/common/html/_sources/knife_environment.txt +158 -158
  69. data/distro/common/html/_sources/knife_exec.txt +47 -47
  70. data/distro/common/html/_sources/knife_index_rebuild.txt +20 -20
  71. data/distro/common/html/_sources/knife_list.txt +33 -33
  72. data/distro/common/html/_sources/knife_node.txt +250 -250
  73. data/distro/common/html/_sources/knife_raw.txt +35 -35
  74. data/distro/common/html/_sources/knife_recipe_list.txt +23 -23
  75. data/distro/common/html/_sources/knife_role.txt +157 -157
  76. data/distro/common/html/_sources/knife_search.txt +53 -53
  77. data/distro/common/html/_sources/knife_serve.txt +18 -18
  78. data/distro/common/html/_sources/knife_show.txt +26 -26
  79. data/distro/common/html/_sources/knife_ssh.txt +43 -43
  80. data/distro/common/html/_sources/knife_ssl_check.txt +41 -41
  81. data/distro/common/html/_sources/knife_ssl_fetch.txt +41 -41
  82. data/distro/common/html/_sources/knife_status.txt +37 -37
  83. data/distro/common/html/_sources/knife_tag.txt +69 -69
  84. data/distro/common/html/_sources/knife_upload.txt +49 -49
  85. data/distro/common/html/_sources/knife_user.txt +127 -127
  86. data/distro/common/html/_sources/knife_using.txt +43 -43
  87. data/distro/common/html/_sources/knife_xargs.txt +30 -30
  88. data/distro/common/html/_static/guide.css +504 -504
  89. data/distro/common/html/_static/pygments.css +61 -61
  90. data/distro/common/html/_static/underscore.js +31 -31
  91. data/distro/common/html/ctl_chef_client.html +269 -269
  92. data/distro/common/html/ctl_chef_server.html +727 -727
  93. data/distro/common/html/ctl_chef_shell.html +162 -162
  94. data/distro/common/html/ctl_chef_solo.html +193 -193
  95. data/distro/common/html/index.html +201 -201
  96. data/distro/common/html/knife.html +169 -169
  97. data/distro/common/html/knife_bootstrap.html +284 -284
  98. data/distro/common/html/knife_client.html +284 -284
  99. data/distro/common/html/knife_common_options.html +95 -95
  100. data/distro/common/html/knife_configure.html +104 -104
  101. data/distro/common/html/knife_cookbook.html +486 -486
  102. data/distro/common/html/knife_data_bag.html +373 -373
  103. data/distro/common/html/knife_delete.html +92 -92
  104. data/distro/common/html/knife_deps.html +142 -142
  105. data/distro/common/html/knife_diff.html +122 -122
  106. data/distro/common/html/knife_download.html +144 -144
  107. data/distro/common/html/knife_edit.html +88 -88
  108. data/distro/common/html/knife_environment.html +325 -325
  109. data/distro/common/html/knife_exec.html +219 -219
  110. data/distro/common/html/knife_index_rebuild.html +82 -82
  111. data/distro/common/html/knife_list.html +113 -113
  112. data/distro/common/html/knife_node.html +457 -457
  113. data/distro/common/html/knife_raw.html +109 -109
  114. data/distro/common/html/knife_recipe_list.html +90 -90
  115. data/distro/common/html/knife_role.html +294 -294
  116. data/distro/common/html/knife_search.html +202 -202
  117. data/distro/common/html/knife_serve.html +78 -78
  118. data/distro/common/html/knife_show.html +103 -103
  119. data/distro/common/html/knife_ssh.html +176 -176
  120. data/distro/common/html/knife_ssl_check.html +150 -150
  121. data/distro/common/html/knife_ssl_fetch.html +150 -150
  122. data/distro/common/html/knife_status.html +143 -143
  123. data/distro/common/html/knife_tag.html +137 -137
  124. data/distro/common/html/knife_upload.html +152 -152
  125. data/distro/common/html/knife_user.html +241 -241
  126. data/distro/common/html/knife_using.html +209 -209
  127. data/distro/common/html/knife_xargs.html +121 -121
  128. data/distro/common/html/search.html +81 -81
  129. data/distro/common/man/man1/README.md +58 -58
  130. data/distro/common/man/man1/chef-shell.1 +194 -194
  131. data/distro/common/man/man1/knife-bootstrap.1 +215 -215
  132. data/distro/common/man/man1/knife-client.1 +443 -443
  133. data/distro/common/man/man1/knife-configure.1 +161 -161
  134. data/distro/common/man/man1/knife-cookbook.1 +770 -770
  135. data/distro/common/man/man1/knife-data-bag.1 +617 -617
  136. data/distro/common/man/man1/knife-delete.1 +127 -127
  137. data/distro/common/man/man1/knife-deps.1 +246 -246
  138. data/distro/common/man/man1/knife-diff.1 +226 -226
  139. data/distro/common/man/man1/knife-download.1 +258 -258
  140. data/distro/common/man/man1/knife-edit.1 +121 -121
  141. data/distro/common/man/man1/knife-environment.1 +508 -508
  142. data/distro/common/man/man1/knife-exec.1 +362 -362
  143. data/distro/common/man/man1/knife-index-rebuild.1 +63 -63
  144. data/distro/common/man/man1/knife-list.1 +174 -174
  145. data/distro/common/man/man1/knife-node.1 +716 -716
  146. data/distro/common/man/man1/knife-raw.1 +172 -172
  147. data/distro/common/man/man1/knife-recipe-list.1 +85 -85
  148. data/distro/common/man/man1/knife-role.1 +426 -426
  149. data/distro/common/man/man1/knife-search.1 +359 -359
  150. data/distro/common/man/man1/knife-serve.1 +109 -109
  151. data/distro/common/man/man1/knife-show.1 +160 -160
  152. data/distro/common/man/man1/knife-ssh.1 +284 -284
  153. data/distro/common/man/man1/knife-ssl-check.1 +207 -207
  154. data/distro/common/man/man1/knife-ssl-fetch.1 +207 -207
  155. data/distro/common/man/man1/knife-status.1 +234 -234
  156. data/distro/common/man/man1/knife-tag.1 +189 -189
  157. data/distro/common/man/man1/knife-upload.1 +280 -280
  158. data/distro/common/man/man1/knife-user.1 +356 -356
  159. data/distro/common/man/man1/knife-xargs.1 +189 -189
  160. data/distro/common/man/man1/knife.1 +332 -332
  161. data/distro/common/man/man8/chef-apply.8 +86 -86
  162. data/distro/common/man/man8/chef-client.8 +398 -398
  163. data/distro/common/man/man8/chef-solo.8 +260 -260
  164. data/distro/common/markdown/README +3 -3
  165. data/lib/chef/application.rb +14 -9
  166. data/lib/chef/application/apply.rb +5 -5
  167. data/lib/chef/application/client.rb +3 -3
  168. data/lib/chef/application/exit_code.rb +226 -0
  169. data/lib/chef/application/solo.rb +37 -7
  170. data/lib/chef/application/windows_service.rb +3 -3
  171. data/lib/chef/chef_fs/command_line.rb +7 -0
  172. data/lib/chef/chef_fs/config.rb +1 -1
  173. data/lib/chef/chef_fs/data_handler/data_handler_base.rb +11 -10
  174. data/lib/chef/chef_fs/data_handler/environment_data_handler.rb +1 -1
  175. data/lib/chef/chef_fs/data_handler/role_data_handler.rb +1 -1
  176. data/lib/chef/chef_fs/file_system.rb +15 -13
  177. data/lib/chef/chef_fs/file_system/base_fs_object.rb +4 -0
  178. data/lib/chef/chef_fs/file_system/chef_server/acl_dir.rb +1 -1
  179. data/lib/chef/chef_fs/file_system/chef_server/acl_entry.rb +9 -0
  180. data/lib/chef/chef_fs/file_system/chef_server/data_bag_dir.rb +6 -0
  181. data/lib/chef/chef_fs/file_system/chef_server/data_bag_entry.rb +19 -0
  182. data/lib/chef/chef_fs/file_system/chef_server/environments_dir.rb +1 -1
  183. data/lib/chef/chef_fs/file_system/chef_server/nodes_dir.rb +1 -1
  184. data/lib/chef/chef_fs/file_system/chef_server/org_entry.rb +4 -0
  185. data/lib/chef/chef_fs/file_system/chef_server/organization_invites_entry.rb +4 -0
  186. data/lib/chef/chef_fs/file_system/chef_server/organization_members_entry.rb +4 -0
  187. data/lib/chef/chef_fs/file_system/chef_server/policy_revision_entry.rb +4 -0
  188. data/lib/chef/chef_fs/file_system/chef_server/rest_list_dir.rb +3 -3
  189. data/lib/chef/chef_fs/file_system/chef_server/rest_list_entry.rb +15 -4
  190. data/lib/chef/chef_fs/file_system/exceptions.rb +7 -0
  191. data/lib/chef/chef_fs/file_system/multiplexed_dir.rb +2 -2
  192. data/lib/chef/chef_fs/file_system/nonexistent_fs_object.rb +0 -4
  193. data/lib/chef/chef_fs/file_system/repository/acl.rb +7 -0
  194. data/lib/chef/chef_fs/file_system/repository/acls_sub_dir.rb +0 -4
  195. data/lib/chef/chef_fs/file_system/repository/base_file.rb +36 -4
  196. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_entry.rb +4 -0
  197. data/lib/chef/chef_fs/file_system/repository/client_keys_sub_dir.rb +0 -4
  198. data/lib/chef/chef_fs/file_system/repository/clients_dir.rb +0 -3
  199. data/lib/chef/chef_fs/file_system/repository/containers_dir.rb +0 -4
  200. data/lib/chef/chef_fs/file_system/repository/directory.rb +4 -0
  201. data/lib/chef/chef_fs/file_system/repository/environments_dir.rb +0 -4
  202. data/lib/chef/chef_fs/file_system/repository/groups_dir.rb +0 -4
  203. data/lib/chef/chef_fs/file_system/repository/nodes_dir.rb +0 -4
  204. data/lib/chef/chef_fs/file_system/repository/policy_groups_dir.rb +0 -4
  205. data/lib/chef/chef_fs/file_system/repository/roles_dir.rb +0 -4
  206. data/lib/chef/chef_fs/file_system/repository/users_dir.rb +0 -4
  207. data/lib/chef/client.rb +11 -3
  208. data/lib/chef/config_fetcher.rb +4 -4
  209. data/lib/chef/cookbook/gem_installer.rb +1 -0
  210. data/lib/chef/cookbook/synchronizer.rb +1 -1
  211. data/lib/chef/data_bag.rb +2 -2
  212. data/lib/chef/data_bag_item.rb +1 -1
  213. data/lib/chef/data_collector.rb +345 -0
  214. data/lib/chef/data_collector/messages.rb +125 -0
  215. data/lib/chef/data_collector/messages/helpers.rb +161 -0
  216. data/lib/chef/data_collector/resource_report.rb +84 -0
  217. data/lib/chef/decorator.rb +81 -0
  218. data/lib/chef/decorator/lazy.rb +60 -0
  219. data/lib/chef/decorator/lazy_array.rb +59 -0
  220. data/lib/chef/deprecation/provider/remote_file.rb +1 -1
  221. data/lib/chef/dsl/core.rb +19 -11
  222. data/lib/chef/dsl/platform_introspection.rb +16 -0
  223. data/lib/chef/dsl/recipe.rb +15 -9
  224. data/lib/chef/dsl/universal.rb +50 -0
  225. data/lib/chef/environment.rb +2 -2
  226. data/lib/chef/exceptions.rb +19 -4
  227. data/lib/chef/handler.rb +33 -0
  228. data/lib/chef/knife/cookbook_show.rb +6 -10
  229. data/lib/chef/knife/cookbook_site_install.rb +7 -2
  230. data/lib/chef/knife/help_topics.rb +4 -4
  231. data/lib/chef/knife/list.rb +1 -2
  232. data/lib/chef/knife/ssl_check.rb +2 -1
  233. data/lib/chef/monkey_patches/win32/registry.rb +11 -0
  234. data/lib/chef/nil_argument.rb +3 -3
  235. data/lib/chef/node.rb +2 -2
  236. data/lib/chef/platform/rebooter.rb +13 -2
  237. data/lib/chef/policy_builder/dynamic.rb +1 -1
  238. data/lib/chef/policy_builder/expand_node_object.rb +3 -3
  239. data/lib/chef/policy_builder/policyfile.rb +1 -1
  240. data/lib/chef/provider/git.rb +43 -41
  241. data/lib/chef/provider/lwrp_base.rb +0 -1
  242. data/lib/chef/provider/osx_profile.rb +2 -3
  243. data/lib/chef/provider/package.rb +51 -13
  244. data/lib/chef/provider/package/apt.rb +97 -103
  245. data/lib/chef/provider/package/chocolatey.rb +9 -10
  246. data/lib/chef/provider/package/dpkg.rb +2 -2
  247. data/lib/chef/provider/package/portage.rb +1 -1
  248. data/lib/chef/provider/package/rubygems.rb +8 -12
  249. data/lib/chef/provider/package/yum.rb +4 -959
  250. data/lib/chef/provider/package/yum/rpm_utils.rb +642 -0
  251. data/lib/chef/provider/package/{yum-dump.py → yum/yum-dump.py} +0 -0
  252. data/lib/chef/provider/package/yum/yum_cache.rb +376 -0
  253. data/lib/chef/provider/resource_update.rb +52 -52
  254. data/lib/chef/provider/systemd_unit.rb +238 -0
  255. data/lib/chef/providers.rb +1 -0
  256. data/lib/chef/reserved_names.rb +9 -9
  257. data/lib/chef/resource.rb +2 -7
  258. data/lib/chef/resource/file.rb +6 -1
  259. data/lib/chef/resource/systemd_unit.rb +63 -0
  260. data/lib/chef/resources.rb +1 -0
  261. data/lib/chef/sandbox.rb +20 -20
  262. data/lib/chef/shell/shell_session.rb +3 -3
  263. data/lib/chef/version.rb +1 -1
  264. data/lib/chef/win32/system.rb +0 -0
  265. data/spec/data/apt/chef-integration-test-1.0/debian/changelog +5 -5
  266. data/spec/data/apt/chef-integration-test-1.0/debian/compat +1 -1
  267. data/spec/data/apt/chef-integration-test-1.0/debian/control +13 -13
  268. data/spec/data/apt/chef-integration-test-1.0/debian/files +1 -1
  269. data/spec/data/apt/chef-integration-test-1.0/debian/rules +13 -13
  270. data/spec/data/apt/chef-integration-test-1.0/debian/source/format +1 -1
  271. data/spec/data/apt/chef-integration-test-1.1/debian/changelog +11 -11
  272. data/spec/data/apt/chef-integration-test-1.1/debian/compat +1 -1
  273. data/spec/data/apt/chef-integration-test-1.1/debian/control +13 -13
  274. data/spec/data/apt/chef-integration-test-1.1/debian/files +1 -1
  275. data/spec/data/apt/chef-integration-test-1.1/debian/rules +13 -13
  276. data/spec/data/apt/chef-integration-test-1.1/debian/source/format +1 -1
  277. data/spec/data/apt/chef-integration-test2-1.0/debian/rules +0 -0
  278. data/spec/data/apt/chef-integration-test_1.0-1_amd64.changes +22 -22
  279. data/spec/data/apt/chef-integration-test_1.1-1_amd64.changes +22 -22
  280. data/spec/data/apt/var/www/apt/conf/distributions +7 -7
  281. data/spec/data/apt/var/www/apt/conf/incoming +4 -4
  282. data/spec/data/apt/var/www/apt/conf/pulls +3 -3
  283. data/spec/data/apt/var/www/apt/db/version +4 -4
  284. data/spec/data/apt/var/www/apt/dists/sid/Release +19 -19
  285. data/spec/data/apt/var/www/apt/dists/sid/main/binary-amd64/Packages +16 -16
  286. data/spec/data/apt/var/www/apt/dists/sid/main/binary-amd64/Release +5 -5
  287. data/spec/data/bootstrap/encrypted_data_bag_secret +1 -1
  288. data/spec/data/bootstrap/no_proxy.erb +2 -2
  289. data/spec/data/bootstrap/secret.erb +9 -9
  290. data/spec/data/bootstrap/test-hints.erb +12 -12
  291. data/spec/data/bootstrap/test.erb +1 -1
  292. data/spec/data/cb_version_cookbooks/tatft/README.rdoc +2 -2
  293. data/spec/data/cb_version_cookbooks/tatft/attributes/default.rb +1 -1
  294. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-600hhz-0 +1 -1
  295. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-ahd2gq-0 +1 -1
  296. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-api8ux-0 +1 -1
  297. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-b0r1m1-0 +1 -1
  298. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-bfygsi-0 +1 -1
  299. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-el14l6-0 +1 -1
  300. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-ivrl3y-0 +1 -1
  301. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-kkbs85-0 +1 -1
  302. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-ory1ux-0 +1 -1
  303. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-pgsq76-0 +1 -1
  304. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-ra8uim-0 +1 -1
  305. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-t7k1g-0 +1 -1
  306. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-t8g0sv-0 +1 -1
  307. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-ufy6g3-0 +1 -1
  308. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-x2d6j9-0 +1 -1
  309. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-xi0l6h-0 +1 -1
  310. data/spec/data/config.rb +6 -6
  311. data/spec/data/cookbooks/angrybash/metadata.rb +2 -2
  312. data/spec/data/cookbooks/angrybash/recipes/default.rb +8 -8
  313. data/spec/data/cookbooks/apache2/files/default/apache2_module_conf_generate.pl +2 -2
  314. data/spec/data/cookbooks/apache2/metadata.rb +2 -2
  315. data/spec/data/cookbooks/apache2/recipes/default.rb +2 -2
  316. data/spec/data/cookbooks/borken/metadata.rb +2 -2
  317. data/spec/data/cookbooks/borken/recipes/default.rb +1 -1
  318. data/spec/data/cookbooks/borken/templates/default/borken.erb +1 -1
  319. data/spec/data/cookbooks/chefignore +8 -8
  320. data/spec/data/cookbooks/ignorken/files/default/not_me.rb +2 -2
  321. data/spec/data/cookbooks/ignorken/metadata.rb +2 -2
  322. data/spec/data/cookbooks/ignorken/recipes/ignoreme.rb +1 -1
  323. data/spec/data/cookbooks/ignorken/templates/ubuntu-12.10/not_me.rb +2 -2
  324. data/spec/data/cookbooks/java/files/default/java.response +1 -1
  325. data/spec/data/cookbooks/java/metadata.rb +2 -2
  326. data/spec/data/cookbooks/name-mismatch-versionnumber/README.md +4 -4
  327. data/spec/data/cookbooks/name-mismatch-versionnumber/metadata.rb +8 -8
  328. data/spec/data/cookbooks/openldap/attributes/default.rb +16 -16
  329. data/spec/data/cookbooks/openldap/attributes/smokey.rb +1 -1
  330. data/spec/data/cookbooks/openldap/definitions/client.rb +5 -5
  331. data/spec/data/cookbooks/openldap/definitions/server.rb +5 -5
  332. data/spec/data/cookbooks/openldap/files/default/.dotfile +1 -1
  333. data/spec/data/cookbooks/openldap/files/default/remotedir/.a_dotdir/.a_dotfile_in_a_dotdir +1 -1
  334. data/spec/data/cookbooks/openldap/files/default/remotedir/not_a_template.erb +2 -2
  335. data/spec/data/cookbooks/openldap/files/default/remotedir/remote_dir_file1.txt +2 -2
  336. data/spec/data/cookbooks/openldap/files/default/remotedir/remote_dir_file2.txt +2 -2
  337. data/spec/data/cookbooks/openldap/files/default/remotedir/remotesubdir/.a_dotfile +1 -1
  338. data/spec/data/cookbooks/openldap/files/default/remotedir/remotesubdir/remote_subdir_file1.txt +2 -2
  339. data/spec/data/cookbooks/openldap/files/default/remotedir/remotesubdir/remote_subdir_file2.txt +2 -2
  340. data/spec/data/cookbooks/openldap/files/default/remotedir/subdir_with_no_file_just_a_subsubdir/the_subsubdir/some_file.txt +3 -3
  341. data/spec/data/cookbooks/openldap/libraries/openldap.rb +4 -4
  342. data/spec/data/cookbooks/openldap/libraries/openldap/version.rb +3 -3
  343. data/spec/data/cookbooks/openldap/metadata.rb +8 -8
  344. data/spec/data/cookbooks/openldap/recipes/default.rb +4 -4
  345. data/spec/data/cookbooks/openldap/recipes/gigantor.rb +3 -3
  346. data/spec/data/cookbooks/openldap/recipes/one.rb +15 -15
  347. data/spec/data/cookbooks/openldap/recipes/return.rb +2 -2
  348. data/spec/data/cookbooks/openldap/templates/default/helper_test.erb +1 -1
  349. data/spec/data/cookbooks/openldap/templates/default/helpers_via_partial_test.erb +1 -1
  350. data/spec/data/cookbooks/openldap/templates/default/no_windows_line_endings.erb +4 -4
  351. data/spec/data/cookbooks/openldap/templates/default/openldap_variable_stuff.conf.erb +1 -1
  352. data/spec/data/cookbooks/openldap/templates/default/test.erb +1 -1
  353. data/spec/data/cookbooks/preseed/files/default/preseed-file.seed +1 -1
  354. data/spec/data/cookbooks/preseed/files/default/preseed-template.seed +4 -4
  355. data/spec/data/cookbooks/preseed/metadata.rb +2 -2
  356. data/spec/data/cookbooks/preseed/templates/default/preseed-template-variables.seed +1 -1
  357. data/spec/data/cookbooks/preseed/templates/default/preseed-template.seed +1 -1
  358. data/spec/data/definitions/test.rb +4 -4
  359. data/spec/data/environment-config.rb +4 -4
  360. data/spec/data/file-providers-method-snapshot-chef-11-4.json +127 -127
  361. data/spec/data/fileedit/hosts +4 -4
  362. data/spec/data/incomplete-metadata-chef-repo/incomplete-metadata/README.md +4 -4
  363. data/spec/data/incomplete-metadata-chef-repo/incomplete-metadata/metadata.rb +13 -13
  364. data/spec/data/invalid-metadata-chef-repo/invalid-metadata/README.md +4 -4
  365. data/spec/data/kitchen/chefignore +6 -6
  366. data/spec/data/kitchen/openldap/attributes/default.rb +3 -3
  367. data/spec/data/kitchen/openldap/attributes/robinson.rb +2 -2
  368. data/spec/data/kitchen/openldap/definitions/client.rb +3 -3
  369. data/spec/data/kitchen/openldap/definitions/drewbarrymore.rb +2 -2
  370. data/spec/data/kitchen/openldap/recipes/gigantor.rb +2 -2
  371. data/spec/data/kitchen/openldap/recipes/ignoreme.rb +2 -2
  372. data/spec/data/kitchen/openldap/recipes/woot.rb +3 -3
  373. data/spec/data/knife_subcommand/test_explicit_category.rb +6 -6
  374. data/spec/data/knife_subcommand/test_name_mapping.rb +4 -4
  375. data/spec/data/knife_subcommand/test_yourself.rb +21 -21
  376. data/spec/data/lwrp/providers/inline_compiler.rb +26 -26
  377. data/spec/data/lwrp/providers/monkey_name_printer.rb +5 -5
  378. data/spec/data/lwrp/providers/paint_drying_watcher.rb +7 -7
  379. data/spec/data/lwrp/providers/thumb_twiddler.rb +7 -7
  380. data/spec/data/lwrp/resources/foo.rb +4 -4
  381. data/spec/data/lwrp/resources_with_default_attributes/nodeattr.rb +1 -1
  382. data/spec/data/lwrp_override/providers/buck_passer.rb +5 -5
  383. data/spec/data/mac_users/10.7-8.plist.xml +559 -559
  384. data/spec/data/mac_users/10.7-8.shadow.xml +11 -11
  385. data/spec/data/mac_users/10.7.plist.xml +559 -559
  386. data/spec/data/mac_users/10.7.shadow.xml +11 -11
  387. data/spec/data/mac_users/10.8.plist.xml +559 -559
  388. data/spec/data/mac_users/10.8.shadow.xml +21 -21
  389. data/spec/data/mac_users/10.9.plist.xml +560 -560
  390. data/spec/data/mac_users/10.9.shadow.xml +21 -21
  391. data/spec/data/metadata/quick_start/metadata.rb +19 -19
  392. data/spec/data/nodes/default.rb +15 -15
  393. data/spec/data/nodes/test.example.com.rb +17 -17
  394. data/spec/data/nodes/test.rb +15 -15
  395. data/spec/data/null_config.rb +1 -1
  396. data/spec/data/object_loader/environments/test.json +7 -7
  397. data/spec/data/object_loader/environments/test.rb +2 -2
  398. data/spec/data/object_loader/environments/test_json_class.json +8 -8
  399. data/spec/data/object_loader/nodes/test.json +7 -7
  400. data/spec/data/object_loader/nodes/test.rb +2 -2
  401. data/spec/data/object_loader/nodes/test_json_class.json +8 -8
  402. data/spec/data/object_loader/roles/test.json +7 -7
  403. data/spec/data/object_loader/roles/test.rb +2 -2
  404. data/spec/data/object_loader/roles/test_json_class.json +8 -8
  405. data/spec/data/partial_one.erb +1 -1
  406. data/spec/data/recipes/test.rb +7 -7
  407. data/spec/data/run_context/cookbooks/circular-dep1/attributes/default.rb +4 -4
  408. data/spec/data/run_context/cookbooks/circular-dep1/definitions/circular_dep1_res.rb +1 -1
  409. data/spec/data/run_context/cookbooks/circular-dep1/libraries/lib.rb +2 -2
  410. data/spec/data/run_context/cookbooks/circular-dep1/metadata.rb +2 -2
  411. data/spec/data/run_context/cookbooks/circular-dep1/providers/provider.rb +1 -1
  412. data/spec/data/run_context/cookbooks/circular-dep1/resources/resource.rb +1 -1
  413. data/spec/data/run_context/cookbooks/circular-dep2/attributes/default.rb +3 -3
  414. data/spec/data/run_context/cookbooks/circular-dep2/definitions/circular_dep2_res.rb +1 -1
  415. data/spec/data/run_context/cookbooks/circular-dep2/libraries/lib.rb +2 -2
  416. data/spec/data/run_context/cookbooks/circular-dep2/metadata.rb +2 -2
  417. data/spec/data/run_context/cookbooks/circular-dep2/providers/provider.rb +1 -1
  418. data/spec/data/run_context/cookbooks/circular-dep2/resources/resource.rb +1 -1
  419. data/spec/data/run_context/cookbooks/dependency1/attributes/aa_first.rb +2 -2
  420. data/spec/data/run_context/cookbooks/dependency1/attributes/default.rb +2 -2
  421. data/spec/data/run_context/cookbooks/dependency1/attributes/zz_last.rb +3 -3
  422. data/spec/data/run_context/cookbooks/dependency1/definitions/dependency1_res.rb +1 -1
  423. data/spec/data/run_context/cookbooks/dependency1/libraries/lib.rb +2 -2
  424. data/spec/data/run_context/cookbooks/dependency1/providers/provider.rb +1 -1
  425. data/spec/data/run_context/cookbooks/dependency1/resources/resource.rb +1 -1
  426. data/spec/data/run_context/cookbooks/dependency2/attributes/default.rb +3 -3
  427. data/spec/data/run_context/cookbooks/dependency2/definitions/dependency2_res.rb +1 -1
  428. data/spec/data/run_context/cookbooks/dependency2/libraries/lib.rb +2 -2
  429. data/spec/data/run_context/cookbooks/dependency2/providers/provider.rb +1 -1
  430. data/spec/data/run_context/cookbooks/dependency2/resources/resource.rb +1 -1
  431. data/spec/data/run_context/cookbooks/no-default-attr/attributes/server.rb +3 -3
  432. data/spec/data/run_context/cookbooks/no-default-attr/definitions/no_default-attr_res.rb +1 -1
  433. data/spec/data/run_context/cookbooks/no-default-attr/providers/provider.rb +1 -1
  434. data/spec/data/run_context/cookbooks/no-default-attr/resources/resource.rb +1 -1
  435. data/spec/data/run_context/cookbooks/test-with-circular-deps/attributes/default.rb +3 -3
  436. data/spec/data/run_context/cookbooks/test-with-circular-deps/definitions/test_with-circular-deps_res.rb +1 -1
  437. data/spec/data/run_context/cookbooks/test-with-circular-deps/libraries/lib.rb +2 -2
  438. data/spec/data/run_context/cookbooks/test-with-circular-deps/metadata.rb +2 -2
  439. data/spec/data/run_context/cookbooks/test-with-circular-deps/providers/provider.rb +1 -1
  440. data/spec/data/run_context/cookbooks/test-with-circular-deps/resources/resource.rb +1 -1
  441. data/spec/data/run_context/cookbooks/test-with-deps/attributes/default.rb +3 -3
  442. data/spec/data/run_context/cookbooks/test-with-deps/definitions/test_with-deps_res.rb +1 -1
  443. data/spec/data/run_context/cookbooks/test-with-deps/libraries/lib.rb +1 -1
  444. data/spec/data/run_context/cookbooks/test-with-deps/metadata.rb +3 -3
  445. data/spec/data/run_context/cookbooks/test-with-deps/providers/provider.rb +1 -1
  446. data/spec/data/run_context/cookbooks/test-with-deps/resources/resource.rb +1 -1
  447. data/spec/data/run_context/cookbooks/test/attributes/george.rb +1 -1
  448. data/spec/data/run_context/cookbooks/test/definitions/new_animals.rb +9 -9
  449. data/spec/data/run_context/cookbooks/test/definitions/new_cat.rb +5 -5
  450. data/spec/data/run_context/cookbooks/test/definitions/test_res.rb +1 -1
  451. data/spec/data/run_context/cookbooks/test/providers/provider.rb +1 -1
  452. data/spec/data/run_context/cookbooks/test/recipes/default.rb +5 -5
  453. data/spec/data/run_context/cookbooks/test/recipes/one.rb +7 -7
  454. data/spec/data/run_context/cookbooks/test/recipes/two.rb +7 -7
  455. data/spec/data/run_context/cookbooks/test/resources/resource.rb +1 -1
  456. data/spec/data/run_context/nodes/run_context.rb +5 -5
  457. data/spec/data/search_queries_to_transform.txt +98 -98
  458. data/spec/data/shef-config.rb +10 -10
  459. data/spec/data/ssl/5e707473.0 +18 -18
  460. data/spec/data/ssl/chef-rspec.cert +27 -27
  461. data/spec/data/ssl/chef-rspec.key +27 -27
  462. data/spec/data/ssl/key.pem +15 -15
  463. data/spec/data/ssl/private_key.pem +27 -27
  464. data/spec/data/ssl/private_key_with_whitespace.pem +32 -32
  465. data/spec/data/standalone_cookbook/chefignore +9 -9
  466. data/spec/data/standalone_cookbook/recipes/default.rb +2 -2
  467. data/spec/data/trusted_certs/example.crt +22 -22
  468. data/spec/data/trusted_certs/intermediate.pem +27 -27
  469. data/spec/data/trusted_certs/root.pem +22 -22
  470. data/spec/functional/assets/chefinittest +34 -34
  471. data/spec/functional/assets/testchefsubsys +10 -10
  472. data/spec/functional/provider/remote_file/cache_control_data_spec.rb +0 -0
  473. data/spec/functional/resource/aix_service_spec.rb +0 -0
  474. data/spec/functional/resource/aixinit_service_spec.rb +0 -0
  475. data/spec/functional/resource/chocolatey_package_spec.rb +0 -5
  476. data/spec/functional/resource/env_spec.rb +0 -0
  477. data/spec/functional/win32/registry_spec.rb +1 -0
  478. data/spec/integration/client/exit_code_spec.rb +245 -0
  479. data/spec/integration/knife/deps_spec.rb +7 -7
  480. data/spec/integration/knife/download_spec.rb +19 -0
  481. data/spec/integration/knife/list_spec.rb +0 -8
  482. data/spec/integration/knife/upload_spec.rb +21 -2
  483. data/spec/integration/solo/solo_spec.rb +1 -1
  484. data/spec/rcov.opts +2 -2
  485. data/spec/unit/application/apply_spec.rb +6 -4
  486. data/spec/unit/application/exit_code_spec.rb +231 -0
  487. data/spec/unit/application/solo_spec.rb +143 -88
  488. data/spec/unit/chef_fs/config_spec.rb +129 -0
  489. data/spec/unit/chef_fs/file_system/repository/base_file_spec.rb +8 -10
  490. data/spec/unit/client_spec.rb +1 -1
  491. data/spec/unit/config_fetcher_spec.rb +2 -2
  492. data/spec/unit/cookbook/synchronizer_spec.rb +1 -1
  493. data/spec/unit/data_bag_item_spec.rb +2 -2
  494. data/spec/unit/data_bag_spec.rb +2 -2
  495. data/spec/unit/data_collector/messages/helpers_spec.rb +190 -0
  496. data/spec/unit/data_collector/messages_spec.rb +207 -0
  497. data/spec/unit/data_collector_spec.rb +525 -0
  498. data/spec/unit/decorator/lazy_array_spec.rb +58 -0
  499. data/spec/unit/decorator/lazy_spec.rb +39 -0
  500. data/spec/unit/decorator_spec.rb +142 -0
  501. data/spec/unit/environment_spec.rb +4 -4
  502. data/spec/unit/handler_spec.rb +87 -0
  503. data/spec/unit/knife/cookbook_show_spec.rb +89 -90
  504. data/spec/unit/knife/ssl_check_spec.rb +16 -0
  505. data/spec/unit/policy_builder/dynamic_spec.rb +1 -1
  506. data/spec/unit/policy_builder/policyfile_spec.rb +1 -1
  507. data/spec/unit/provider/git_spec.rb +77 -18
  508. data/spec/unit/provider/package/apt_spec.rb +97 -34
  509. data/spec/unit/provider/package/chocolatey_spec.rb +3 -15
  510. data/spec/unit/provider/package/portage_spec.rb +6 -0
  511. data/spec/unit/provider/package/rubygems_spec.rb +38 -4
  512. data/spec/unit/provider/package/yum/yum_cache_spec.rb +27 -0
  513. data/spec/unit/provider/package_spec.rb +20 -7
  514. data/spec/unit/provider/systemd_unit_spec.rb +885 -0
  515. data/spec/unit/resource/systemd_unit_spec.rb +133 -0
  516. data/spec/unit/resource_builder_spec.rb +1 -1
  517. data/tasks/bin/bundle-platform +6 -2
  518. data/tasks/bin/bundle-platform.bat +0 -0
  519. data/tasks/bin/create-override-gemfile +0 -0
  520. data/tasks/bin/run_external_test +0 -0
  521. data/tasks/bundle_util.rb +18 -2
  522. data/tasks/changelog.rb +1 -0
  523. data/tasks/dependencies.rb +47 -57
  524. metadata +847 -7
  525. data/tasks/bin/run_chef_tests +0 -17
@@ -1,362 +1,362 @@
1
- .\" Man page generated from reStructuredText.
2
- .
3
- .TH "KNIFE-EXEC" "1" "Chef 12.0" "" "knife exec"
4
- .SH NAME
5
- knife-exec \- The man page for the knife exec subcommand.
6
- .
7
- .nr rst2man-indent-level 0
8
- .
9
- .de1 rstReportMargin
10
- \\$1 \\n[an-margin]
11
- level \\n[rst2man-indent-level]
12
- level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
13
- -
14
- \\n[rst2man-indent0]
15
- \\n[rst2man-indent1]
16
- \\n[rst2man-indent2]
17
- ..
18
- .de1 INDENT
19
- .\" .rstReportMargin pre:
20
- . RS \\$1
21
- . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
22
- . nr rst2man-indent-level +1
23
- .\" .rstReportMargin post:
24
- ..
25
- .de UNINDENT
26
- . RE
27
- .\" indent \\n[an-margin]
28
- .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
29
- .nr rst2man-indent-level -1
30
- .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
31
- .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
32
- ..
33
- .sp
34
- The \fBknife exec\fP subcommand uses the knife configuration file to execute Ruby scripts in the context of a fully configured chef\-client\&. This subcommand is most often used to run scripts that will only access Chef server one time (or otherwise very infrequently). Use this subcommand any time that an operation does not warrant full usage of the knife subcommand library.
35
- .sp
36
- \fBAuthenticated API Requests\fP
37
- .sp
38
- The \fBknife exec\fP subcommand can be used to make authenticated API requests to the Chef server using the following methods:
39
- .TS
40
- center;
41
- |l|l|.
42
- _
43
- T{
44
- Method
45
- T} T{
46
- Description
47
- T}
48
- _
49
- T{
50
- \fBapi.delete\fP
51
- T} T{
52
- Use to delete an object from the Chef server\&.
53
- T}
54
- _
55
- T{
56
- \fBapi.get\fP
57
- T} T{
58
- Use to get the details of an object on the Chef server\&.
59
- T}
60
- _
61
- T{
62
- \fBapi.post\fP
63
- T} T{
64
- Use to add an object to the Chef server\&.
65
- T}
66
- _
67
- T{
68
- \fBapi.put\fP
69
- T} T{
70
- Use to update an object on the Chef server\&.
71
- T}
72
- _
73
- .TE
74
- .sp
75
- These methods are used with the \fB\-E\fP option, which executes that string locally on the workstation using chef\-shell\&. These methods have the following syntax:
76
- .INDENT 0.0
77
- .INDENT 3.5
78
- .sp
79
- .nf
80
- .ft C
81
- $ knife exec \-E \(aqapi.method(/endpoint)\(aq
82
- .ft P
83
- .fi
84
- .UNINDENT
85
- .UNINDENT
86
- .sp
87
- where:
88
- .INDENT 0.0
89
- .IP \(bu 2
90
- \fBapi.method\fP is the corresponding authentication method \-\-\- \fBapi.delete\fP, \fBapi.get\fP, \fBapi.post\fP, or \fBapi.put\fP
91
- .IP \(bu 2
92
- \fB/endpoint\fP is an endpoint in the Chef server API
93
- .UNINDENT
94
- .sp
95
- For example, to get the data for a node named "Example_Node":
96
- .INDENT 0.0
97
- .INDENT 3.5
98
- .sp
99
- .nf
100
- .ft C
101
- $ knife exec \-E \(aqputs api.get("/nodes/Example_Node")\(aq
102
- .ft P
103
- .fi
104
- .UNINDENT
105
- .UNINDENT
106
- .sp
107
- and to ensure that the output is visible in the console, add the \fBputs\fP in front of the API authorization request:
108
- .INDENT 0.0
109
- .INDENT 3.5
110
- .sp
111
- .nf
112
- .ft C
113
- $ knife exec \-E \(aqputs api.get("/nodes/Example_Node")\(aq
114
- .ft P
115
- .fi
116
- .UNINDENT
117
- .UNINDENT
118
- .sp
119
- where \fBputs\fP is the shorter version of the \fB$stdout.puts\fP predefined variable in Ruby\&.
120
- .sp
121
- The following example shows how to add a client named "IBM305RAMAC" and the \fB/clients\fP endpoint, and then return the private key for that user in the console:
122
- .INDENT 0.0
123
- .INDENT 3.5
124
- .sp
125
- .nf
126
- .ft C
127
- $ client_desc = {
128
- "name" => "IBM305RAMAC",
129
- "admin" => false
130
- }
131
-
132
- new_client = api.post("/clients", client_desc)
133
- puts new_client["private_key"]
134
- .ft P
135
- .fi
136
- .UNINDENT
137
- .UNINDENT
138
- .sp
139
- \fBSyntax\fP
140
- .sp
141
- This subcommand has the following syntax:
142
- .INDENT 0.0
143
- .INDENT 3.5
144
- .sp
145
- .nf
146
- .ft C
147
- $ knife exec SCRIPT (options)
148
- .ft P
149
- .fi
150
- .UNINDENT
151
- .UNINDENT
152
- .sp
153
- \fBOptions\fP
154
- .sp
155
- This subcommand has the following options:
156
- .INDENT 0.0
157
- .TP
158
- .B \fB\-c CONFIG_FILE\fP, \fB\-\-config CONFIG_FILE\fP
159
- The configuration file to use.
160
- .TP
161
- .B \fB\-\-chef\-zero\-port PORT\fP
162
- The port on which chef\-zero will listen.
163
- .TP
164
- .B \fB\-\-[no\-]color\fP
165
- Use to view colored output.
166
- .TP
167
- .B \fB\-d\fP, \fB\-\-disable\-editing\fP
168
- Use to prevent the $EDITOR from being opened and to accept data as\-is.
169
- .TP
170
- .B \fB\-\-defaults\fP
171
- Use to have knife use the default value instead of asking a user to provide one.
172
- .TP
173
- .B \fB\-E CODE\fP, \fB\-\-exec CODE\fP
174
- A string of code that will be executed.
175
- .TP
176
- .B \fB\-e EDITOR\fP, \fB\-\-editor EDITOR\fP
177
- The $EDITOR that is used for all interactive commands.
178
- .TP
179
- .B \fB\-\-environment ENVIRONMENT\fP
180
- The name of the environment. When this option is added to a command, the command will run only against the named environment.
181
- .TP
182
- .B \fB\-F FORMAT\fP, \fB\-\-format FORMAT\fP
183
- The output format: \fBsummary\fP (default), \fBtext\fP, \fBjson\fP, \fByaml\fP, and \fBpp\fP\&.
184
- .TP
185
- .B \fB\-h\fP, \fB\-\-help\fP
186
- Shows help for the command.
187
- .TP
188
- .B \fB\-k KEY\fP, \fB\-\-key KEY\fP
189
- The private key that knife will use to sign requests made by the API client to the Chef server\&.
190
- .TP
191
- .B \fB\-p PATH:PATH\fP, \fB\-\-script\-path PATH:PATH\fP
192
- A colon\-separated path at which Ruby scripts are located.
193
- .TP
194
- .B \fB\-\-print\-after\fP
195
- Use to show data after a destructive operation.
196
- .TP
197
- .B \fB\-s URL\fP, \fB\-\-server\-url URL\fP
198
- The URL for the Chef server\&.
199
- .TP
200
- .B \fB\-u USER\fP, \fB\-\-user USER\fP
201
- The user name used by knife to sign requests made by the API client to the Chef server\&. Authentication will fail if the user name does not match the private key.
202
- .TP
203
- .B \fB\-v\fP, \fB\-\-version\fP
204
- The version of the chef\-client\&.
205
- .TP
206
- .B \fB\-V\fP, \fB\-\-verbose\fP
207
- Set for more verbose outputs. Use \fB\-VV\fP for maximum verbosity.
208
- .TP
209
- .B \fB\-y\fP, \fB\-\-yes\fP
210
- Use to respond to all confirmation prompts with "Yes". knife will not ask for confirmation.
211
- .TP
212
- .B \fB\-z\fP, \fB\-\-local\-mode\fP
213
- Use to run the chef\-client in local mode. This allows all commands that work against the Chef server to also work against the local chef\-repo\&.
214
- .UNINDENT
215
- .sp
216
- \fBExamples\fP
217
- .sp
218
- There are three ways to use \fBknife exec\fP to run Ruby script files. For example:
219
- .INDENT 0.0
220
- .INDENT 3.5
221
- .sp
222
- .nf
223
- .ft C
224
- $ knife exec /path/to/script_file
225
- .ft P
226
- .fi
227
- .UNINDENT
228
- .UNINDENT
229
- .sp
230
- or:
231
- .INDENT 0.0
232
- .INDENT 3.5
233
- .sp
234
- .nf
235
- .ft C
236
- $ knife exec \-E \(aqRUBY CODE\(aq
237
- .ft P
238
- .fi
239
- .UNINDENT
240
- .UNINDENT
241
- .sp
242
- or:
243
- .INDENT 0.0
244
- .INDENT 3.5
245
- .sp
246
- .nf
247
- .ft C
248
- $ knife exec
249
- RUBY CODE
250
- ^D
251
- .ft P
252
- .fi
253
- .UNINDENT
254
- .UNINDENT
255
- .sp
256
- To check the status of knife using a Ruby script named \fBstatus.rb\fP (which looks like):
257
- .INDENT 0.0
258
- .INDENT 3.5
259
- .sp
260
- .nf
261
- .ft C
262
- printf "%\-5s %\-12s %\-8s %s\en", "Check In", "Name", "Ruby", "Recipes"
263
- nodes.all do |n|
264
- checkin = Time.at(n[\(aqohai_time\(aq]).strftime("%F %R")
265
- rubyver = n[\(aqlanguages\(aq][\(aqruby\(aq][\(aqversion\(aq]
266
- recipes = n.run_list.expand(_default).recipes.join(", ")
267
- printf "%\-20s %\-12s %\-8s %s\en", checkin, n.name, rubyver, recipes
268
- end
269
- .ft P
270
- .fi
271
- .UNINDENT
272
- .UNINDENT
273
- .sp
274
- and is located in a directory named \fBscripts/\fP, enter:
275
- .INDENT 0.0
276
- .INDENT 3.5
277
- .sp
278
- .nf
279
- .ft C
280
- $ knife exec scripts/status.rb
281
- .ft P
282
- .fi
283
- .UNINDENT
284
- .UNINDENT
285
- .sp
286
- To show the available free memory for all nodes, enter:
287
- .INDENT 0.0
288
- .INDENT 3.5
289
- .sp
290
- .nf
291
- .ft C
292
- $ knife exec \-E \(aqnodes.all {|n| puts "#{n.name} has #{n.memory.total} free memory"}\(aq
293
- .ft P
294
- .fi
295
- .UNINDENT
296
- .UNINDENT
297
- .sp
298
- To list all of the available search indexes, enter:
299
- .INDENT 0.0
300
- .INDENT 3.5
301
- .sp
302
- .nf
303
- .ft C
304
- $ knife exec \-E \(aqputs api.get("search").keys\(aq
305
- .ft P
306
- .fi
307
- .UNINDENT
308
- .UNINDENT
309
- .sp
310
- To query a node for multiple attributes using a Ruby script named \fBsearch_attributes.rb\fP (which looks like):
311
- .INDENT 0.0
312
- .INDENT 3.5
313
- .sp
314
- .nf
315
- .ft C
316
- % cat scripts/search_attributes.rb
317
- query = ARGV[2]
318
- attributes = ARGV[3].split(",")
319
- puts "Your query: #{query}"
320
- puts "Your attributes: #{attributes.join(" ")}"
321
- results = {}
322
- search(:node, query) do |n|
323
- results[n.name] = {}
324
- attributes.each {|a| results[n.name][a] = n[a]}
325
- end
326
-
327
- puts results
328
- exit 0
329
- .ft P
330
- .fi
331
- .UNINDENT
332
- .UNINDENT
333
- .sp
334
- enter:
335
- .INDENT 0.0
336
- .INDENT 3.5
337
- .sp
338
- .nf
339
- .ft C
340
- % knife exec scripts/search_attributes.rb "hostname:test_system" ipaddress,fqdn
341
- .ft P
342
- .fi
343
- .UNINDENT
344
- .UNINDENT
345
- .sp
346
- to return something like:
347
- .INDENT 0.0
348
- .INDENT 3.5
349
- .sp
350
- .nf
351
- .ft C
352
- Your query: hostname:test_system
353
- Your attributes: ipaddress fqdn
354
- {"test_system.example.com"=>{"ipaddress"=>"10.1.1.200", "fqdn"=>"test_system.example.com"}}
355
- .ft P
356
- .fi
357
- .UNINDENT
358
- .UNINDENT
359
- .SH AUTHOR
360
- Chef
361
- .\" Generated by docutils manpage writer.
362
- .
1
+ .\" Man page generated from reStructuredText.
2
+ .
3
+ .TH "KNIFE-EXEC" "1" "Chef 12.0" "" "knife exec"
4
+ .SH NAME
5
+ knife-exec \- The man page for the knife exec subcommand.
6
+ .
7
+ .nr rst2man-indent-level 0
8
+ .
9
+ .de1 rstReportMargin
10
+ \\$1 \\n[an-margin]
11
+ level \\n[rst2man-indent-level]
12
+ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
13
+ -
14
+ \\n[rst2man-indent0]
15
+ \\n[rst2man-indent1]
16
+ \\n[rst2man-indent2]
17
+ ..
18
+ .de1 INDENT
19
+ .\" .rstReportMargin pre:
20
+ . RS \\$1
21
+ . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
22
+ . nr rst2man-indent-level +1
23
+ .\" .rstReportMargin post:
24
+ ..
25
+ .de UNINDENT
26
+ . RE
27
+ .\" indent \\n[an-margin]
28
+ .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
29
+ .nr rst2man-indent-level -1
30
+ .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
31
+ .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
32
+ ..
33
+ .sp
34
+ The \fBknife exec\fP subcommand uses the knife configuration file to execute Ruby scripts in the context of a fully configured chef\-client\&. This subcommand is most often used to run scripts that will only access Chef server one time (or otherwise very infrequently). Use this subcommand any time that an operation does not warrant full usage of the knife subcommand library.
35
+ .sp
36
+ \fBAuthenticated API Requests\fP
37
+ .sp
38
+ The \fBknife exec\fP subcommand can be used to make authenticated API requests to the Chef server using the following methods:
39
+ .TS
40
+ center;
41
+ |l|l|.
42
+ _
43
+ T{
44
+ Method
45
+ T} T{
46
+ Description
47
+ T}
48
+ _
49
+ T{
50
+ \fBapi.delete\fP
51
+ T} T{
52
+ Use to delete an object from the Chef server\&.
53
+ T}
54
+ _
55
+ T{
56
+ \fBapi.get\fP
57
+ T} T{
58
+ Use to get the details of an object on the Chef server\&.
59
+ T}
60
+ _
61
+ T{
62
+ \fBapi.post\fP
63
+ T} T{
64
+ Use to add an object to the Chef server\&.
65
+ T}
66
+ _
67
+ T{
68
+ \fBapi.put\fP
69
+ T} T{
70
+ Use to update an object on the Chef server\&.
71
+ T}
72
+ _
73
+ .TE
74
+ .sp
75
+ These methods are used with the \fB\-E\fP option, which executes that string locally on the workstation using chef\-shell\&. These methods have the following syntax:
76
+ .INDENT 0.0
77
+ .INDENT 3.5
78
+ .sp
79
+ .nf
80
+ .ft C
81
+ $ knife exec \-E \(aqapi.method(/endpoint)\(aq
82
+ .ft P
83
+ .fi
84
+ .UNINDENT
85
+ .UNINDENT
86
+ .sp
87
+ where:
88
+ .INDENT 0.0
89
+ .IP \(bu 2
90
+ \fBapi.method\fP is the corresponding authentication method \-\-\- \fBapi.delete\fP, \fBapi.get\fP, \fBapi.post\fP, or \fBapi.put\fP
91
+ .IP \(bu 2
92
+ \fB/endpoint\fP is an endpoint in the Chef server API
93
+ .UNINDENT
94
+ .sp
95
+ For example, to get the data for a node named "Example_Node":
96
+ .INDENT 0.0
97
+ .INDENT 3.5
98
+ .sp
99
+ .nf
100
+ .ft C
101
+ $ knife exec \-E \(aqputs api.get("/nodes/Example_Node")\(aq
102
+ .ft P
103
+ .fi
104
+ .UNINDENT
105
+ .UNINDENT
106
+ .sp
107
+ and to ensure that the output is visible in the console, add the \fBputs\fP in front of the API authorization request:
108
+ .INDENT 0.0
109
+ .INDENT 3.5
110
+ .sp
111
+ .nf
112
+ .ft C
113
+ $ knife exec \-E \(aqputs api.get("/nodes/Example_Node")\(aq
114
+ .ft P
115
+ .fi
116
+ .UNINDENT
117
+ .UNINDENT
118
+ .sp
119
+ where \fBputs\fP is the shorter version of the \fB$stdout.puts\fP predefined variable in Ruby\&.
120
+ .sp
121
+ The following example shows how to add a client named "IBM305RAMAC" and the \fB/clients\fP endpoint, and then return the private key for that user in the console:
122
+ .INDENT 0.0
123
+ .INDENT 3.5
124
+ .sp
125
+ .nf
126
+ .ft C
127
+ $ client_desc = {
128
+ "name" => "IBM305RAMAC",
129
+ "admin" => false
130
+ }
131
+
132
+ new_client = api.post("/clients", client_desc)
133
+ puts new_client["private_key"]
134
+ .ft P
135
+ .fi
136
+ .UNINDENT
137
+ .UNINDENT
138
+ .sp
139
+ \fBSyntax\fP
140
+ .sp
141
+ This subcommand has the following syntax:
142
+ .INDENT 0.0
143
+ .INDENT 3.5
144
+ .sp
145
+ .nf
146
+ .ft C
147
+ $ knife exec SCRIPT (options)
148
+ .ft P
149
+ .fi
150
+ .UNINDENT
151
+ .UNINDENT
152
+ .sp
153
+ \fBOptions\fP
154
+ .sp
155
+ This subcommand has the following options:
156
+ .INDENT 0.0
157
+ .TP
158
+ .B \fB\-c CONFIG_FILE\fP, \fB\-\-config CONFIG_FILE\fP
159
+ The configuration file to use.
160
+ .TP
161
+ .B \fB\-\-chef\-zero\-port PORT\fP
162
+ The port on which chef\-zero will listen.
163
+ .TP
164
+ .B \fB\-\-[no\-]color\fP
165
+ Use to view colored output.
166
+ .TP
167
+ .B \fB\-d\fP, \fB\-\-disable\-editing\fP
168
+ Use to prevent the $EDITOR from being opened and to accept data as\-is.
169
+ .TP
170
+ .B \fB\-\-defaults\fP
171
+ Use to have knife use the default value instead of asking a user to provide one.
172
+ .TP
173
+ .B \fB\-E CODE\fP, \fB\-\-exec CODE\fP
174
+ A string of code that will be executed.
175
+ .TP
176
+ .B \fB\-e EDITOR\fP, \fB\-\-editor EDITOR\fP
177
+ The $EDITOR that is used for all interactive commands.
178
+ .TP
179
+ .B \fB\-\-environment ENVIRONMENT\fP
180
+ The name of the environment. When this option is added to a command, the command will run only against the named environment.
181
+ .TP
182
+ .B \fB\-F FORMAT\fP, \fB\-\-format FORMAT\fP
183
+ The output format: \fBsummary\fP (default), \fBtext\fP, \fBjson\fP, \fByaml\fP, and \fBpp\fP\&.
184
+ .TP
185
+ .B \fB\-h\fP, \fB\-\-help\fP
186
+ Shows help for the command.
187
+ .TP
188
+ .B \fB\-k KEY\fP, \fB\-\-key KEY\fP
189
+ The private key that knife will use to sign requests made by the API client to the Chef server\&.
190
+ .TP
191
+ .B \fB\-p PATH:PATH\fP, \fB\-\-script\-path PATH:PATH\fP
192
+ A colon\-separated path at which Ruby scripts are located.
193
+ .TP
194
+ .B \fB\-\-print\-after\fP
195
+ Use to show data after a destructive operation.
196
+ .TP
197
+ .B \fB\-s URL\fP, \fB\-\-server\-url URL\fP
198
+ The URL for the Chef server\&.
199
+ .TP
200
+ .B \fB\-u USER\fP, \fB\-\-user USER\fP
201
+ The user name used by knife to sign requests made by the API client to the Chef server\&. Authentication will fail if the user name does not match the private key.
202
+ .TP
203
+ .B \fB\-v\fP, \fB\-\-version\fP
204
+ The version of the chef\-client\&.
205
+ .TP
206
+ .B \fB\-V\fP, \fB\-\-verbose\fP
207
+ Set for more verbose outputs. Use \fB\-VV\fP for maximum verbosity.
208
+ .TP
209
+ .B \fB\-y\fP, \fB\-\-yes\fP
210
+ Use to respond to all confirmation prompts with "Yes". knife will not ask for confirmation.
211
+ .TP
212
+ .B \fB\-z\fP, \fB\-\-local\-mode\fP
213
+ Use to run the chef\-client in local mode. This allows all commands that work against the Chef server to also work against the local chef\-repo\&.
214
+ .UNINDENT
215
+ .sp
216
+ \fBExamples\fP
217
+ .sp
218
+ There are three ways to use \fBknife exec\fP to run Ruby script files. For example:
219
+ .INDENT 0.0
220
+ .INDENT 3.5
221
+ .sp
222
+ .nf
223
+ .ft C
224
+ $ knife exec /path/to/script_file
225
+ .ft P
226
+ .fi
227
+ .UNINDENT
228
+ .UNINDENT
229
+ .sp
230
+ or:
231
+ .INDENT 0.0
232
+ .INDENT 3.5
233
+ .sp
234
+ .nf
235
+ .ft C
236
+ $ knife exec \-E \(aqRUBY CODE\(aq
237
+ .ft P
238
+ .fi
239
+ .UNINDENT
240
+ .UNINDENT
241
+ .sp
242
+ or:
243
+ .INDENT 0.0
244
+ .INDENT 3.5
245
+ .sp
246
+ .nf
247
+ .ft C
248
+ $ knife exec
249
+ RUBY CODE
250
+ ^D
251
+ .ft P
252
+ .fi
253
+ .UNINDENT
254
+ .UNINDENT
255
+ .sp
256
+ To check the status of knife using a Ruby script named \fBstatus.rb\fP (which looks like):
257
+ .INDENT 0.0
258
+ .INDENT 3.5
259
+ .sp
260
+ .nf
261
+ .ft C
262
+ printf "%\-5s %\-12s %\-8s %s\en", "Check In", "Name", "Ruby", "Recipes"
263
+ nodes.all do |n|
264
+ checkin = Time.at(n[\(aqohai_time\(aq]).strftime("%F %R")
265
+ rubyver = n[\(aqlanguages\(aq][\(aqruby\(aq][\(aqversion\(aq]
266
+ recipes = n.run_list.expand(_default).recipes.join(", ")
267
+ printf "%\-20s %\-12s %\-8s %s\en", checkin, n.name, rubyver, recipes
268
+ end
269
+ .ft P
270
+ .fi
271
+ .UNINDENT
272
+ .UNINDENT
273
+ .sp
274
+ and is located in a directory named \fBscripts/\fP, enter:
275
+ .INDENT 0.0
276
+ .INDENT 3.5
277
+ .sp
278
+ .nf
279
+ .ft C
280
+ $ knife exec scripts/status.rb
281
+ .ft P
282
+ .fi
283
+ .UNINDENT
284
+ .UNINDENT
285
+ .sp
286
+ To show the available free memory for all nodes, enter:
287
+ .INDENT 0.0
288
+ .INDENT 3.5
289
+ .sp
290
+ .nf
291
+ .ft C
292
+ $ knife exec \-E \(aqnodes.all {|n| puts "#{n.name} has #{n.memory.total} free memory"}\(aq
293
+ .ft P
294
+ .fi
295
+ .UNINDENT
296
+ .UNINDENT
297
+ .sp
298
+ To list all of the available search indexes, enter:
299
+ .INDENT 0.0
300
+ .INDENT 3.5
301
+ .sp
302
+ .nf
303
+ .ft C
304
+ $ knife exec \-E \(aqputs api.get("search").keys\(aq
305
+ .ft P
306
+ .fi
307
+ .UNINDENT
308
+ .UNINDENT
309
+ .sp
310
+ To query a node for multiple attributes using a Ruby script named \fBsearch_attributes.rb\fP (which looks like):
311
+ .INDENT 0.0
312
+ .INDENT 3.5
313
+ .sp
314
+ .nf
315
+ .ft C
316
+ % cat scripts/search_attributes.rb
317
+ query = ARGV[2]
318
+ attributes = ARGV[3].split(",")
319
+ puts "Your query: #{query}"
320
+ puts "Your attributes: #{attributes.join(" ")}"
321
+ results = {}
322
+ search(:node, query) do |n|
323
+ results[n.name] = {}
324
+ attributes.each {|a| results[n.name][a] = n[a]}
325
+ end
326
+
327
+ puts results
328
+ exit 0
329
+ .ft P
330
+ .fi
331
+ .UNINDENT
332
+ .UNINDENT
333
+ .sp
334
+ enter:
335
+ .INDENT 0.0
336
+ .INDENT 3.5
337
+ .sp
338
+ .nf
339
+ .ft C
340
+ % knife exec scripts/search_attributes.rb "hostname:test_system" ipaddress,fqdn
341
+ .ft P
342
+ .fi
343
+ .UNINDENT
344
+ .UNINDENT
345
+ .sp
346
+ to return something like:
347
+ .INDENT 0.0
348
+ .INDENT 3.5
349
+ .sp
350
+ .nf
351
+ .ft C
352
+ Your query: hostname:test_system
353
+ Your attributes: ipaddress fqdn
354
+ {"test_system.example.com"=>{"ipaddress"=>"10.1.1.200", "fqdn"=>"test_system.example.com"}}
355
+ .ft P
356
+ .fi
357
+ .UNINDENT
358
+ .UNINDENT
359
+ .SH AUTHOR
360
+ Chef
361
+ .\" Generated by docutils manpage writer.
362
+ .