chef 16.3.45-universal-mingw32 → 16.4.35-universal-mingw32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (199) hide show
  1. checksums.yaml +4 -4
  2. data/chef-universal-mingw32.gemspec +0 -1
  3. data/lib/chef/action_collection.rb +4 -0
  4. data/lib/chef/api_client/registration.rb +2 -2
  5. data/lib/chef/application.rb +1 -1
  6. data/lib/chef/application/apply.rb +5 -5
  7. data/lib/chef/application/windows_service.rb +27 -27
  8. data/lib/chef/chef_class.rb +0 -1
  9. data/lib/chef/chef_fs/chef_fs_data_store.rb +54 -54
  10. data/lib/chef/chef_fs/file_system/chef_server/acl_entry.rb +10 -10
  11. data/lib/chef/chef_fs/file_system/chef_server/organization_invites_entry.rb +8 -8
  12. data/lib/chef/chef_fs/file_system/chef_server/organization_members_entry.rb +8 -8
  13. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_dir.rb +2 -2
  14. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_entry.rb +1 -1
  15. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_root_dir.rb +18 -18
  16. data/lib/chef/chef_fs/file_system/repository/directory.rb +1 -1
  17. data/lib/chef/chef_fs/file_system/repository/file_system_entry.rb +1 -1
  18. data/lib/chef/client.rb +11 -11
  19. data/lib/chef/data_collector/run_end_message.rb +11 -1
  20. data/lib/chef/dsl/platform_introspection.rb +8 -8
  21. data/lib/chef/encrypted_data_bag_item/decryptor.rb +1 -1
  22. data/lib/chef/environment.rb +2 -2
  23. data/lib/chef/exceptions.rb +1 -1
  24. data/lib/chef/file_content_management/tempfile.rb +9 -9
  25. data/lib/chef/http.rb +2 -1
  26. data/lib/chef/json_compat.rb +1 -1
  27. data/lib/chef/knife/bootstrap.rb +2 -2
  28. data/lib/chef/knife/cookbook_download.rb +1 -1
  29. data/lib/chef/knife/cookbook_metadata.rb +1 -1
  30. data/lib/chef/knife/cookbook_upload.rb +23 -23
  31. data/lib/chef/knife/core/generic_presenter.rb +1 -1
  32. data/lib/chef/knife/core/hashed_command_loader.rb +2 -2
  33. data/lib/chef/knife/core/windows_bootstrap_context.rb +32 -24
  34. data/lib/chef/knife/delete.rb +15 -15
  35. data/lib/chef/knife/exec.rb +2 -2
  36. data/lib/chef/knife/ssh.rb +6 -6
  37. data/lib/chef/knife/xargs.rb +19 -19
  38. data/lib/chef/knife/yaml_convert.rb +1 -1
  39. data/lib/chef/mixin/checksum.rb +0 -1
  40. data/lib/chef/mixin/deep_merge.rb +35 -6
  41. data/lib/chef/mixin/openssl_helper.rb +3 -1
  42. data/lib/chef/mixin/shell_out.rb +1 -1
  43. data/lib/chef/mixin/which.rb +1 -1
  44. data/lib/chef/monkey_patches/webrick-utils.rb +10 -10
  45. data/lib/chef/node/attribute.rb +2 -4
  46. data/lib/chef/platform/service_helpers.rb +1 -1
  47. data/lib/chef/property.rb +1 -1
  48. data/lib/chef/provider/cron/unix.rb +0 -2
  49. data/lib/chef/provider/git.rb +5 -5
  50. data/lib/chef/provider/group.rb +0 -2
  51. data/lib/chef/provider/group/suse.rb +5 -5
  52. data/lib/chef/provider/ifconfig.rb +1 -4
  53. data/lib/chef/provider/mount.rb +0 -2
  54. data/lib/chef/provider/package.rb +0 -2
  55. data/lib/chef/provider/package/rubygems.rb +1 -1
  56. data/lib/chef/provider/package/snap.rb +1 -1
  57. data/lib/chef/provider/package/windows/registry_uninstall_entry.rb +9 -9
  58. data/lib/chef/provider/powershell_script.rb +21 -5
  59. data/lib/chef/provider/route.rb +1 -1
  60. data/lib/chef/provider/service/arch.rb +1 -1
  61. data/lib/chef/provider/service/debian.rb +1 -1
  62. data/lib/chef/provider/service/gentoo.rb +2 -2
  63. data/lib/chef/provider/service/macosx.rb +2 -2
  64. data/lib/chef/provider/service/openbsd.rb +1 -4
  65. data/lib/chef/provider/service/redhat.rb +2 -2
  66. data/lib/chef/provider/service/upstart.rb +1 -1
  67. data/lib/chef/provider/service/windows.rb +10 -10
  68. data/lib/chef/provider/systemd_unit.rb +0 -2
  69. data/lib/chef/provider/template/content.rb +1 -0
  70. data/lib/chef/provider/user/dscl.rb +2 -2
  71. data/lib/chef/provider/user/mac.rb +9 -9
  72. data/lib/chef/provider/windows_task.rb +0 -3
  73. data/lib/chef/provider/zypper_repository.rb +0 -1
  74. data/lib/chef/providers.rb +0 -1
  75. data/lib/chef/recipe.rb +1 -1
  76. data/lib/chef/resource.rb +6 -10
  77. data/lib/chef/resource/apt_repository.rb +1 -10
  78. data/lib/chef/resource/chef_client_systemd_timer.rb +2 -2
  79. data/lib/chef/resource/chef_vault_secret.rb +13 -13
  80. data/lib/chef/resource/execute.rb +2 -3
  81. data/lib/chef/resource/homebrew_update.rb +2 -2
  82. data/lib/chef/resource/openssl_dhparam.rb +2 -0
  83. data/lib/chef/resource/openssl_ec_private_key.rb +2 -0
  84. data/lib/chef/resource/openssl_ec_public_key.rb +2 -0
  85. data/lib/chef/resource/openssl_rsa_private_key.rb +2 -0
  86. data/lib/chef/resource/openssl_rsa_public_key.rb +2 -0
  87. data/lib/chef/resource/openssl_x509_certificate.rb +24 -21
  88. data/lib/chef/resource/openssl_x509_crl.rb +2 -0
  89. data/lib/chef/resource/openssl_x509_request.rb +23 -20
  90. data/lib/chef/resource/osx_profile.rb +227 -5
  91. data/lib/chef/resource/powershell_package_source.rb +1 -1
  92. data/lib/chef/resource/powershell_script.rb +24 -30
  93. data/lib/chef/resource/sudo.rb +1 -1
  94. data/lib/chef/resource/sysctl.rb +5 -5
  95. data/lib/chef/resource/windows_ad_join.rb +2 -0
  96. data/lib/chef/resource/windows_audit_policy.rb +3 -0
  97. data/lib/chef/resource/windows_auto_run.rb +2 -0
  98. data/lib/chef/resource/windows_certificate.rb +2 -0
  99. data/lib/chef/resource/windows_dfs_folder.rb +2 -0
  100. data/lib/chef/resource/windows_dfs_namespace.rb +2 -0
  101. data/lib/chef/resource/windows_dfs_server.rb +2 -0
  102. data/lib/chef/resource/windows_dns_record.rb +10 -7
  103. data/lib/chef/resource/windows_dns_zone.rb +12 -7
  104. data/lib/chef/resource/windows_feature.rb +2 -0
  105. data/lib/chef/resource/windows_feature_dism.rb +10 -0
  106. data/lib/chef/resource/windows_feature_powershell.rb +14 -2
  107. data/lib/chef/resource/windows_firewall_profile.rb +4 -2
  108. data/lib/chef/resource/windows_firewall_rule.rb +5 -3
  109. data/lib/chef/resource/windows_font.rb +3 -1
  110. data/lib/chef/resource/windows_pagefile.rb +4 -0
  111. data/lib/chef/resource/windows_printer.rb +17 -18
  112. data/lib/chef/resource/windows_printer_port.rb +14 -13
  113. data/lib/chef/resource/windows_security_policy.rb +2 -0
  114. data/lib/chef/resource/windows_share.rb +5 -3
  115. data/lib/chef/resource/windows_shortcut.rb +2 -0
  116. data/lib/chef/resource/windows_uac.rb +2 -0
  117. data/lib/chef/resource/windows_user_privilege.rb +2 -0
  118. data/lib/chef/resource/windows_workgroup.rb +2 -3
  119. data/lib/chef/resource_collection/stepable_iterator.rb +1 -2
  120. data/lib/chef/role.rb +2 -2
  121. data/lib/chef/run_context/cookbook_compiler.rb +20 -20
  122. data/lib/chef/run_status.rb +2 -6
  123. data/lib/chef/shell.rb +1 -1
  124. data/lib/chef/util/backup.rb +1 -1
  125. data/lib/chef/util/diff.rb +11 -11
  126. data/lib/chef/util/powershell/cmdlet.rb +1 -1
  127. data/lib/chef/version.rb +1 -1
  128. data/lib/chef/win32/file.rb +2 -2
  129. data/lib/chef/win32/file/version_info.rb +5 -5
  130. data/spec/data/ssl/chef-rspec.cert +15 -15
  131. data/spec/functional/resource/aixinit_service_spec.rb +7 -7
  132. data/spec/functional/resource/bff_spec.rb +2 -2
  133. data/spec/functional/resource/cookbook_file_spec.rb +1 -1
  134. data/spec/functional/resource/dsc_resource_spec.rb +1 -1
  135. data/spec/functional/resource/dsc_script_spec.rb +0 -1
  136. data/spec/functional/resource/group_spec.rb +6 -6
  137. data/spec/functional/resource/insserv_spec.rb +4 -4
  138. data/spec/functional/resource/link_spec.rb +20 -20
  139. data/spec/functional/resource/powershell_script_spec.rb +4 -4
  140. data/spec/functional/resource/rpm_spec.rb +2 -2
  141. data/spec/functional/resource/windows_certificate_spec.rb +3 -3
  142. data/spec/functional/resource/windows_font_spec.rb +49 -0
  143. data/spec/functional/resource/windows_security_policy_spec.rb +0 -3
  144. data/spec/functional/run_lock_spec.rb +24 -24
  145. data/spec/functional/win32/registry_spec.rb +8 -8
  146. data/spec/functional/win32/service_manager_spec.rb +1 -1
  147. data/spec/integration/knife/common_options_spec.rb +12 -12
  148. data/spec/integration/knife/config_get_profile_spec.rb +69 -68
  149. data/spec/integration/knife/config_get_spec.rb +126 -125
  150. data/spec/integration/knife/config_list_profiles_spec.rb +181 -180
  151. data/spec/integration/knife/config_use_profile_spec.rb +110 -109
  152. data/spec/integration/knife/diff_spec.rb +3 -1
  153. data/spec/integration/knife/download_spec.rb +3 -1
  154. data/spec/integration/knife/serve_spec.rb +5 -5
  155. data/spec/integration/knife/upload_spec.rb +3 -1
  156. data/spec/integration/recipes/lwrp_inline_resources_spec.rb +1 -1
  157. data/spec/spec_helper.rb +6 -6
  158. data/spec/support/platform_helpers.rb +9 -9
  159. data/spec/support/platforms/win32/spec_service.rb +1 -1
  160. data/spec/support/shared/functional/directory_resource.rb +1 -1
  161. data/spec/support/shared/functional/execute_resource.rb +1 -1
  162. data/spec/support/shared/functional/file_resource.rb +20 -20
  163. data/spec/support/shared/functional/win32_service.rb +1 -1
  164. data/spec/support/shared/functional/windows_script.rb +3 -3
  165. data/spec/support/shared/integration/integration_helper.rb +22 -52
  166. data/spec/support/shared/unit/script_resource.rb +6 -20
  167. data/spec/support/shared/unit/windows_script_resource.rb +15 -28
  168. data/spec/unit/data_collector_spec.rb +22 -0
  169. data/spec/unit/environment_spec.rb +7 -7
  170. data/spec/unit/knife/bootstrap_spec.rb +14 -14
  171. data/spec/unit/knife/cookbook_download_spec.rb +4 -4
  172. data/spec/unit/knife/cookbook_metadata_from_file_spec.rb +1 -1
  173. data/spec/unit/knife/core/hashed_command_loader_spec.rb +3 -3
  174. data/spec/unit/knife/core/windows_bootstrap_context_spec.rb +21 -12
  175. data/spec/unit/knife/supermarket_share_spec.rb +1 -1
  176. data/spec/unit/mixin/template_spec.rb +30 -30
  177. data/spec/unit/mixin/windows_architecture_helper_spec.rb +4 -4
  178. data/spec/unit/node/immutable_collections_spec.rb +6 -2
  179. data/spec/unit/node_spec.rb +5 -5
  180. data/spec/unit/provider/powershell_script_spec.rb +11 -4
  181. data/spec/unit/provider/remote_directory_spec.rb +9 -9
  182. data/spec/unit/provider/service/arch_service_spec.rb +3 -2
  183. data/spec/unit/provider/service/debian_service_spec.rb +1 -1
  184. data/spec/unit/provider/service/gentoo_service_spec.rb +7 -7
  185. data/spec/unit/provider/service/macosx_spec.rb +3 -3
  186. data/spec/unit/provider/service/redhat_spec.rb +2 -2
  187. data/spec/unit/provider/service/upstart_service_spec.rb +3 -3
  188. data/spec/unit/provider_resolver_spec.rb +6 -6
  189. data/spec/unit/resource/batch_spec.rb +6 -6
  190. data/spec/unit/resource/execute_spec.rb +113 -118
  191. data/spec/unit/resource/osx_profile_spec.rb +233 -0
  192. data/spec/unit/resource/powershell_script_spec.rb +11 -29
  193. data/spec/unit/resource/script_spec.rb +6 -1
  194. data/spec/unit/resource/windows_feature_powershell_spec.rb +30 -4
  195. data/spec/unit/role_spec.rb +11 -11
  196. data/tasks/rspec.rb +1 -1
  197. metadata +7 -22
  198. data/lib/chef/provider/osx_profile.rb +0 -255
  199. data/spec/unit/provider/osx_profile_spec.rb +0 -255
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: db6729febd434b9728dea685c0d05d36143e1ee0ccd03e9142cf03ce08ea9eef
4
- data.tar.gz: 81380fee7ddf96c867e00acb9d83703fd9f9200561bd816eeaae56a0c2a72770
3
+ metadata.gz: c4da673616b867c807d089df852ea6abaf23ba9aa7a32fd870d9239f3e0fbf94
4
+ data.tar.gz: aeb3df0e050f47ac8c5f0ad49c49bd723448a4bd9e5e848784561c4608baa508
5
5
  SHA512:
6
- metadata.gz: 7ab132c6f2ecb0d419170246976dedbdffba7679acc50ce4b9eeaf25313cd576b64bacaa6bbd324a73fa035dbd83e066d575d3d5d351f11a82b5a479a20fc148
7
- data.tar.gz: 89f5a714181003a970cf70a114534075cd8fcbb8e96636ec62313d09ccba16d1790d81a798ebd725278a88b9768e7fb1507738e663404d6573de48eda03c6c4f
6
+ metadata.gz: 49981a8719e8a94f192298b840b303ea508deb3785bed3b3403351503371a9d644c4fe3e600979023f7a2588b7872987ad45b5c9740c8c9f37884eadb97e3c3b
7
+ data.tar.gz: 43693503bbb0ecca0f1a23d200123e1f07145c7596212cdf40fe48ee77e66ba6bec70dc880eaa15a8a7bbdd967c2160b6b22f513b7c63d4257708076693added
@@ -3,7 +3,6 @@ gemspec = eval(IO.read(File.expand_path("chef.gemspec", __dir__)))
3
3
  gemspec.platform = Gem::Platform.new(%w{universal mingw32})
4
4
 
5
5
  gemspec.add_dependency "win32-api", "~> 1.5.3"
6
- gemspec.add_dependency "win32-dir", "~> 0.5.0"
7
6
  gemspec.add_dependency "win32-event", "~> 0.6.1"
8
7
  # TODO: Relax this pin and make the necessary updaets. The issue originally
9
8
  # leading to this pin has been fixed in 0.6.5.
@@ -44,6 +44,9 @@ class Chef
44
44
  # @return [Exception] The exception that was thrown
45
45
  attr_accessor :exception
46
46
 
47
+ # @return [Hash] JSON-formatted error description from the Chef::Formatters::ErrorMapper
48
+ attr_accessor :error_description
49
+
47
50
  # @return [Numeric] The elapsed time in seconds with machine precision
48
51
  attr_accessor :elapsed_time
49
52
 
@@ -223,6 +226,7 @@ class Chef
223
226
 
224
227
  current_record.status = :failed
225
228
  current_record.exception = exception
229
+ current_record.error_description = Formatters::ErrorMapper.resource_failed(new_resource, action, exception).for_json
226
230
  end
227
231
 
228
232
  # Hook called after an action is completed. This is always called, even if the action fails.
@@ -72,14 +72,14 @@ class Chef
72
72
 
73
73
  def assert_destination_writable!
74
74
  abs_path = File.expand_path(destination)
75
- unless File.exists?(File.dirname(abs_path))
75
+ unless File.exist?(File.dirname(abs_path))
76
76
  begin
77
77
  FileUtils.mkdir_p(File.dirname(abs_path))
78
78
  rescue Errno::EACCES
79
79
  raise Chef::Exceptions::CannotWritePrivateKey, "I can't create the configuration directory at #{File.dirname(abs_path)} - check permissions?"
80
80
  end
81
81
  end
82
- if (File.exists?(abs_path) && !File.writable?(abs_path)) || !File.writable?(File.dirname(abs_path))
82
+ if (File.exist?(abs_path) && !File.writable?(abs_path)) || !File.writable?(File.dirname(abs_path))
83
83
  raise Chef::Exceptions::CannotWritePrivateKey, "I can't write your private key to #{abs_path} - check permissions?"
84
84
  end
85
85
  end
@@ -25,7 +25,7 @@ require_relative "log"
25
25
  require_relative "platform"
26
26
  require "mixlib/cli" unless defined?(Mixlib::CLI)
27
27
  require "tmpdir" unless defined?(Dir.mktmpdir)
28
- require "rbconfig"
28
+ require "rbconfig" unless defined?(RbConfig)
29
29
  require_relative "application/exit_code"
30
30
  require_relative "dist"
31
31
  require "license_acceptance/acceptor"
@@ -213,11 +213,11 @@ class Chef::Application::Apply < Chef::Application
213
213
  end
214
214
  runner = Chef::Runner.new(run_context)
215
215
  catch(:end_client_run_early) do
216
- begin
217
- runner.converge
218
- ensure
219
- @recipe_fh.close
220
- end
216
+
217
+ runner.converge
218
+ ensure
219
+ @recipe_fh.close
220
+
221
221
  end
222
222
  Chef::Platform::Rebooter.reboot_if_needed!(runner)
223
223
  end
@@ -78,33 +78,33 @@ class Chef
78
78
  while running?
79
79
  # Grab the service_action_mutex to make a chef-client run
80
80
  @service_action_mutex.synchronize do
81
- begin
82
- Chef::Log.info("Next #{Chef::Dist::CLIENT} run will happen in #{timeout} seconds")
83
- @service_signal.wait(@service_action_mutex, timeout)
84
-
85
- # Continue only if service is RUNNING
86
- next if state != RUNNING
87
-
88
- # Reconfigure each time through to pick up any changes in the client file
89
- Chef::Log.info("Reconfiguring with startup parameters")
90
- reconfigure(startup_parameters)
91
- timeout = Chef::Config[:interval]
92
-
93
- # Honor splay sleep config
94
- timeout += rand Chef::Config[:splay]
95
-
96
- # run chef-client only if service is in RUNNING state
97
- next if state != RUNNING
98
-
99
- Chef::Log.info("#{Chef::Dist::CLIENT} service is starting a #{Chef::Dist::CLIENT} run...")
100
- run_chef_client
101
- rescue SystemExit => e
102
- # Do not raise any of the errors here in order to
103
- # prevent service crash
104
- Chef::Log.error("#{e.class}: #{e}")
105
- rescue Exception => e
106
- Chef::Log.error("#{e.class}: #{e}")
107
- end
81
+
82
+ Chef::Log.info("Next #{Chef::Dist::CLIENT} run will happen in #{timeout} seconds")
83
+ @service_signal.wait(@service_action_mutex, timeout)
84
+
85
+ # Continue only if service is RUNNING
86
+ next if state != RUNNING
87
+
88
+ # Reconfigure each time through to pick up any changes in the client file
89
+ Chef::Log.info("Reconfiguring with startup parameters")
90
+ reconfigure(startup_parameters)
91
+ timeout = Chef::Config[:interval]
92
+
93
+ # Honor splay sleep config
94
+ timeout += rand Chef::Config[:splay]
95
+
96
+ # run chef-client only if service is in RUNNING state
97
+ next if state != RUNNING
98
+
99
+ Chef::Log.info("#{Chef::Dist::CLIENT} service is starting a #{Chef::Dist::CLIENT} run...")
100
+ run_chef_client
101
+ rescue SystemExit => e
102
+ # Do not raise any of the errors here in order to
103
+ # prevent service crash
104
+ Chef::Log.error("#{e.class}: #{e}")
105
+ rescue Exception => e
106
+ Chef::Log.error("#{e.class}: #{e}")
107
+
108
108
  end
109
109
  end
110
110
 
@@ -32,7 +32,6 @@ require_relative "platform/provider_handler_map"
32
32
  require_relative "platform/resource_handler_map"
33
33
  require_relative "deprecated"
34
34
  require_relative "event_dispatch/dsl"
35
- require_relative "deprecated"
36
35
 
37
36
  class Chef
38
37
  class << self
@@ -172,11 +172,11 @@ class Chef
172
172
  @memory_store.create_dir(path, name, *options)
173
173
  else
174
174
  with_parent_dir(path + [name], *options) do |parent, name|
175
- begin
176
- parent.create_child(name, nil)
177
- rescue Chef::ChefFS::FileSystem::AlreadyExistsError => e
178
- raise ChefZero::DataStore::DataAlreadyExistsError.new(to_zero_path(e.entry), e)
179
- end
175
+
176
+ parent.create_child(name, nil)
177
+ rescue Chef::ChefFS::FileSystem::AlreadyExistsError => e
178
+ raise ChefZero::DataStore::DataAlreadyExistsError.new(to_zero_path(e.entry), e)
179
+
180
180
  end
181
181
  end
182
182
  end
@@ -251,11 +251,11 @@ class Chef
251
251
  end
252
252
 
253
253
  with_parent_dir(path + [name], *options) do |parent, name|
254
- begin
255
- parent.create_child(name, data)
256
- rescue Chef::ChefFS::FileSystem::AlreadyExistsError => e
257
- raise ChefZero::DataStore::DataAlreadyExistsError.new(to_zero_path(e.entry), e)
258
- end
254
+
255
+ parent.create_child(name, data)
256
+ rescue Chef::ChefFS::FileSystem::AlreadyExistsError => e
257
+ raise ChefZero::DataStore::DataAlreadyExistsError.new(to_zero_path(e.entry), e)
258
+
259
259
  end
260
260
  end
261
261
  end
@@ -349,11 +349,11 @@ class Chef
349
349
 
350
350
  else
351
351
  with_entry(path) do |entry|
352
- begin
353
- entry.read
354
- rescue Chef::ChefFS::FileSystem::NotFoundError => e
355
- raise ChefZero::DataStore::DataNotFoundError.new(to_zero_path(e.entry), e)
356
- end
352
+
353
+ entry.read
354
+ rescue Chef::ChefFS::FileSystem::NotFoundError => e
355
+ raise ChefZero::DataStore::DataNotFoundError.new(to_zero_path(e.entry), e)
356
+
357
357
  end
358
358
  end
359
359
  end
@@ -433,15 +433,15 @@ class Chef
433
433
 
434
434
  else
435
435
  with_entry(path) do |entry|
436
- begin
437
- if %w{cookbooks cookbook_artifacts}.include?(path[0]) && path.length >= 3
438
- entry.delete(true)
439
- else
440
- entry.delete(false)
441
- end
442
- rescue Chef::ChefFS::FileSystem::NotFoundError => e
443
- raise ChefZero::DataStore::DataNotFoundError.new(to_zero_path(e.entry), e)
436
+
437
+ if %w{cookbooks cookbook_artifacts}.include?(path[0]) && path.length >= 3
438
+ entry.delete(true)
439
+ else
440
+ entry.delete(false)
444
441
  end
442
+ rescue Chef::ChefFS::FileSystem::NotFoundError => e
443
+ raise ChefZero::DataStore::DataNotFoundError.new(to_zero_path(e.entry), e)
444
+
445
445
  end
446
446
  end
447
447
  end
@@ -471,11 +471,11 @@ class Chef
471
471
 
472
472
  else
473
473
  with_entry(path) do |entry|
474
- begin
475
- entry.delete(options.include?(:recursive))
476
- rescue Chef::ChefFS::FileSystem::NotFoundError => e
477
- raise ChefZero::DataStore::DataNotFoundError.new(to_zero_path(e.entry), e)
478
- end
474
+
475
+ entry.delete(options.include?(:recursive))
476
+ rescue Chef::ChefFS::FileSystem::NotFoundError => e
477
+ raise ChefZero::DataStore::DataNotFoundError.new(to_zero_path(e.entry), e)
478
+
479
479
  end
480
480
  end
481
481
  end
@@ -487,11 +487,11 @@ class Chef
487
487
  # LIST /policies
488
488
  elsif path == [ "policies" ]
489
489
  with_entry([ path[0] ]) do |policies|
490
- begin
491
- policies.children.map { |policy| policy.name[0..-6].rpartition("-")[0] }.uniq
492
- rescue Chef::ChefFS::FileSystem::NotFoundError
493
- []
494
- end
490
+
491
+ policies.children.map { |policy| policy.name[0..-6].rpartition("-")[0] }.uniq
492
+ rescue Chef::ChefFS::FileSystem::NotFoundError
493
+ []
494
+
495
495
  end
496
496
 
497
497
  # LIST /policies/POLICY/revisions
@@ -524,19 +524,19 @@ class Chef
524
524
 
525
525
  elsif %w{cookbooks cookbook_artifacts}.include?(path[0]) && path.length == 1
526
526
  with_entry(path) do |entry|
527
- begin
528
- if path[0] == "cookbook_artifacts"
529
- entry.children.map { |child| child.name.rpartition("-")[0] }.uniq
530
- elsif chef_fs.versioned_cookbooks
531
- # /cookbooks/name-version -> /cookbooks/name
532
- entry.children.map { |child| split_name_version(child.name)[0] }.uniq
533
- else
534
- entry.children.map(&:name)
535
- end
536
- rescue Chef::ChefFS::FileSystem::NotFoundError
537
- # If the cookbooks dir doesn't exist, we have no cookbooks (not 404)
538
- []
527
+
528
+ if path[0] == "cookbook_artifacts"
529
+ entry.children.map { |child| child.name.rpartition("-")[0] }.uniq
530
+ elsif chef_fs.versioned_cookbooks
531
+ # /cookbooks/name-version -> /cookbooks/name
532
+ entry.children.map { |child| split_name_version(child.name)[0] }.uniq
533
+ else
534
+ entry.children.map(&:name)
539
535
  end
536
+ rescue Chef::ChefFS::FileSystem::NotFoundError
537
+ # If the cookbooks dir doesn't exist, we have no cookbooks (not 404)
538
+ []
539
+
540
540
  end
541
541
 
542
542
  elsif %w{cookbooks cookbook_artifacts}.include?(path[0]) && path.length == 2
@@ -560,16 +560,16 @@ class Chef
560
560
 
561
561
  else
562
562
  result = with_entry(path) do |entry|
563
- begin
564
- entry.children.map { |c| zero_filename(c) }.sort
565
- rescue Chef::ChefFS::FileSystem::NotFoundError => e
566
- # /cookbooks, /data, etc. never return 404
567
- if path_always_exists?(path)
568
- []
569
- else
570
- raise ChefZero::DataStore::DataNotFoundError.new(to_zero_path(e.entry), e)
571
- end
563
+
564
+ entry.children.map { |c| zero_filename(c) }.sort
565
+ rescue Chef::ChefFS::FileSystem::NotFoundError => e
566
+ # /cookbooks, /data, etc. never return 404
567
+ if path_always_exists?(path)
568
+ []
569
+ else
570
+ raise ChefZero::DataStore::DataNotFoundError.new(to_zero_path(e.entry), e)
572
571
  end
572
+
573
573
  end
574
574
 
575
575
  # Older versions of chef-zero do not understand policies and cookbook_artifacts,
@@ -47,17 +47,17 @@ class Chef
47
47
  # ACL writes are fun.
48
48
  acls = data_handler.normalize(Chef::JSONCompat.parse(file_contents), self)
49
49
  PERMISSIONS.each do |permission|
50
- begin
51
- rest.put("#{api_path}/#{permission}", { permission => acls[permission] })
52
- rescue Timeout::Error => e
53
- raise Chef::ChefFS::FileSystem::OperationFailedError.new(:write, self, e, "Timeout writing: #{e}")
54
- rescue Net::HTTPClientException => e
55
- if e.response.code == "404"
56
- raise Chef::ChefFS::FileSystem::NotFoundError.new(self, e)
57
- else
58
- raise Chef::ChefFS::FileSystem::OperationFailedError.new(:write, self, e, "HTTP error writing: #{e}")
59
- end
50
+
51
+ rest.put("#{api_path}/#{permission}", { permission => acls[permission] })
52
+ rescue Timeout::Error => e
53
+ raise Chef::ChefFS::FileSystem::OperationFailedError.new(:write, self, e, "Timeout writing: #{e}")
54
+ rescue Net::HTTPClientException => e
55
+ if e.response.code == "404"
56
+ raise Chef::ChefFS::FileSystem::NotFoundError.new(self, e)
57
+ else
58
+ raise Chef::ChefFS::FileSystem::OperationFailedError.new(:write, self, e, "HTTP error writing: #{e}")
60
59
  end
60
+
61
61
  end
62
62
  end
63
63
  end
@@ -44,15 +44,15 @@ class Chef
44
44
  actual_invites = _read_json.inject({}) { |h, val| h[val["username"]] = val["id"]; h }
45
45
  invites = actual_invites.keys
46
46
  (desired_invites - invites).each do |invite|
47
- begin
48
- rest.post(api_path, { "user" => invite })
49
- rescue Net::HTTPClientException => e
50
- if e.response.code == "409"
51
- Chef::Log.warn("Could not invite #{invite} to organization #{org}: #{api_error_text(e.response)}")
52
- else
53
- raise
54
- end
47
+
48
+ rest.post(api_path, { "user" => invite })
49
+ rescue Net::HTTPClientException => e
50
+ if e.response.code == "409"
51
+ Chef::Log.warn("Could not invite #{invite} to organization #{org}: #{api_error_text(e.response)}")
52
+ else
53
+ raise
55
54
  end
55
+
56
56
  end
57
57
  (invites - desired_invites).each do |invite|
58
58
  rest.delete(File.join(api_path, actual_invites[invite]))
@@ -43,15 +43,15 @@ class Chef
43
43
  desired_members = minimize_value(Chef::JSONCompat.parse(contents, create_additions: false))
44
44
  members = minimize_value(_read_json)
45
45
  (desired_members - members).each do |member|
46
- begin
47
- rest.post(api_path, "username" => member)
48
- rescue Net::HTTPClientException => e
49
- if %w{404 405}.include?(e.response.code)
50
- raise "Chef server at #{api_path} does not allow you to directly add members. Please either upgrade your Chef server or move the users you want into invitations.json instead of members.json."
51
- else
52
- raise
53
- end
46
+
47
+ rest.post(api_path, "username" => member)
48
+ rescue Net::HTTPClientException => e
49
+ if %w{404 405}.include?(e.response.code)
50
+ raise "Chef server at #{api_path} does not allow you to directly add members. Please either upgrade your Chef server or move the users you want into invitations.json instead of members.json."
51
+ else
52
+ raise
54
53
  end
54
+
55
55
  end
56
56
  (members - desired_members).each do |member|
57
57
  rest.delete(File.join(api_path, member))
@@ -76,7 +76,7 @@ class Chef
76
76
 
77
77
  # Write out .uploaded-cookbook-version.json
78
78
  # cookbook_file_path = File.join(file_path, cookbook_name) <- this should be the same as self.file_path
79
- unless File.exists?(file_path)
79
+ unless File.exist?(file_path)
80
80
  FileUtils.mkdir_p(file_path)
81
81
  end
82
82
  uploaded_cookbook_version_path = File.join(file_path, Chef::Cookbook::CookbookVersionLoader::UPLOADED_COOKBOOK_VERSION_FILE)
@@ -132,7 +132,7 @@ class Chef
132
132
  end
133
133
 
134
134
  def can_upload?
135
- File.exists?(uploaded_cookbook_version_path) || children.size > 0
135
+ File.exist?(uploaded_cookbook_version_path) || children.size > 0
136
136
  end
137
137
 
138
138
  protected
@@ -137,7 +137,7 @@ class Chef
137
137
  end
138
138
 
139
139
  def exists?
140
- File.exists?(file_path) && (parent.nil? || parent.can_have_child?(name, dir?))
140
+ File.exist?(file_path) && (parent.nil? || parent.can_have_child?(name, dir?))
141
141
  end
142
142
 
143
143
  def read
@@ -109,23 +109,23 @@ class Chef
109
109
  child = root_dir.create_child(name, file_contents)
110
110
  else
111
111
  child_paths[name].each do |path|
112
- begin
113
- ::FileUtils.mkdir_p(path)
114
- ::FileUtils.chmod(0700, path)
115
- if ChefUtils.windows?
116
- all_mask = Chef::ReservedNames::Win32::API::Security::GENERIC_ALL
117
- administrators = Chef::ReservedNames::Win32::Security::SID.Administrators
118
- owner = Chef::ReservedNames::Win32::Security::SID.default_security_object_owner
119
- dacl = Chef::ReservedNames::Win32::Security::ACL.create([
120
- Chef::ReservedNames::Win32::Security::ACE.access_allowed(owner, all_mask),
121
- Chef::ReservedNames::Win32::Security::ACE.access_allowed(administrators, all_mask),
122
- ])
123
- so = Chef::ReservedNames::Win32::Security::SecurableObject.new(path)
124
- so.owner = owner
125
- so.set_dacl(dacl, false)
126
- end
127
- rescue Errno::EEXIST
112
+
113
+ ::FileUtils.mkdir_p(path)
114
+ ::FileUtils.chmod(0700, path)
115
+ if ChefUtils.windows?
116
+ all_mask = Chef::ReservedNames::Win32::API::Security::GENERIC_ALL
117
+ administrators = Chef::ReservedNames::Win32::Security::SID.Administrators
118
+ owner = Chef::ReservedNames::Win32::Security::SID.default_security_object_owner
119
+ dacl = Chef::ReservedNames::Win32::Security::ACL.create([
120
+ Chef::ReservedNames::Win32::Security::ACE.access_allowed(owner, all_mask),
121
+ Chef::ReservedNames::Win32::Security::ACE.access_allowed(administrators, all_mask),
122
+ ])
123
+ so = Chef::ReservedNames::Win32::Security::SecurableObject.new(path)
124
+ so.owner = owner
125
+ so.set_dacl(dacl, false)
128
126
  end
127
+ rescue Errno::EEXIST
128
+
129
129
  end
130
130
  child = make_child_entry(name)
131
131
  end
@@ -161,7 +161,7 @@ class Chef
161
161
  # members.json and org.json may be found.
162
162
  #
163
163
  def root_dir
164
- existing_paths = root_paths.select { |path| File.exists?(path) }
164
+ existing_paths = root_paths.select { |path| File.exist?(path) }
165
165
  if existing_paths.size > 0
166
166
  MultiplexedDir.new(existing_paths.map do |path|
167
167
  dir = FileSystemEntry.new(name, parent, path)
@@ -184,7 +184,7 @@ class Chef
184
184
  return root_dir.child(name)
185
185
  end
186
186
 
187
- paths = (child_paths[name] || []).select { |path| File.exists?(path) }
187
+ paths = (child_paths[name] || []).select { |path| File.exist?(path) }
188
188
  if paths.size == 0
189
189
  return NonexistentFSObject.new(name, self)
190
190
  end