chef 12.18.31-universal-mingw32 → 12.19.33-universal-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (305) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +5 -4
  3. data/README.md +12 -13
  4. data/VERSION +1 -1
  5. data/acceptance/Gemfile +4 -4
  6. data/acceptance/Gemfile.lock +70 -69
  7. data/chef-universal-mingw32.gemspec +2 -3
  8. data/chef.gemspec +6 -6
  9. data/lib/chef/api_client.rb +8 -10
  10. data/lib/chef/api_client_v1.rb +9 -11
  11. data/lib/chef/application/apply.rb +8 -10
  12. data/lib/chef/application/client.rb +1 -1
  13. data/lib/chef/application/exit_code.rb +3 -5
  14. data/lib/chef/application/knife.rb +2 -2
  15. data/lib/chef/application/windows_service.rb +29 -30
  16. data/lib/chef/application/windows_service_manager.rb +1 -1
  17. data/lib/chef/audit/audit_event_proxy.rb +2 -2
  18. data/lib/chef/audit/control_group_data.rb +1 -1
  19. data/lib/chef/chef_class.rb +1 -0
  20. data/lib/chef/chef_fs/chef_fs_data_store.rb +5 -7
  21. data/lib/chef/chef_fs/command_line.rb +15 -16
  22. data/lib/chef/chef_fs/data_handler/client_data_handler.rb +1 -1
  23. data/lib/chef/chef_fs/data_handler/container_data_handler.rb +1 -1
  24. data/lib/chef/chef_fs/data_handler/cookbook_data_handler.rb +1 -1
  25. data/lib/chef/chef_fs/data_handler/data_bag_item_data_handler.rb +1 -1
  26. data/lib/chef/chef_fs/data_handler/environment_data_handler.rb +1 -1
  27. data/lib/chef/chef_fs/data_handler/group_data_handler.rb +1 -1
  28. data/lib/chef/chef_fs/data_handler/node_data_handler.rb +1 -1
  29. data/lib/chef/chef_fs/data_handler/organization_data_handler.rb +1 -1
  30. data/lib/chef/chef_fs/data_handler/role_data_handler.rb +1 -1
  31. data/lib/chef/chef_fs/data_handler/user_data_handler.rb +1 -1
  32. data/lib/chef/chef_fs/file_pattern.rb +2 -2
  33. data/lib/chef/chef_fs/file_system.rb +1 -1
  34. data/lib/chef/chef_fs/file_system/chef_server/cookbook_dir.rb +5 -6
  35. data/lib/chef/chef_fs/file_system/chef_server/cookbook_file.rb +8 -10
  36. data/lib/chef/chef_fs/file_system/chef_server/data_bags_dir.rb +8 -10
  37. data/lib/chef/chef_fs/file_system/chef_server/nodes_dir.rb +10 -12
  38. data/lib/chef/chef_fs/file_system/chef_server/policies_dir.rb +28 -30
  39. data/lib/chef/chef_fs/file_system/chef_server/policy_group_entry.rb +1 -1
  40. data/lib/chef/chef_fs/file_system/chef_server/rest_list_dir.rb +27 -29
  41. data/lib/chef/chef_fs/file_system/chef_server/rest_list_entry.rb +18 -24
  42. data/lib/chef/chef_fs/file_system/memory/memory_file.rb +1 -1
  43. data/lib/chef/chef_fs/file_system/multiplexed_dir.rb +10 -12
  44. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_dir.rb +10 -12
  45. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_entry.rb +9 -13
  46. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_root_dir.rb +2 -0
  47. data/lib/chef/chef_fs/file_system/repository/cookbooks_dir.rb +1 -1
  48. data/lib/chef/chef_fs/file_system/repository/nodes_dir.rb +3 -0
  49. data/lib/chef/chef_fs/parallelizer.rb +9 -11
  50. data/lib/chef/cookbook/cookbook_version_loader.rb +25 -31
  51. data/lib/chef/cookbook/metadata.rb +26 -26
  52. data/lib/chef/cookbook/syntax_check.rb +1 -1
  53. data/lib/chef/cookbook_version.rb +3 -3
  54. data/lib/chef/data_bag.rb +1 -1
  55. data/lib/chef/data_bag_item.rb +3 -3
  56. data/lib/chef/data_collector.rb +3 -4
  57. data/lib/chef/decorator.rb +1 -1
  58. data/lib/chef/deprecated.rb +30 -0
  59. data/lib/chef/dsl/audit.rb +2 -2
  60. data/lib/chef/dsl/declare_resource.rb +1 -1
  61. data/lib/chef/dsl/platform_introspection.rb +29 -31
  62. data/lib/chef/dsl/reboot_pending.rb +1 -1
  63. data/lib/chef/dsl/resources.rb +6 -8
  64. data/lib/chef/encrypted_data_bag_item.rb +2 -2
  65. data/lib/chef/environment.rb +9 -11
  66. data/lib/chef/event_loggers/windows_eventlog.rb +1 -1
  67. data/lib/chef/exceptions.rb +4 -1
  68. data/lib/chef/file_access_control/unix.rb +14 -14
  69. data/lib/chef/file_access_control/windows.rb +1 -1
  70. data/lib/chef/formatters/error_inspectors/api_error_formatting.rb +4 -5
  71. data/lib/chef/formatters/error_mapper.rb +6 -6
  72. data/lib/chef/http/api_versions.rb +50 -0
  73. data/lib/chef/http/validate_content_length.rb +2 -2
  74. data/lib/chef/json_compat.rb +6 -10
  75. data/lib/chef/key.rb +5 -5
  76. data/lib/chef/knife.rb +4 -4
  77. data/lib/chef/knife/cookbook_site_install.rb +2 -2
  78. data/lib/chef/knife/core/cookbook_scm_repo.rb +2 -2
  79. data/lib/chef/knife/core/gem_glob_loader.rb +1 -1
  80. data/lib/chef/knife/core/status_presenter.rb +1 -1
  81. data/lib/chef/knife/core/ui.rb +19 -25
  82. data/lib/chef/knife/data_bag_secret_options.rb +1 -1
  83. data/lib/chef/knife/deps.rb +32 -34
  84. data/lib/chef/knife/help.rb +1 -1
  85. data/lib/chef/knife/list.rb +1 -1
  86. data/lib/chef/knife/search.rb +2 -2
  87. data/lib/chef/knife/ssh.rb +37 -27
  88. data/lib/chef/knife/ssl_check.rb +1 -1
  89. data/lib/chef/knife/user_delete.rb +1 -1
  90. data/lib/chef/mash.rb +1 -1
  91. data/lib/chef/mixin/command.rb +2 -2
  92. data/lib/chef/mixin/create_path.rb +3 -5
  93. data/lib/chef/mixin/from_file.rb +2 -2
  94. data/lib/chef/mixin/get_source_from_package.rb +2 -2
  95. data/lib/chef/mixin/notifying_block.rb +7 -9
  96. data/lib/chef/mixin/params_validate.rb +3 -3
  97. data/lib/chef/mixin/securable.rb +1 -1
  98. data/lib/chef/mixin/shell_out.rb +23 -3
  99. data/lib/chef/mixin/unformatter.rb +2 -2
  100. data/lib/chef/mixin/uris.rb +4 -6
  101. data/lib/chef/mixin/versioned_api.rb +69 -0
  102. data/lib/chef/mixin/which.rb +25 -8
  103. data/lib/chef/mixin/windows_architecture_helper.rb +2 -2
  104. data/lib/chef/mixin/xml_escape.rb +3 -5
  105. data/lib/chef/monkey_patches/webrick-utils.rb +1 -1
  106. data/lib/chef/node.rb +8 -8
  107. data/lib/chef/node/attribute.rb +4 -4
  108. data/lib/chef/node/common_api.rb +5 -7
  109. data/lib/chef/org.rb +10 -12
  110. data/lib/chef/platform/provider_mapping.rb +7 -7
  111. data/lib/chef/platform/query_helpers.rb +1 -1
  112. data/lib/chef/policy_builder/policyfile.rb +1 -0
  113. data/lib/chef/property.rb +31 -0
  114. data/lib/chef/provider/batch.rb +1 -1
  115. data/lib/chef/provider/breakpoint.rb +1 -1
  116. data/lib/chef/provider/cookbook_file.rb +3 -3
  117. data/lib/chef/provider/cron.rb +38 -38
  118. data/lib/chef/provider/deploy.rb +81 -81
  119. data/lib/chef/provider/deploy/revision.rb +3 -5
  120. data/lib/chef/provider/directory.rb +32 -32
  121. data/lib/chef/provider/dsc_resource.rb +22 -6
  122. data/lib/chef/provider/env.rb +28 -28
  123. data/lib/chef/provider/env/windows.rb +1 -1
  124. data/lib/chef/provider/erl_call.rb +13 -13
  125. data/lib/chef/provider/execute.rb +5 -2
  126. data/lib/chef/provider/file.rb +49 -51
  127. data/lib/chef/provider/git.rb +55 -55
  128. data/lib/chef/provider/http_request.rb +36 -36
  129. data/lib/chef/provider/launchd.rb +2 -2
  130. data/lib/chef/provider/link.rb +50 -50
  131. data/lib/chef/provider/log.rb +2 -2
  132. data/lib/chef/provider/mdadm.rb +25 -25
  133. data/lib/chef/provider/mount/aix.rb +2 -2
  134. data/lib/chef/provider/mount/mount.rb +2 -2
  135. data/lib/chef/provider/ohai.rb +1 -1
  136. data/lib/chef/provider/osx_profile.rb +23 -23
  137. data/lib/chef/provider/package.rb +74 -56
  138. data/lib/chef/provider/package/aix.rb +55 -52
  139. data/lib/chef/provider/package/apt.rb +15 -13
  140. data/lib/chef/provider/package/cab.rb +49 -20
  141. data/lib/chef/provider/package/chocolatey.rb +9 -10
  142. data/lib/chef/provider/package/dnf.rb +20 -18
  143. data/lib/chef/provider/package/dnf/dnf_helper.py +1 -1
  144. data/lib/chef/provider/package/dnf/python_helper.rb +63 -26
  145. data/lib/chef/provider/package/dnf/version.rb +1 -1
  146. data/lib/chef/provider/package/dpkg.rb +8 -9
  147. data/lib/chef/provider/package/easy_install.rb +22 -22
  148. data/lib/chef/provider/package/freebsd/base.rb +10 -10
  149. data/lib/chef/provider/package/freebsd/pkg.rb +15 -15
  150. data/lib/chef/provider/package/freebsd/pkgng.rb +13 -15
  151. data/lib/chef/provider/package/freebsd/port.rb +7 -7
  152. data/lib/chef/provider/package/homebrew.rb +11 -10
  153. data/lib/chef/provider/package/ips.rb +18 -23
  154. data/lib/chef/provider/package/macports.rb +23 -23
  155. data/lib/chef/provider/package/msu.rb +11 -11
  156. data/lib/chef/provider/package/openbsd.rb +25 -22
  157. data/lib/chef/provider/package/pacman.rb +16 -16
  158. data/lib/chef/provider/package/paludis.rb +26 -27
  159. data/lib/chef/provider/package/portage.rb +22 -22
  160. data/lib/chef/provider/package/powershell.rb +17 -17
  161. data/lib/chef/provider/package/rpm.rb +25 -25
  162. data/lib/chef/provider/package/rubygems.rb +60 -60
  163. data/lib/chef/provider/package/smartos.rb +16 -16
  164. data/lib/chef/provider/package/solaris.rb +44 -44
  165. data/lib/chef/provider/package/windows.rb +3 -3
  166. data/lib/chef/provider/package/windows/exe.rb +6 -6
  167. data/lib/chef/provider/package/windows/msi.rb +6 -6
  168. data/lib/chef/provider/package/yum.rb +318 -268
  169. data/lib/chef/provider/package/yum/rpm_utils.rb +34 -34
  170. data/lib/chef/provider/package/yum/yum_cache.rb +12 -12
  171. data/lib/chef/provider/package/zypper.rb +11 -11
  172. data/lib/chef/provider/powershell_script.rb +15 -7
  173. data/lib/chef/provider/reboot.rb +10 -10
  174. data/lib/chef/provider/registry_key.rb +39 -39
  175. data/lib/chef/provider/remote_directory.rb +3 -3
  176. data/lib/chef/provider/remote_file.rb +3 -3
  177. data/lib/chef/provider/route.rb +1 -1
  178. data/lib/chef/provider/ruby_block.rb +3 -3
  179. data/lib/chef/provider/script.rb +42 -6
  180. data/lib/chef/provider/service.rb +49 -49
  181. data/lib/chef/provider/service/solaris.rb +1 -1
  182. data/lib/chef/provider/service/systemd.rb +1 -1
  183. data/lib/chef/provider/subversion.rb +39 -39
  184. data/lib/chef/provider/systemd_unit.rb +2 -0
  185. data/lib/chef/provider/template.rb +3 -3
  186. data/lib/chef/provider/user.rb +42 -42
  187. data/lib/chef/provider/whyrun_safe_ruby_block.rb +4 -4
  188. data/lib/chef/resource.rb +27 -16
  189. data/lib/chef/resource/apt_repository.rb +0 -1
  190. data/lib/chef/resource/chef_gem.rb +1 -1
  191. data/lib/chef/resource/dnf_package.rb +6 -3
  192. data/lib/chef/resource/dsc_resource.rb +9 -1
  193. data/lib/chef/resource/execute.rb +70 -6
  194. data/lib/chef/resource/file/verification/systemd_unit.rb +67 -0
  195. data/lib/chef/resource/freebsd_package.rb +1 -1
  196. data/lib/chef/resource/gem_package.rb +1 -1
  197. data/lib/chef/resource/launchd.rb +13 -1
  198. data/lib/chef/resource/package.rb +2 -2
  199. data/lib/chef/resource/registry_key.rb +1 -1
  200. data/lib/chef/resource/yum_package.rb +12 -3
  201. data/lib/chef/resource/yum_repository.rb +0 -1
  202. data/lib/chef/resource_collection/resource_collection_serialization.rb +3 -3
  203. data/lib/chef/resource_collection/resource_set.rb +2 -2
  204. data/lib/chef/resource_reporter.rb +1 -1
  205. data/lib/chef/run_context.rb +3 -3
  206. data/lib/chef/run_list/run_list_item.rb +1 -1
  207. data/lib/chef/run_list/versioned_recipe_list.rb +6 -6
  208. data/lib/chef/server_api.rb +2 -0
  209. data/lib/chef/server_api_versions.rb +40 -0
  210. data/lib/chef/shell.rb +1 -1
  211. data/lib/chef/shell/ext.rb +3 -3
  212. data/lib/chef/shell/shell_session.rb +1 -1
  213. data/lib/chef/user.rb +9 -11
  214. data/lib/chef/user_v1.rb +9 -11
  215. data/lib/chef/util/diff.rb +1 -1
  216. data/lib/chef/util/dsc/lcm_output_parser.rb +1 -1
  217. data/lib/chef/util/selinux.rb +1 -1
  218. data/lib/chef/util/windows/net_group.rb +18 -30
  219. data/lib/chef/util/windows/net_use.rb +7 -11
  220. data/lib/chef/util/windows/net_user.rb +11 -17
  221. data/lib/chef/util/windows/volume.rb +9 -15
  222. data/lib/chef/version.rb +1 -1
  223. data/lib/chef/version_class.rb +1 -1
  224. data/lib/chef/win32/api.rb +4 -6
  225. data/lib/chef/win32/api/file.rb +25 -31
  226. data/lib/chef/win32/api/installer.rb +2 -2
  227. data/lib/chef/win32/file.rb +4 -6
  228. data/lib/chef/win32/registry.rb +9 -9
  229. data/lib/chef/win32/security.rb +2 -2
  230. data/lib/chef/win32/security/acl.rb +2 -2
  231. data/lib/chef/win32/unicode.rb +2 -2
  232. data/lib/chef/win32/version.rb +1 -1
  233. data/spec/data/prefer_metadata_json/metadata.json +51 -0
  234. data/spec/data/prefer_metadata_json/metadata.rb +6 -0
  235. data/spec/data/prefer_metadata_json/recipes/default.rb +0 -0
  236. data/spec/functional/knife/ssh_spec.rb +5 -5
  237. data/spec/functional/resource/batch_spec.rb +5 -1
  238. data/spec/functional/resource/dsc_script_spec.rb +2 -4
  239. data/spec/functional/resource/execute_spec.rb +17 -0
  240. data/spec/functional/resource/user/dscl_spec.rb +2 -4
  241. data/spec/integration/client/client_spec.rb +33 -0
  242. data/spec/integration/recipes/recipe_dsl_spec.rb +58 -58
  243. data/spec/spec_helper.rb +4 -0
  244. data/spec/support/chef_helpers.rb +5 -7
  245. data/spec/support/platform_helpers.rb +6 -0
  246. data/spec/support/platforms/prof/gc.rb +4 -6
  247. data/spec/support/shared/context/client.rb +1 -1
  248. data/spec/support/shared/functional/execute_resource.rb +150 -0
  249. data/spec/support/shared/functional/windows_script.rb +74 -4
  250. data/spec/support/shared/unit/execute_resource.rb +37 -0
  251. data/spec/support/shared/unit/provider/file.rb +10 -0
  252. data/spec/unit/cookbook/cookbook_version_loader_spec.rb +9 -0
  253. data/spec/unit/cookbook/syntax_check_spec.rb +8 -2
  254. data/spec/unit/http/api_versions_spec.rb +69 -0
  255. data/spec/unit/knife/ssh_spec.rb +34 -36
  256. data/spec/unit/mixin/versioned_api_spec.rb +107 -0
  257. data/spec/unit/mixin/which.rb +160 -0
  258. data/spec/unit/platform_spec.rb +28 -1
  259. data/spec/unit/provider/deploy_spec.rb +1 -1
  260. data/spec/unit/provider/directory_spec.rb +10 -0
  261. data/spec/unit/provider/dsc_resource_spec.rb +175 -0
  262. data/spec/unit/provider/execute_spec.rb +0 -1
  263. data/spec/unit/provider/launchd_spec.rb +2 -2
  264. data/spec/unit/provider/package/aix_spec.rb +22 -22
  265. data/spec/unit/provider/package/apt_spec.rb +27 -27
  266. data/spec/unit/provider/package/cab_spec.rb +59 -5
  267. data/spec/unit/provider/package/dnf/python_helper_spec.rb +29 -0
  268. data/spec/unit/provider/package/dpkg_spec.rb +16 -16
  269. data/spec/unit/provider/package/easy_install_spec.rb +18 -18
  270. data/spec/unit/provider/package/freebsd/pkg_spec.rb +15 -15
  271. data/spec/unit/provider/package/freebsd/pkgng_spec.rb +9 -9
  272. data/spec/unit/provider/package/freebsd/port_spec.rb +9 -9
  273. data/spec/unit/provider/package/homebrew_spec.rb +9 -9
  274. data/spec/unit/provider/package/ips_spec.rb +37 -31
  275. data/spec/unit/provider/package/macports_spec.rb +10 -10
  276. data/spec/unit/provider/package/openbsd_spec.rb +10 -10
  277. data/spec/unit/provider/package/pacman_spec.rb +6 -6
  278. data/spec/unit/provider/package/paludis_spec.rb +7 -7
  279. data/spec/unit/provider/package/portage_spec.rb +6 -7
  280. data/spec/unit/provider/package/rpm_spec.rb +23 -23
  281. data/spec/unit/provider/package/rubygems_spec.rb +38 -38
  282. data/spec/unit/provider/package/solaris_spec.rb +15 -15
  283. data/spec/unit/provider/package/windows_spec.rb +2 -1
  284. data/spec/unit/provider/package/yum_spec.rb +51 -43
  285. data/spec/unit/provider/package/zypper_spec.rb +34 -34
  286. data/spec/unit/provider/package_spec.rb +8 -0
  287. data/spec/unit/provider/remote_file/sftp_spec.rb +3 -3
  288. data/spec/unit/provider/route_spec.rb +7 -1
  289. data/spec/unit/provider/script_spec.rb +49 -6
  290. data/spec/unit/resource/dsc_resource_spec.rb +6 -0
  291. data/spec/unit/resource/execute_spec.rb +214 -0
  292. data/spec/unit/resource/file/verification/systemd_unit_spec.rb +103 -0
  293. data/spec/unit/resource/freebsd_package_spec.rb +2 -2
  294. data/spec/unit/resource/package_spec.rb +5 -0
  295. data/spec/unit/resource/yum_package_spec.rb +42 -1
  296. data/spec/unit/resource_reporter_spec.rb +1 -1
  297. data/spec/unit/resource_spec.rb +18 -0
  298. data/spec/unit/server_api_versions_spec.rb +44 -0
  299. data/spec/unit/util/selinux_spec.rb +3 -14
  300. data/spec/unit/win32/error_spec.rb +67 -0
  301. data/spec/unit/win32/security_spec.rb +66 -0
  302. data/tasks/changelog.rb +1 -1
  303. data/tasks/dependencies.rb +20 -4
  304. metadata +39 -18
  305. data/lib/chef/monkey_patches/net-ssh-multi.rb +0 -141
@@ -190,7 +190,7 @@ class Chef
190
190
  if inflate
191
191
  response = Hash.new
192
192
  Chef::Search::Query.new.search(:client) do |n|
193
- n = self.from_hash(n) if n.instance_of?(Hash)
193
+ n = from_hash(n) if n.instance_of?(Hash)
194
194
  response[n.name] = n
195
195
  end
196
196
  response
@@ -212,15 +212,13 @@ class Chef
212
212
 
213
213
  # Save this client via the REST API, returns a hash including the private key
214
214
  def save
215
- begin
216
- update
217
- rescue Net::HTTPServerException => e
218
- # If that fails, go ahead and try and update it
219
- if e.response.code == "404"
220
- create
221
- else
222
- raise e
223
- end
215
+ update
216
+ rescue Net::HTTPServerException => e
217
+ # If that fails, go ahead and try and update it
218
+ if e.response.code == "404"
219
+ create
220
+ else
221
+ raise e
224
222
  end
225
223
  end
226
224
 
@@ -313,7 +311,7 @@ class Chef
313
311
 
314
312
  new_client = chef_rest_v0.post("clients", payload)
315
313
  end
316
- Chef::ApiClientV1.from_hash(self.to_hash.merge(new_client))
314
+ Chef::ApiClientV1.from_hash(to_hash.merge(new_client))
317
315
  end
318
316
 
319
317
  # As a string
@@ -200,16 +200,14 @@ class Chef::Application::Apply < Chef::Application
200
200
  end
201
201
 
202
202
  def run_application
203
- begin
204
- parse_options
205
- run_chef_recipe
206
- Chef::Application.exit! "Exiting", 0
207
- rescue SystemExit
208
- raise
209
- rescue Exception => e
210
- Chef::Application.debug_stacktrace(e)
211
- Chef::Application.fatal!("#{e.class}: #{e.message}", e)
212
- end
203
+ parse_options
204
+ run_chef_recipe
205
+ Chef::Application.exit! "Exiting", 0
206
+ rescue SystemExit
207
+ raise
208
+ rescue Exception => e
209
+ Chef::Application.debug_stacktrace(e)
210
+ Chef::Application.fatal!("#{e.class}: #{e.message}", e)
213
211
  end
214
212
 
215
213
  # Get this party started
@@ -289,7 +289,7 @@ class Chef::Application::Client < Chef::Application
289
289
  :boolean => true
290
290
 
291
291
  option :fips,
292
- :long => "--fips",
292
+ :long => "--[no-]fips",
293
293
  :description => "Enable fips mode",
294
294
  :boolean => true
295
295
 
@@ -198,12 +198,10 @@ class Chef
198
198
  end
199
199
 
200
200
  def notify_on_deprecation(message)
201
- begin
202
- Chef.deprecated(:exit_code, message)
203
- rescue Chef::Exceptions::DeprecatedFeatureError
201
+ Chef.deprecated(:exit_code, message)
202
+ rescue Chef::Exceptions::DeprecatedFeatureError
204
203
  # Have to rescue this, otherwise this unhandled error preempts
205
204
  # the current exit code assignment.
206
- end
207
205
  end
208
206
 
209
207
  def deprecation_warning
@@ -222,7 +220,7 @@ class Chef
222
220
 
223
221
  def default_exit_code
224
222
  if normalization_disabled? || normalization_not_configured?
225
- return DEPRECATED_RFC_062_EXIT_CODES[:DEPRECATED_FAILURE]
223
+ DEPRECATED_RFC_062_EXIT_CODES[:DEPRECATED_FAILURE]
226
224
  else
227
225
  VALID_RFC_062_EXIT_CODES[:GENERIC_FAILURE]
228
226
  end
@@ -203,11 +203,11 @@ class Chef::Application::Knife < Chef::Application
203
203
  Chef::Log.error(fatal_message) if fatal_message
204
204
 
205
205
  begin
206
- self.parse_options
206
+ parse_options
207
207
  rescue OptionParser::InvalidOption => e
208
208
  puts "#{e}\n"
209
209
  end
210
- puts self.opt_parser
210
+ puts opt_parser
211
211
  puts
212
212
  Chef::Knife.list_commands
213
213
  exit exitcode
@@ -183,39 +183,38 @@ class Chef
183
183
  # The chef client will be started in a new process. We have used shell_out to start the chef-client.
184
184
  # The log_location and config_file of the parent process is passed to the new chef-client process.
185
185
  # We need to add the --no-fork, as by default it is set to fork=true.
186
- begin
187
- Chef::Log.info "Starting chef-client in a new process"
188
- # Pass config params to the new process
189
- config_params = " --no-fork"
190
- config_params += " -c #{Chef::Config[:config_file]}" unless Chef::Config[:config_file].nil?
191
- # log_location might be an event logger and if so we cannot pass as a command argument
192
- # but shed no tears! If the logger is an event logger, it must have been configured
193
- # as such in the config file and chef-client will use that when no arg is passed here
194
- config_params += " -L #{resolve_log_location}" if resolve_log_location.is_a?(String)
195
-
196
- # Starts a new process and waits till the process exits
197
-
198
- result = shell_out(
199
- "chef-client.bat #{config_params}",
200
- :timeout => Chef::Config[:windows_service][:watchdog_timeout],
201
- :logger => Chef::Log
202
- )
203
- Chef::Log.debug "#{result.stdout}"
204
- Chef::Log.debug "#{result.stderr}"
205
- rescue Mixlib::ShellOut::CommandTimeout => e
206
- Chef::Log.error "chef-client timed out\n(#{e})"
207
- Chef::Log.error(<<-EOF)
186
+
187
+ Chef::Log.info "Starting chef-client in a new process"
188
+ # Pass config params to the new process
189
+ config_params = " --no-fork"
190
+ config_params += " -c #{Chef::Config[:config_file]}" unless Chef::Config[:config_file].nil?
191
+ # log_location might be an event logger and if so we cannot pass as a command argument
192
+ # but shed no tears! If the logger is an event logger, it must have been configured
193
+ # as such in the config file and chef-client will use that when no arg is passed here
194
+ config_params += " -L #{resolve_log_location}" if resolve_log_location.is_a?(String)
195
+
196
+ # Starts a new process and waits till the process exits
197
+
198
+ result = shell_out(
199
+ "chef-client.bat #{config_params}",
200
+ :timeout => Chef::Config[:windows_service][:watchdog_timeout],
201
+ :logger => Chef::Log
202
+ )
203
+ Chef::Log.debug "#{result.stdout}"
204
+ Chef::Log.debug "#{result.stderr}"
205
+ rescue Mixlib::ShellOut::CommandTimeout => e
206
+ Chef::Log.error "chef-client timed out\n(#{e})"
207
+ Chef::Log.error(<<-EOF)
208
208
  Your chef-client run timed out. You can increase the time chef-client is given
209
209
  to complete by configuring windows_service.watchdog_timeout in your client.rb.
210
210
  EOF
211
- rescue Mixlib::ShellOut::ShellCommandFailed => e
212
- Chef::Log.warn "Not able to start chef-client in new process (#{e})"
213
- rescue => e
214
- Chef::Log.error e
215
- ensure
216
- # Once process exits, we log the current process' pid
217
- Chef::Log.info "Child process exited (pid: #{Process.pid})"
218
- end
211
+ rescue Mixlib::ShellOut::ShellCommandFailed => e
212
+ Chef::Log.warn "Not able to start chef-client in new process (#{e})"
213
+ rescue => e
214
+ Chef::Log.error e
215
+ ensure
216
+ # Once process exits, we log the current process' pid
217
+ Chef::Log.info "Child process exited (pid: #{Process.pid})"
219
218
  end
220
219
 
221
220
  def apply_config(config_file_path)
@@ -168,7 +168,7 @@ class Chef
168
168
  PAUSED = "paused"
169
169
 
170
170
  def service_exists?
171
- return ::Win32::Service.exists?(@service_name)
171
+ ::Win32::Service.exists?(@service_name)
172
172
  end
173
173
 
174
174
  def take_action(action = nil, desired_state = nil)
@@ -78,14 +78,14 @@ class Chef
78
78
  # We know all of our examples each live in a top-level `control_group` block - get this name now
79
79
  outermost_group_desc = describe_groups.shift
80
80
 
81
- return outermost_group_desc, {
81
+ [outermost_group_desc, {
82
82
  :name => example.description,
83
83
  :desc => example.full_description,
84
84
  :resource_type => resource_type,
85
85
  :resource_name => resource_name,
86
86
  :context => describe_groups,
87
87
  :line_number => example.metadata[:line_number],
88
- }
88
+ }]
89
89
  end
90
90
 
91
91
  end
@@ -118,7 +118,7 @@ class Chef
118
118
 
119
119
  def initialize(control_data = {})
120
120
  control_data.each do |k, v|
121
- self.instance_variable_set("@#{k}", v)
121
+ instance_variable_set("@#{k}", v)
122
122
  end
123
123
  end
124
124
 
@@ -30,6 +30,7 @@ require "chef/platform/provider_priority_map"
30
30
  require "chef/platform/resource_priority_map"
31
31
  require "chef/platform/provider_handler_map"
32
32
  require "chef/platform/resource_handler_map"
33
+ require "chef/deprecated"
33
34
  require "chef/event_dispatch/dsl"
34
35
  require "chef/deprecated"
35
36
 
@@ -611,7 +611,7 @@ class Chef
611
611
  private
612
612
 
613
613
  def use_memory_store?(path)
614
- return path[0] == "sandboxes" || path[0] == "file_store" && path[1] == "checksums" || path == %w{environments _default}
614
+ path[0] == "sandboxes" || path[0] == "file_store" && path[1] == "checksums" || path == %w{environments _default}
615
615
  end
616
616
 
617
617
  def write_cookbook(path, data, *options)
@@ -779,15 +779,13 @@ class Chef
779
779
  end
780
780
 
781
781
  def path_always_exists?(path)
782
- return path.length == 1 && BASE_DIRNAMES.include?(path[0])
782
+ path.length == 1 && BASE_DIRNAMES.include?(path[0])
783
783
  end
784
784
 
785
785
  def with_entry(path)
786
- begin
787
- yield Chef::ChefFS::FileSystem.resolve_path(chef_fs, to_chef_fs_path(path))
788
- rescue Chef::ChefFS::FileSystem::NotFoundError => e
789
- raise ChefZero::DataStore::DataNotFoundError.new(to_zero_path(e.entry), e)
790
- end
786
+ yield Chef::ChefFS::FileSystem.resolve_path(chef_fs, to_chef_fs_path(path))
787
+ rescue Chef::ChefFS::FileSystem::NotFoundError => e
788
+ raise ChefZero::DataStore::DataNotFoundError.new(to_zero_path(e.entry), e)
791
789
  end
792
790
 
793
791
  def with_parent_dir(path, *options)
@@ -266,26 +266,25 @@ class Chef
266
266
  def diff_text(old_path, new_path, old_value, new_value)
267
267
  # Copy to tempfiles before diffing
268
268
  # TODO don't copy things that are already in files! Or find an in-memory diff algorithm
269
- begin
270
- new_tempfile = Tempfile.new("new")
271
- new_tempfile.write(new_value)
272
- new_tempfile.close
273
269
 
274
- begin
275
- old_tempfile = Tempfile.new("old")
276
- old_tempfile.write(old_value)
277
- old_tempfile.close
270
+ new_tempfile = Tempfile.new("new")
271
+ new_tempfile.write(new_value)
272
+ new_tempfile.close
278
273
 
279
- result = Chef::Util::Diff.new.udiff(old_tempfile.path, new_tempfile.path)
280
- result = result.gsub(/^--- #{old_tempfile.path}/, "--- #{old_path}")
281
- result = result.gsub(/^\+\+\+ #{new_tempfile.path}/, "+++ #{new_path}")
282
- result
283
- ensure
284
- old_tempfile.close!
285
- end
274
+ begin
275
+ old_tempfile = Tempfile.new("old")
276
+ old_tempfile.write(old_value)
277
+ old_tempfile.close
278
+
279
+ result = Chef::Util::Diff.new.udiff(old_tempfile.path, new_tempfile.path)
280
+ result = result.gsub(/^--- #{old_tempfile.path}/, "--- #{old_path}")
281
+ result = result.gsub(/^\+\+\+ #{new_tempfile.path}/, "+++ #{new_path}")
282
+ result
286
283
  ensure
287
- new_tempfile.close!
284
+ old_tempfile.close!
288
285
  end
286
+ ensure
287
+ new_tempfile.close!
289
288
  end
290
289
  end
291
290
  end
@@ -25,7 +25,7 @@ class Chef
25
25
  end
26
26
 
27
27
  def preserve_key?(key)
28
- return key == "name"
28
+ key == "name"
29
29
  end
30
30
 
31
31
  def chef_class
@@ -12,7 +12,7 @@ class Chef
12
12
  end
13
13
 
14
14
  def preserve_key?(key)
15
- return key == "containername"
15
+ key == "containername"
16
16
  end
17
17
 
18
18
  # Verify that the JSON hash for this type has a key that matches its name.
@@ -24,7 +24,7 @@ class Chef
24
24
  end
25
25
 
26
26
  def preserve_key?(key)
27
- return key == "cookbook_name" || key == "version"
27
+ key == "cookbook_name" || key == "version"
28
28
  end
29
29
 
30
30
  def chef_class
@@ -35,7 +35,7 @@ class Chef
35
35
  end
36
36
 
37
37
  def preserve_key?(key)
38
- return key == "id"
38
+ key == "id"
39
39
  end
40
40
 
41
41
  def chef_class
@@ -18,7 +18,7 @@ class Chef
18
18
  end
19
19
 
20
20
  def preserve_key?(key)
21
- return key == "name"
21
+ key == "name"
22
22
  end
23
23
 
24
24
  def chef_class
@@ -41,7 +41,7 @@ class Chef
41
41
  end
42
42
 
43
43
  def preserve_key?(key)
44
- return key == "name"
44
+ key == "name"
45
45
  end
46
46
 
47
47
  def chef_class
@@ -22,7 +22,7 @@ class Chef
22
22
  end
23
23
 
24
24
  def preserve_key?(key)
25
- return key == "name"
25
+ key == "name"
26
26
  end
27
27
 
28
28
  def chef_class
@@ -16,7 +16,7 @@ class Chef
16
16
  end
17
17
 
18
18
  def preserve_key?(key)
19
- return key == "name"
19
+ key == "name"
20
20
  end
21
21
 
22
22
  # Verify that the JSON hash for this type has a key that matches its name.
@@ -24,7 +24,7 @@ class Chef
24
24
  end
25
25
 
26
26
  def preserve_key?(key)
27
- return key == "name"
27
+ key == "name"
28
28
  end
29
29
 
30
30
  def chef_class
@@ -19,7 +19,7 @@ class Chef
19
19
  end
20
20
 
21
21
  def preserve_key?(key)
22
- return key == "name"
22
+ key == "name"
23
23
  end
24
24
 
25
25
  # There is no chef_class for users, nor does to_ruby work.
@@ -84,7 +84,7 @@ class Chef
84
84
  # Otherwise, it's possible we could match: the path matches to this point, and the pattern is longer than the path.
85
85
  # TODO There is one edge case where the double star comes after some characters like abc**def--we could check whether the next
86
86
  # bit of path starts with abc in that case.
87
- return true
87
+ true
88
88
  end
89
89
 
90
90
  # Returns the immediate child of a path that would be matched
@@ -114,7 +114,7 @@ class Chef
114
114
  path = path[1, path.length - 1] if Chef::ChefFS::PathUtils.is_absolute?(path)
115
115
  dirs_in_path = Chef::ChefFS::PathUtils.split(path).length
116
116
  return nil if exact_parts.length <= dirs_in_path
117
- return exact_parts[dirs_in_path]
117
+ exact_parts[dirs_in_path]
118
118
  end
119
119
 
120
120
  # If this pattern represents an exact path, returns the exact path.
@@ -419,7 +419,7 @@ class Chef
419
419
  ui.output "Created #{parent_path}" if ui
420
420
  end
421
421
  end
422
- return parent
422
+ parent
423
423
  end
424
424
 
425
425
  def parallel_do(enum, options = {}, &block)
@@ -73,17 +73,16 @@ class Chef
73
73
  # Since we're ignoring the rules and doing a network request here,
74
74
  # we need to make sure we don't rethrow the exception. (child(name)
75
75
  # is not supposed to fail.)
76
- begin
77
- children.find { |child| child.name == name }
78
- rescue Chef::ChefFS::FileSystem::NotFoundError
79
- nil
80
- end
76
+
77
+ children.find { |child| child.name == name }
78
+ rescue Chef::ChefFS::FileSystem::NotFoundError
79
+ nil
81
80
  end
82
81
 
83
82
  def can_have_child?(name, is_dir)
84
83
  # A cookbook's root may not have directories unless they are segment directories
85
84
  return name != "root_files" && COOKBOOK_SEGMENT_INFO.keys.include?(name.to_sym) if is_dir
86
- return true
85
+ true
87
86
  end
88
87
 
89
88
  def children