chef 12.4.0-universal-mingw32 → 12.4.1-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 (133) hide show
  1. checksums.yaml +4 -4
  2. data/lib/chef/api_client.rb +31 -129
  3. data/lib/chef/api_client_v1.rb +325 -0
  4. data/lib/chef/chef_class.rb +15 -7
  5. data/lib/chef/chef_fs/file_system/chef_server_root_dir.rb +2 -2
  6. data/lib/chef/dsl/resources.rb +6 -4
  7. data/lib/chef/exceptions.rb +2 -2
  8. data/lib/chef/guard_interpreter/resource_guard_interpreter.rb +2 -1
  9. data/lib/chef/knife/bootstrap/templates/chef-full.erb +4 -4
  10. data/lib/chef/knife/client_bulk_delete.rb +2 -2
  11. data/lib/chef/knife/client_create.rb +4 -4
  12. data/lib/chef/knife/client_delete.rb +3 -3
  13. data/lib/chef/knife/client_edit.rb +10 -2
  14. data/lib/chef/knife/client_list.rb +2 -2
  15. data/lib/chef/knife/client_reregister.rb +2 -2
  16. data/lib/chef/knife/client_show.rb +2 -2
  17. data/lib/chef/knife/osc_user_create.rb +3 -3
  18. data/lib/chef/knife/osc_user_delete.rb +2 -2
  19. data/lib/chef/knife/osc_user_edit.rb +3 -3
  20. data/lib/chef/knife/osc_user_list.rb +2 -2
  21. data/lib/chef/knife/osc_user_reregister.rb +2 -2
  22. data/lib/chef/knife/osc_user_show.rb +2 -2
  23. data/lib/chef/knife/user_create.rb +3 -3
  24. data/lib/chef/knife/user_delete.rb +4 -4
  25. data/lib/chef/knife/user_edit.rb +3 -3
  26. data/lib/chef/knife/user_list.rb +2 -2
  27. data/lib/chef/knife/user_reregister.rb +2 -2
  28. data/lib/chef/knife/user_show.rb +2 -2
  29. data/lib/chef/node_map.rb +14 -18
  30. data/lib/chef/platform/handler_map.rb +45 -0
  31. data/lib/chef/platform/priority_map.rb +19 -32
  32. data/lib/chef/platform/provider_handler_map.rb +29 -0
  33. data/lib/chef/platform/provider_mapping.rb +3 -2
  34. data/lib/chef/platform/resource_handler_map.rb +29 -0
  35. data/lib/chef/platform/resource_priority_map.rb +0 -6
  36. data/lib/chef/provider.rb +1 -1
  37. data/lib/chef/provider/dsc_resource.rb +2 -2
  38. data/lib/chef/provider/dsc_script.rb +1 -1
  39. data/lib/chef/provider/mount/aix.rb +1 -1
  40. data/lib/chef/provider/package.rb +0 -31
  41. data/lib/chef/provider/package/aix.rb +1 -0
  42. data/lib/chef/provider/package/apt.rb +1 -0
  43. data/lib/chef/provider/package/homebrew.rb +1 -0
  44. data/lib/chef/provider/package/ips.rb +1 -0
  45. data/lib/chef/provider/package/macports.rb +1 -0
  46. data/lib/chef/provider/package/openbsd.rb +1 -0
  47. data/lib/chef/provider/package/pacman.rb +1 -0
  48. data/lib/chef/provider/package/paludis.rb +1 -0
  49. data/lib/chef/provider/package/portage.rb +2 -0
  50. data/lib/chef/provider/package/smartos.rb +1 -0
  51. data/lib/chef/provider/package/solaris.rb +2 -0
  52. data/lib/chef/provider/package/yum.rb +1 -0
  53. data/lib/chef/provider/package/zypper.rb +1 -0
  54. data/lib/chef/provider/service.rb +4 -22
  55. data/lib/chef/provider/service/debian.rb +2 -0
  56. data/lib/chef/provider/service/insserv.rb +2 -0
  57. data/lib/chef/provider/service/invokercd.rb +2 -0
  58. data/lib/chef/provider/service/openbsd.rb +1 -1
  59. data/lib/chef/provider/service/redhat.rb +2 -0
  60. data/lib/chef/provider/service/upstart.rb +3 -0
  61. data/lib/chef/provider_resolver.rb +59 -53
  62. data/lib/chef/resource.rb +22 -73
  63. data/lib/chef/resource/dsc_script.rb +1 -1
  64. data/lib/chef/resource/ips_package.rb +1 -0
  65. data/lib/chef/resource/mount.rb +8 -0
  66. data/lib/chef/resource/openbsd_package.rb +0 -11
  67. data/lib/chef/resource/solaris_package.rb +1 -4
  68. data/lib/chef/resource_resolver.rb +54 -26
  69. data/lib/chef/run_list/versioned_recipe_list.rb +6 -5
  70. data/lib/chef/user.rb +52 -188
  71. data/lib/chef/user_v1.rb +335 -0
  72. data/lib/chef/version.rb +1 -1
  73. data/spec/data/trusted_certs/opscode.pem +53 -56
  74. data/spec/functional/provider/whyrun_safe_ruby_block_spec.rb +1 -1
  75. data/spec/functional/resource/package_spec.rb +0 -2
  76. data/spec/integration/recipes/recipe_dsl_spec.rb +661 -126
  77. data/spec/spec_helper.rb +19 -13
  78. data/spec/support/shared/unit/api_versioning.rb +2 -2
  79. data/spec/unit/api_client_spec.rb +22 -201
  80. data/spec/unit/api_client_v1_spec.rb +457 -0
  81. data/spec/unit/knife/client_bulk_delete_spec.rb +4 -4
  82. data/spec/unit/knife/client_create_spec.rb +1 -1
  83. data/spec/unit/knife/client_delete_spec.rb +3 -3
  84. data/spec/unit/knife/client_edit_spec.rb +14 -1
  85. data/spec/unit/knife/client_list_spec.rb +1 -1
  86. data/spec/unit/knife/client_reregister_spec.rb +2 -2
  87. data/spec/unit/knife/client_show_spec.rb +2 -2
  88. data/spec/unit/knife/osc_user_create_spec.rb +5 -5
  89. data/spec/unit/knife/osc_user_delete_spec.rb +1 -1
  90. data/spec/unit/knife/osc_user_edit_spec.rb +1 -1
  91. data/spec/unit/knife/osc_user_list_spec.rb +1 -1
  92. data/spec/unit/knife/osc_user_reregister_spec.rb +1 -1
  93. data/spec/unit/knife/osc_user_show_spec.rb +1 -1
  94. data/spec/unit/knife/user_create_spec.rb +1 -1
  95. data/spec/unit/knife/user_delete_spec.rb +2 -2
  96. data/spec/unit/knife/user_edit_spec.rb +2 -2
  97. data/spec/unit/knife/user_list_spec.rb +1 -1
  98. data/spec/unit/knife/user_reregister_spec.rb +1 -1
  99. data/spec/unit/knife/user_show_spec.rb +2 -2
  100. data/spec/unit/lwrp_spec.rb +146 -134
  101. data/spec/unit/node_map_spec.rb +12 -0
  102. data/spec/unit/platform_spec.rb +1 -1
  103. data/spec/unit/provider/deploy_spec.rb +1 -1
  104. data/spec/unit/provider/dsc_resource_spec.rb +3 -3
  105. data/spec/unit/provider/dsc_script_spec.rb +2 -2
  106. data/spec/unit/provider_resolver_spec.rb +170 -135
  107. data/spec/unit/recipe_spec.rb +3 -3
  108. data/spec/unit/resource/breakpoint_spec.rb +1 -1
  109. data/spec/unit/resource/cron_spec.rb +1 -1
  110. data/spec/unit/resource/directory_spec.rb +1 -1
  111. data/spec/unit/resource/dsc_resource_spec.rb +1 -1
  112. data/spec/unit/resource/dsc_script_spec.rb +2 -2
  113. data/spec/unit/resource/env_spec.rb +1 -1
  114. data/spec/unit/resource/erl_call_spec.rb +1 -1
  115. data/spec/unit/resource/file_spec.rb +1 -1
  116. data/spec/unit/resource/group_spec.rb +1 -1
  117. data/spec/unit/resource/link_spec.rb +1 -1
  118. data/spec/unit/resource/mdadm_spec.rb +1 -1
  119. data/spec/unit/resource/mount_spec.rb +1 -1
  120. data/spec/unit/resource/ohai_spec.rb +1 -1
  121. data/spec/unit/resource/registry_key_spec.rb +1 -1
  122. data/spec/unit/resource/route_spec.rb +1 -1
  123. data/spec/unit/resource/ruby_block_spec.rb +3 -3
  124. data/spec/unit/resource/user_spec.rb +1 -1
  125. data/spec/unit/resource/windows_service_spec.rb +1 -1
  126. data/spec/unit/resource_resolver_spec.rb +8 -4
  127. data/spec/unit/resource_spec.rb +89 -3
  128. data/spec/unit/run_list/versioned_recipe_list_spec.rb +115 -48
  129. data/spec/unit/user_spec.rb +97 -405
  130. data/spec/unit/user_v1_spec.rb +584 -0
  131. metadata +11 -6
  132. data/lib/chef/osc_user.rb +0 -194
  133. data/spec/unit/osc_user_spec.rb +0 -276
@@ -23,7 +23,7 @@ class Chef
23
23
  class UserEdit < Knife
24
24
 
25
25
  deps do
26
- require 'chef/user'
26
+ require 'chef/user_v1'
27
27
  require 'chef/json_compat'
28
28
  end
29
29
 
@@ -56,7 +56,7 @@ EOF
56
56
  exit 1
57
57
  end
58
58
 
59
- original_user = Chef::User.load(@user_name).to_hash
59
+ original_user = Chef::UserV1.load(@user_name).to_hash
60
60
 
61
61
  # DEPRECATION NOTE
62
62
  # Remove this if statement and corrosponding code post OSC 11 support.
@@ -69,7 +69,7 @@ EOF
69
69
  else # EC / CS 12 user create
70
70
  edited_user = edit_data(original_user)
71
71
  if original_user != edited_user
72
- user = Chef::User.from_hash(edited_user)
72
+ user = Chef::UserV1.from_hash(edited_user)
73
73
  user.update
74
74
  ui.msg("Saved #{user}.")
75
75
  else
@@ -25,7 +25,7 @@ class Chef
25
25
  class UserList < Knife
26
26
 
27
27
  deps do
28
- require 'chef/user'
28
+ require 'chef/user_v1'
29
29
  require 'chef/json_compat'
30
30
  end
31
31
 
@@ -37,7 +37,7 @@ class Chef
37
37
  :description => "Show corresponding URIs"
38
38
 
39
39
  def run
40
- output(format_list_for_display(Chef::User.list))
40
+ output(format_list_for_display(Chef::UserV1.list))
41
41
  end
42
42
 
43
43
  end
@@ -23,7 +23,7 @@ class Chef
23
23
  class UserReregister < Knife
24
24
 
25
25
  deps do
26
- require 'chef/user'
26
+ require 'chef/user_v1'
27
27
  require 'chef/json_compat'
28
28
  end
29
29
 
@@ -61,7 +61,7 @@ EOF
61
61
  exit 1
62
62
  end
63
63
 
64
- user = Chef::User.load(@user_name)
64
+ user = Chef::UserV1.load(@user_name)
65
65
 
66
66
  # DEPRECATION NOTE
67
67
  # Remove this if statement and corrosponding code post OSC 11 support.
@@ -25,7 +25,7 @@ class Chef
25
25
  include Knife::Core::MultiAttributeReturnOption
26
26
 
27
27
  deps do
28
- require 'chef/user'
28
+ require 'chef/user_v1'
29
29
  require 'chef/json_compat'
30
30
  end
31
31
 
@@ -58,7 +58,7 @@ EOF
58
58
  exit 1
59
59
  end
60
60
 
61
- user = Chef::User.load(@user_name)
61
+ user = Chef::UserV1.load(@user_name)
62
62
 
63
63
  # DEPRECATION NOTE
64
64
  # Remove this if statement and corrosponding code post OSC 11 support.
data/lib/chef/node_map.rb CHANGED
@@ -19,13 +19,6 @@
19
19
  class Chef
20
20
  class NodeMap
21
21
 
22
- #
23
- # Create a new NodeMap
24
- #
25
- def initialize
26
- @map = {}
27
- end
28
-
29
22
  #
30
23
  # Set a key/value pair on the map with a filter. The filter must be true
31
24
  # when applied to the node in order to retrieve the value.
@@ -55,18 +48,17 @@ class Chef
55
48
  # The map is sorted in order of preference already; we just need to find
56
49
  # our place in it (just before the first value with the same preference level).
57
50
  insert_at = nil
58
- @map[key] ||= []
59
- @map[key].each_with_index do |matcher,index|
51
+ map[key] ||= []
52
+ map[key].each_with_index do |matcher,index|
60
53
  cmp = compare_matchers(key, new_matcher, matcher)
61
54
  insert_at ||= index if cmp && cmp <= 0
62
55
  end
63
56
  if insert_at
64
- @map[key].insert(insert_at, new_matcher)
57
+ map[key].insert(insert_at, new_matcher)
65
58
  else
66
- @map[key] << new_matcher
59
+ map[key] << new_matcher
67
60
  end
68
- insert_at ||= @map[key].size - 1
69
- @map
61
+ map
70
62
  end
71
63
 
72
64
  #
@@ -100,8 +92,8 @@ class Chef
100
92
  #
101
93
  def list(node, key, canonical: nil)
102
94
  raise ArgumentError, "first argument must be a Chef::Node" unless node.is_a?(Chef::Node) || node.nil?
103
- return [] unless @map.has_key?(key)
104
- @map[key].select do |matcher|
95
+ return [] unless map.has_key?(key)
96
+ map[key].select do |matcher|
105
97
  node_matches?(node, matcher) && canonical_matches?(canonical, matcher)
106
98
  end.map { |matcher| matcher[:value] }
107
99
  end
@@ -110,11 +102,11 @@ class Chef
110
102
  # @return remaining
111
103
  # @api private
112
104
  def delete_canonical(key, value)
113
- remaining = @map[key]
105
+ remaining = map[key]
114
106
  if remaining
115
107
  remaining.delete_if { |matcher| matcher[:canonical] && Array(matcher[:value]) == Array(value) }
116
108
  if remaining.empty?
117
- @map.delete(key)
109
+ map.delete(key)
118
110
  remaining = nil
119
111
  end
120
112
  end
@@ -181,7 +173,7 @@ class Chef
181
173
  end
182
174
 
183
175
  def compare_matchers(key, new_matcher, matcher)
184
- cmp = compare_matcher_properties(new_matcher, matcher) { |m| m[:filters][:block] }
176
+ cmp = compare_matcher_properties(new_matcher, matcher) { |m| m[:block] }
185
177
  return cmp if cmp != 0
186
178
  cmp = compare_matcher_properties(new_matcher, matcher) { |m| m[:filters][:platform_version] }
187
179
  return cmp if cmp != 0
@@ -222,5 +214,9 @@ class Chef
222
214
  end
223
215
  cmp
224
216
  end
217
+
218
+ def map
219
+ @map ||= {}
220
+ end
225
221
  end
226
222
  end
@@ -0,0 +1,45 @@
1
+ #
2
+ # Author:: John Keiser (<jkeiser@chef.io>)
3
+ # Copyright:: Copyright (c) 2015 Opscode, Inc.
4
+ # License:: Apache License, Version 2.0
5
+ #
6
+ # Licensed under the Apache License, Version 2.0 (the "License");
7
+ # you may not use this file except in compliance with the License.
8
+ # You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS,
14
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ # See the License for the specific language governing permissions and
16
+ # limitations under the License.
17
+ #
18
+
19
+ require 'chef/node_map'
20
+
21
+ class Chef
22
+ class Platform
23
+ class HandlerMap < Chef::NodeMap
24
+ #
25
+ # "provides" lines with identical filters sort by class name (ascending).
26
+ #
27
+ def compare_matchers(key, new_matcher, matcher)
28
+ cmp = super
29
+ if cmp == 0
30
+ # Sort by class name (ascending) as well, if all other properties
31
+ # are exactly equal
32
+ if new_matcher[:value].is_a?(Class) && !new_matcher[:override]
33
+ cmp = compare_matcher_properties(new_matcher, matcher) { |m| m[:value].name }
34
+ if cmp < 0
35
+ Chef::Log.warn "You are overriding #{key} on #{new_matcher[:filters].inspect} with #{new_matcher[:value].inspect}: used to be #{matcher[:value].inspect}. Use override: true if this is what you intended."
36
+ elsif cmp > 0
37
+ Chef::Log.warn "You declared a new resource #{new_matcher[:value].inspect} for resource #{key}, but it comes alphabetically after #{matcher[:value].inspect} and has the same filters (#{new_matcher[:filters].inspect}), so it will not be used. Use override: true if you want to use it for #{key}."
38
+ end
39
+ end
40
+ end
41
+ cmp
42
+ end
43
+ end
44
+ end
45
+ end
@@ -1,3 +1,21 @@
1
+ #
2
+ # Author:: John Keiser (<jkeiser@chef.io>)
3
+ # Copyright:: Copyright (c) 2015 Opscode, Inc.
4
+ # License:: Apache License, Version 2.0
5
+ #
6
+ # Licensed under the Apache License, Version 2.0 (the "License");
7
+ # you may not use this file except in compliance with the License.
8
+ # You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS,
14
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ # See the License for the specific language governing permissions and
16
+ # limitations under the License.
17
+ #
18
+
1
19
  require 'chef/node_map'
2
20
 
3
21
  class Chef
@@ -6,7 +24,7 @@ class Chef
6
24
  def priority(resource_name, priority_array, *filter)
7
25
  set_priority_array(resource_name.to_sym, priority_array, *filter)
8
26
  end
9
-
27
+
10
28
  # @api private
11
29
  def get_priority_array(node, key)
12
30
  get(node, key)
@@ -18,37 +36,6 @@ class Chef
18
36
  set(key, priority_array, *filter, &block)
19
37
  priority_array
20
38
  end
21
-
22
- # @api private
23
- def list_handlers(node, key, **filters)
24
- list(node, key, **filters).flatten(1).uniq
25
- end
26
-
27
- #
28
- # Priority maps have one extra precedence: priority arrays override "provides,"
29
- # and "provides" lines with identical filters sort by class name (ascending).
30
- #
31
- def compare_matchers(key, new_matcher, matcher)
32
- # Priority arrays come before "provides"
33
- if new_matcher[:value].is_a?(Array) != matcher[:value].is_a?(Array)
34
- return new_matcher[:value].is_a?(Array) ? -1 : 1
35
- end
36
-
37
- cmp = super
38
- if cmp == 0
39
- # Sort by class name (ascending) as well, if all other properties
40
- # are exactly equal
41
- if new_matcher[:value].is_a?(Class) && !new_matcher[:override]
42
- cmp = compare_matcher_properties(new_matcher, matcher) { |m| m[:value].name }
43
- if cmp < 0
44
- Chef::Log.warn "You are overriding #{key} on #{new_matcher[:filters].inspect} with #{new_matcher[:value].inspect}: used to be #{matcher[:value].inspect}. Use override: true if this is what you intended."
45
- elsif cmp > 0
46
- Chef::Log.warn "You declared a new resource #{new_matcher[:value].inspect} for resource #{key}, but it comes alphabetically after #{matcher[:value].inspect} and has the same filters (#{new_matcher[:filters].inspect}), so it will not be used. Use override: true if you want to use it for #{key}."
47
- end
48
- end
49
- end
50
- cmp
51
- end
52
39
  end
53
40
  end
54
41
  end
@@ -0,0 +1,29 @@
1
+ #
2
+ # Author:: John Keiser (<jkeiser@chef.io>)
3
+ # Copyright:: Copyright (c) 2015 Chef Software, Inc.
4
+ # License:: Apache License, Version 2.0
5
+ #
6
+ # Licensed under the Apache License, Version 2.0 (the "License");
7
+ # you may not use this file except in compliance with the License.
8
+ # You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS,
14
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ # See the License for the specific language governing permissions and
16
+ # limitations under the License.
17
+ #
18
+
19
+ require 'singleton'
20
+ require 'chef/platform/handler_map'
21
+
22
+ class Chef
23
+ class Platform
24
+ # @api private
25
+ class ProviderHandlerMap < Chef::Platform::HandlerMap
26
+ include Singleton
27
+ end
28
+ end
29
+ end
@@ -176,7 +176,7 @@ class Chef
176
176
  platform_provider(platform, version, resource_type) ||
177
177
  resource_matching_provider(platform, version, resource_type)
178
178
 
179
- raise ArgumentError, "Cannot find a provider for #{resource_type} on #{platform} version #{version}" if provider_klass.nil?
179
+ raise Chef::Exceptions::ProviderNotFound, "Cannot find a provider for #{resource_type} on #{platform} version #{version}" if provider_klass.nil?
180
180
 
181
181
  provider_klass
182
182
  end
@@ -197,7 +197,8 @@ class Chef
197
197
 
198
198
  def resource_matching_provider(platform, version, resource_type)
199
199
  if resource_type.kind_of?(Chef::Resource)
200
- class_name = resource_type.class.to_s.split('::').last
200
+ class_name = resource_type.class.name ? resource_type.class.name.split('::').last :
201
+ convert_to_class_name(resource_type.resource_name.to_s)
201
202
 
202
203
  begin
203
204
  result = Chef::Provider.const_get(class_name)
@@ -0,0 +1,29 @@
1
+ #
2
+ # Author:: John Keiser (<jkeiser@chef.io>)
3
+ # Copyright:: Copyright (c) 2015 Chef Software, Inc.
4
+ # License:: Apache License, Version 2.0
5
+ #
6
+ # Licensed under the Apache License, Version 2.0 (the "License");
7
+ # you may not use this file except in compliance with the License.
8
+ # You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS,
14
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ # See the License for the specific language governing permissions and
16
+ # limitations under the License.
17
+ #
18
+
19
+ require 'singleton'
20
+ require 'chef/platform/handler_map'
21
+
22
+ class Chef
23
+ class Platform
24
+ # @api private
25
+ class ResourceHandlerMap < Chef::Platform::HandlerMap
26
+ include Singleton
27
+ end
28
+ end
29
+ end
@@ -6,12 +6,6 @@ class Chef
6
6
  # @api private
7
7
  class ResourcePriorityMap < Chef::Platform::PriorityMap
8
8
  include Singleton
9
-
10
- # @api private
11
- def get_priority_array(node, resource_name, canonical: nil)
12
- super(node, resource_name.to_sym, canonical: canonical)
13
- end
14
-
15
9
  end
16
10
  end
17
11
  end
data/lib/chef/provider.rb CHANGED
@@ -176,7 +176,7 @@ class Chef
176
176
  end
177
177
 
178
178
  def self.provides(short_name, opts={}, &block)
179
- Chef.provider_priority_map.set(short_name, self, opts, &block)
179
+ Chef.provider_handler_map.set(short_name, self, opts, &block)
180
180
  end
181
181
 
182
182
  def self.provides?(node, resource)
@@ -53,7 +53,7 @@ class Chef
53
53
  requirements.assert(:run) do |a|
54
54
  a.assertion { supports_dsc_invoke_resource? }
55
55
  err = ["You must have Powershell version >= 5.0.10018.0 to use dsc_resource."]
56
- a.failure_message Chef::Exceptions::NoProviderAvailable,
56
+ a.failure_message Chef::Exceptions::ProviderNotFound,
57
57
  err
58
58
  a.whyrun err + ["Assuming a previous resource installs Powershell 5.0.10018.0 or higher."]
59
59
  a.block_action!
@@ -63,7 +63,7 @@ class Chef
63
63
  meta_configuration['RefreshMode'] == 'Disabled'
64
64
  }
65
65
  err = ["The LCM must have its RefreshMode set to Disabled. "]
66
- a.failure_message Chef::Exceptions::NoProviderAvailable, err.join(' ')
66
+ a.failure_message Chef::Exceptions::ProviderNotFound, err.join(' ')
67
67
  a.whyrun err + ["Assuming a previous resource sets the RefreshMode."]
68
68
  a.block_action!
69
69
  end
@@ -70,7 +70,7 @@ class Chef
70
70
  "Powershell 4.0 or higher was not detected on your system and is required to use the dsc_script resource.",
71
71
  ]
72
72
  a.assertion { supports_dsc? }
73
- a.failure_message Chef::Exceptions::NoProviderAvailable, err.join(' ')
73
+ a.failure_message Chef::Exceptions::ProviderNotFound, err.join(' ')
74
74
  a.whyrun err + ["Assuming a previous resource installs Powershell 4.0 or higher."]
75
75
  a.block_action!
76
76
  end
@@ -32,7 +32,7 @@ class Chef
32
32
  @new_resource.options.clear
33
33
  end
34
34
  if @new_resource.fstype == "auto"
35
- @new_resource.fstype = nil
35
+ @new_resource.send(:clear_fstype)
36
36
  end
37
37
  end
38
38
 
@@ -491,37 +491,6 @@ class Chef
491
491
  end
492
492
  end
493
493
 
494
- # Set provider priority
495
- require 'chef/chef_class'
496
- require 'chef/provider/package/dpkg'
497
- require 'chef/provider/package/homebrew'
498
- require 'chef/provider/package/macports'
499
- require 'chef/provider/package/apt'
500
- require 'chef/provider/package/yum'
501
- require 'chef/provider/package/zypper'
502
- require 'chef/provider/package/portage'
503
- require 'chef/provider/package/pacman'
504
- require 'chef/provider/package/ips'
505
- require 'chef/provider/package/solaris'
506
- require 'chef/provider/package/smartos'
507
- require 'chef/provider/package/aix'
508
- require 'chef/provider/package/paludis'
509
-
510
- Chef.set_provider_priority_array :package, [ Homebrew, Macports ], os: "darwin"
511
-
512
- Chef.set_provider_priority_array :package, Apt, platform_family: "debian"
513
- Chef.set_provider_priority_array :package, Yum, platform_family: %w(rhel fedora)
514
- Chef.set_provider_priority_array :package, Zypper, platform_family: "suse"
515
- Chef.set_provider_priority_array :package, Portage, platform: "gentoo"
516
- Chef.set_provider_priority_array :package, Pacman, platform: "arch"
517
- Chef.set_provider_priority_array :package, Ips, platform: %w(openindiana opensolaris omnios solaris2)
518
- Chef.set_provider_priority_array :package, Solaris, platform: "nexentacore"
519
- Chef.set_provider_priority_array :package, Solaris, platform: "solaris2", platform_version: '< 5.11'
520
-
521
- Chef.set_provider_priority_array :package, SmartOS, platform: "smartos"
522
- Chef.set_provider_priority_array :package, Aix, platform: "aix"
523
- Chef.set_provider_priority_array :package, Paludis, platform: "exherbo"
524
-
525
494
  private
526
495
 
527
496
  def shell_out_with_timeout(*command_args)