chef 0.9.8 → 0.9.10.rc.0

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 (98) hide show
  1. data/README.rdoc +1 -1
  2. data/distro/common/man/man8/knife.8 +89 -79
  3. data/distro/common/markdown/knife.mkd +7 -0
  4. data/distro/debian/etc/default/chef-server +3 -0
  5. data/distro/debian/etc/default/chef-server-webui +3 -0
  6. data/distro/debian/etc/default/chef-solr +3 -0
  7. data/distro/debian/etc/default/chef-solr-indexer +3 -0
  8. data/distro/debian/etc/init.d/chef-server +3 -1
  9. data/distro/debian/etc/init.d/chef-server-webui +3 -1
  10. data/distro/redhat/etc/init.d/chef-client +1 -1
  11. data/lib/chef/application.rb +2 -0
  12. data/lib/chef/application/client.rb +5 -3
  13. data/lib/chef/application/knife.rb +16 -5
  14. data/lib/chef/application/solo.rb +0 -1
  15. data/lib/chef/checksum.rb +65 -1
  16. data/lib/chef/checksum_cache.rb +173 -0
  17. data/lib/chef/client.rb +84 -121
  18. data/lib/chef/cookbook/remote_file_vendor.rb +10 -3
  19. data/lib/chef/cookbook/syntax_check.rb +2 -2
  20. data/lib/chef/cookbook_loader.rb +2 -0
  21. data/lib/chef/cookbook_site_streaming_uploader.rb +29 -0
  22. data/lib/chef/cookbook_uploader.rb +8 -7
  23. data/lib/chef/cookbook_version.rb +155 -114
  24. data/lib/chef/exceptions.rb +5 -0
  25. data/lib/chef/handler.rb +43 -0
  26. data/lib/chef/index_queue/consumer.rb +1 -1
  27. data/lib/chef/index_queue/indexable.rb +1 -1
  28. data/lib/chef/knife.rb +18 -5
  29. data/lib/chef/knife/bootstrap.rb +2 -2
  30. data/lib/chef/knife/bootstrap/archlinux-gems.erb +44 -0
  31. data/lib/chef/knife/bootstrap/client-install.vbs +80 -0
  32. data/lib/chef/knife/bootstrap/ubuntu10.04-apt.erb +2 -2
  33. data/lib/chef/knife/bootstrap/ubuntu10.04-gems.erb +6 -7
  34. data/lib/chef/knife/bootstrap/windows-gems.erb +34 -0
  35. data/lib/chef/knife/configure_client.rb +4 -2
  36. data/lib/chef/knife/cookbook_metadata.rb +1 -1
  37. data/lib/chef/knife/cookbook_site_share.rb +2 -1
  38. data/lib/chef/knife/cookbook_site_vendor.rb +6 -0
  39. data/lib/chef/knife/cookbook_test.rb +1 -1
  40. data/lib/chef/knife/ec2_server_create.rb +51 -26
  41. data/lib/chef/knife/exec.rb +52 -0
  42. data/lib/chef/knife/ssh.rb +27 -15
  43. data/lib/chef/knife/status.rb +27 -10
  44. data/lib/chef/knife/windows_bootstrap.rb +154 -0
  45. data/lib/chef/mixin/checksum.rb +2 -2
  46. data/lib/chef/mixin/xml_escape.rb +75 -49
  47. data/lib/chef/node.rb +54 -58
  48. data/lib/chef/node/attribute.rb +61 -53
  49. data/lib/chef/platform.rb +19 -2
  50. data/lib/chef/provider/breakpoint.rb +1 -1
  51. data/lib/chef/provider/cookbook_file.rb +3 -3
  52. data/lib/chef/provider/cron.rb +3 -3
  53. data/lib/chef/provider/cron/solaris.rb +195 -0
  54. data/lib/chef/provider/deploy.rb +3 -3
  55. data/lib/chef/provider/directory.rb +2 -2
  56. data/lib/chef/provider/env.rb +5 -5
  57. data/lib/chef/provider/execute.rb +1 -1
  58. data/lib/chef/provider/file.rb +10 -9
  59. data/lib/chef/provider/git.rb +12 -4
  60. data/lib/chef/provider/group.rb +5 -5
  61. data/lib/chef/provider/http_request.rb +25 -9
  62. data/lib/chef/provider/ifconfig.rb +2 -2
  63. data/lib/chef/provider/link.rb +11 -6
  64. data/lib/chef/provider/log.rb +1 -0
  65. data/lib/chef/provider/mdadm.rb +3 -3
  66. data/lib/chef/provider/mount.rb +5 -5
  67. data/lib/chef/provider/mount/mount.rb +1 -1
  68. data/lib/chef/provider/ohai.rb +41 -0
  69. data/lib/chef/provider/package.rb +5 -5
  70. data/lib/chef/provider/package/yum-dump.py +5 -2
  71. data/lib/chef/provider/remote_directory.rb +11 -5
  72. data/lib/chef/provider/remote_file.rb +2 -2
  73. data/lib/chef/provider/route.rb +154 -133
  74. data/lib/chef/provider/ruby_block.rb +1 -1
  75. data/lib/chef/provider/service.rb +6 -6
  76. data/lib/chef/provider/subversion.rb +12 -9
  77. data/lib/chef/provider/template.rb +2 -2
  78. data/lib/chef/provider/user.rb +7 -7
  79. data/lib/chef/provider/user/useradd.rb +15 -1
  80. data/lib/chef/providers.rb +2 -0
  81. data/lib/chef/resource.rb +164 -58
  82. data/lib/chef/resource/http_request.rb +9 -0
  83. data/lib/chef/resource/ohai.rb +40 -0
  84. data/lib/chef/resource/remote_directory.rb +10 -1
  85. data/lib/chef/resource/rpm_package.rb +34 -0
  86. data/lib/chef/resource_collection.rb +3 -2
  87. data/lib/chef/resources.rb +2 -0
  88. data/lib/chef/rest.rb +13 -7
  89. data/lib/chef/rest/auth_credentials.rb +1 -1
  90. data/lib/chef/rest/rest_request.rb +3 -1
  91. data/lib/chef/runner.rb +31 -55
  92. data/lib/chef/shef/shef_session.rb +1 -1
  93. data/lib/chef/util/windows/net_use.rb +1 -1
  94. data/lib/chef/version.rb +1 -1
  95. data/lib/chef/webui_user.rb +0 -1
  96. metadata +38 -19
  97. data/lib/chef/cache.rb +0 -61
  98. data/lib/chef/cache/checksum.rb +0 -91
@@ -28,6 +28,7 @@ class Chef
28
28
  @message = name
29
29
  @url = nil
30
30
  @action = :get
31
+ @headers = {}
31
32
  @allowed_actions.push(:get, :put, :post, :delete, :head, :options)
32
33
  end
33
34
 
@@ -46,6 +47,14 @@ class Chef
46
47
  :kind_of => Object
47
48
  )
48
49
  end
50
+
51
+ def headers(args=nil)
52
+ set_or_return(
53
+ :headers,
54
+ args,
55
+ :kind_of => Hash
56
+ )
57
+ end
49
58
 
50
59
  end
51
60
  end
@@ -0,0 +1,40 @@
1
+ #
2
+ # Author:: Michael Leinartas (<mleinartas@gmail.com>)
3
+ # Copyright:: Copyright (c) 2010 Michael Leinartas
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
+ class Chef
20
+ class Resource
21
+ class Ohai < Chef::Resource
22
+
23
+ def initialize(name, run_context=nil)
24
+ super
25
+ @resource_name = :ohai
26
+ @allowed_actions.push(:reload)
27
+ @action = :reload
28
+ @plugin = nil
29
+ end
30
+
31
+ def plugin(arg=nil)
32
+ set_or_return(
33
+ :plugin,
34
+ arg,
35
+ :kind_of => [ String ]
36
+ )
37
+ end
38
+ end
39
+ end
40
+ end
@@ -35,7 +35,8 @@ class Chef
35
35
  @files_owner = nil
36
36
  @files_group = nil
37
37
  @files_mode = 0644
38
- @allowed_actions.push(:create, :delete)
38
+ @overwrite = true
39
+ @allowed_actions.push(:create, :create_if_missing, :delete)
39
40
  @cookbook = nil
40
41
  end
41
42
 
@@ -87,6 +88,14 @@ class Chef
87
88
  )
88
89
  end
89
90
 
91
+ def overwrite(arg=nil)
92
+ set_or_return(
93
+ :overwrite,
94
+ arg,
95
+ :kind_of => [ TrueClass, FalseClass ]
96
+ )
97
+ end
98
+
90
99
  def cookbook(args=nil)
91
100
  set_or_return(
92
101
  :cookbook,
@@ -0,0 +1,34 @@
1
+ #
2
+ # Author:: Thomas Bishop (<bishop.thomas@gmail.com>)
3
+ # Copyright:: Copyright (c) 2010 Thomas Bishop
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/resource/package'
20
+ require 'chef/provider/package/rpm'
21
+
22
+ class Chef
23
+ class Resource
24
+ class RpmPackage < Chef::Resource::Package
25
+
26
+ def initialize(name, run_context=nil)
27
+ super
28
+ @resource_name = :rpm_package
29
+ @provider = Chef::Provider::Package::Rpm
30
+ end
31
+
32
+ end
33
+ end
34
+ end
@@ -112,7 +112,7 @@ class Chef
112
112
  end
113
113
  res = @resources_by_name[lookup_by]
114
114
  unless res
115
- raise ArgumentError, "Cannot find a resource matching #{lookup_by} (did you define it first?)"
115
+ raise Chef::Exceptions::ResourceNotFound, "Cannot find a resource matching #{lookup_by} (did you define it first?)"
116
116
  end
117
117
  @resources[res]
118
118
  end
@@ -138,7 +138,8 @@ class Chef
138
138
  when String
139
139
  results << find_resource_by_string(arg)
140
140
  else
141
- raise ArgumentError, "resources takes arguments as a hash or strings!"
141
+ msg = "arguments to #{self.class.name}#find should be of the form :resource => 'name' or resource[name]"
142
+ raise Chef::Exceptions::InvalidResourceSpecification, msg
142
143
  end
143
144
  end
144
145
  flat_results = results.flatten
@@ -42,6 +42,7 @@ require 'chef/resource/log'
42
42
  require 'chef/resource/macports_package'
43
43
  require 'chef/resource/mdadm'
44
44
  require 'chef/resource/mount'
45
+ require 'chef/resource/ohai'
45
46
  require 'chef/resource/package'
46
47
  require 'chef/resource/pacman_package'
47
48
  require 'chef/resource/perl'
@@ -49,6 +50,7 @@ require 'chef/resource/portage_package'
49
50
  require 'chef/resource/python'
50
51
  require 'chef/resource/remote_directory'
51
52
  require 'chef/resource/remote_file'
53
+ require 'chef/resource/rpm_package'
52
54
  require 'chef/resource/route'
53
55
  require 'chef/resource/ruby'
54
56
  require 'chef/resource/ruby_block'
@@ -182,7 +182,9 @@ class Chef
182
182
  response_body = res.body.chomp
183
183
  JSON.parse(response_body)
184
184
  else
185
- if raw
185
+ if method == :HEAD
186
+ true
187
+ elsif raw
186
188
  tf
187
189
  else
188
190
  res.body
@@ -190,6 +192,8 @@ class Chef
190
192
  end
191
193
  elsif res.kind_of?(Net::HTTPFound) or res.kind_of?(Net::HTTPMovedPermanently)
192
194
  follow_redirect {run_request(:GET, create_url(res['location']), {}, false, nil, raw)}
195
+ elsif res.kind_of?(Net::HTTPNotModified)
196
+ false
193
197
  else
194
198
  if res['content-type'] =~ /json/
195
199
  exception = JSON.parse(res.body)
@@ -369,12 +373,14 @@ class Chef
369
373
  response.read_body do |chunk|
370
374
  tf.write(chunk)
371
375
  size += chunk.size
372
- if size == 0
373
- Chef::Log.debug("#{url.path} done (0 length file)")
374
- elsif total == 0
375
- Chef::Log.debug("#{url.path} (zero content length or no Content-Length header)")
376
- else
377
- Chef::Log.debug("#{url.path}" + " %d%% done (%d of %d)" % [(size * 100) / total, size, total])
376
+ if Chef::Log.verbose
377
+ if size == 0
378
+ Chef::Log.debug("#{url.path} done (0 length file)")
379
+ elsif total == 0
380
+ Chef::Log.debug("#{url.path} (zero content length or no Content-Length header)")
381
+ else
382
+ Chef::Log.debug("#{url.path}" + " %d%% done (%d of %d)" % [(size * 100) / total, size, total])
383
+ end
378
384
  end
379
385
  end
380
386
  tf.close
@@ -56,7 +56,7 @@ class Chef
56
56
 
57
57
  def load_signing_key
58
58
  begin
59
- @raw_key = IO.read(key_file)
59
+ @raw_key = IO.read(key_file).strip
60
60
  rescue SystemCallError, IOError => e
61
61
  Chef::Log.fatal "Failed to read the private key #{key_file}: #{e.inspect}, #{e.backtrace}"
62
62
  raise Chef::Exceptions::PrivateKeyMissing, "I cannot read #{key_file}, which you told me to use to sign requests!"
@@ -172,8 +172,10 @@ class Chef
172
172
  Net::HTTP::Put.new(req_path, headers)
173
173
  when "delete"
174
174
  Net::HTTP::Delete.new(req_path, headers)
175
+ when "head"
176
+ Net::HTTP::Head.new(req_path, headers)
175
177
  else
176
- raise ArgumentError, "You must provide :GET, :PUT, :POST or :DELETE as the method"
178
+ raise ArgumentError, "You must provide :GET, :PUT, :POST, :DELETE or :HEAD as the method"
177
179
  end
178
180
 
179
181
  @http_request.body = request_body if (request_body && @http_request.request_body_permitted?)
@@ -29,11 +29,14 @@ class Chef
29
29
  class Runner
30
30
 
31
31
  attr_reader :run_context
32
-
32
+
33
+ attr_reader :delayed_actions
34
+
33
35
  include Chef::Mixin::ParamsValidate
34
36
 
35
37
  def initialize(run_context)
36
- @run_context = run_context
38
+ @run_context = run_context
39
+ @delayed_actions = []
37
40
  end
38
41
 
39
42
  def build_provider(resource)
@@ -46,28 +49,24 @@ class Chef
46
49
 
47
50
  # Determine the appropriate provider for the given resource, then
48
51
  # execute it.
49
- def run_action(resource, action, delayed_actions)
50
- provider = build_provider(resource)
51
- provider.send("action_#{action}")
52
-
52
+ def run_action(resource, action)
53
+ resource.run_action(action)
54
+
53
55
  # Execute any immediate and queue up any delayed notifications
54
- # associated with the resource.
55
- if resource.updated
56
- resource.notifies_immediate.each do |notify|
57
- Chef::Log.info("#{resource} sending #{notify.action} action to #{notify.resource} (immediate)")
58
- run_action(notify.resource, notify.action, delayed_actions)
56
+ # associated with the resource, but only if it was updated *this time*
57
+ # we ran an action on it.
58
+ if resource.updated_by_last_action?
59
+ resource.immediate_notifications.each do |notification|
60
+ Chef::Log.info("#{resource} sending #{notification.action} action to #{notification.resource} (immediate)")
61
+ run_action(notification.resource, notification.action)
59
62
  end
60
-
61
- resource.notifies_delayed.each do |notify|
62
- unless delayed_actions.include?(notify)
63
- delayed_actions << notify
64
- delayed_actions << lambda {
65
- Chef::Log.info("#{resource} sending #{notify.action} action to #{notify.resource} (delayed)")
66
- }
63
+
64
+ resource.delayed_notifications.each do |notification|
65
+ if delayed_actions.any? { |existing_notification| existing_notification.duplicates?(notification) }
66
+ Chef::Log.info( "#{resource} not queuing delayed action #{notification.action} on #{notification.resource}"\
67
+ " (delayed), as it's already been queued")
67
68
  else
68
- delayed_actions << lambda {
69
- Chef::Log.info("#{resource} not sending #{notify.action} action to #{notify.resource} (delayed), as it's already been queued")
70
- }
69
+ delayed_actions << notification
71
70
  end
72
71
  end
73
72
  end
@@ -76,38 +75,18 @@ class Chef
76
75
  # Iterates over the +resource_collection+ in the +run_context+ calling
77
76
  # +run_action+ for each resource in turn.
78
77
  def converge
79
- delayed_actions = Array.new
80
-
78
+ # Resolve all lazy/forward references in notifications
79
+ run_context.resource_collection.each do |resource|
80
+ resource.resolve_notification_references
81
+ end
82
+
81
83
  # Execute each resource.
82
84
  run_context.resource_collection.execute_each_resource do |resource|
83
85
  begin
84
86
  Chef::Log.debug("Processing #{resource} on #{run_context.node.name}")
85
87
 
86
- # Check if this resource has an only_if block -- if it does,
87
- # evaluate the only_if block and skip the resource if
88
- # appropriate.
89
- if resource.only_if
90
- unless Chef::Mixin::Command.only_if(resource.only_if, resource.only_if_args)
91
- Chef::Log.debug("Skipping #{resource} due to only_if")
92
- next
93
- end
94
- end
95
-
96
- # Check if this resource has a not_if block -- if it does,
97
- # evaluate the not_if block and skip the resource if
98
- # appropriate.
99
- if resource.not_if
100
- unless Chef::Mixin::Command.not_if(resource.not_if, resource.not_if_args)
101
- Chef::Log.debug("Skipping #{resource} due to not_if")
102
- next
103
- end
104
- end
105
-
106
88
  # Execute each of this resource's actions.
107
- action_list = resource.action.kind_of?(Array) ? resource.action : [ resource.action ]
108
- action_list.each do |action|
109
- run_action(resource, action, delayed_actions)
110
- end
89
+ Array(resource.action).each {|action| run_action(resource, action)}
111
90
  rescue => e
112
91
  Chef::Log.error("#{resource} (#{resource.source_line}) had an error:\n#{e}\n#{e.backtrace.join("\n")}")
113
92
  raise e unless resource.ignore_failure
@@ -115,14 +94,11 @@ class Chef
115
94
  end
116
95
 
117
96
  # Run all our :delayed actions
118
- delayed_actions.each do |notify_or_lambda|
119
- if notify_or_lambda.is_a?(Proc)
120
- # log message
121
- notify_or_lambda.call
122
- else
123
- # OpenStruct of resource/action to call
124
- run_action(notify_or_lambda.resource, notify_or_lambda.action, delayed_actions)
125
- end
97
+ delayed_actions.each do |notification|
98
+ Chef::Log.info( "#{notification.notifying_resource} sending #{notification.action}"\
99
+ " action to #{notification.resource} (delayed)")
100
+ # Struct of resource/action to call
101
+ run_action(notification.resource, notification.action)
126
102
  end
127
103
 
128
104
  true
@@ -219,7 +219,7 @@ module Shef
219
219
 
220
220
  ohai_data = @ohai.data.merge(@node.automatic_attrs)
221
221
 
222
- @node.process_external_attrs(ohai_data,nil)
222
+ @node.consume_external_attrs(ohai_data,nil)
223
223
  @node.reset_defaults_and_overrides
224
224
 
225
225
  @node
@@ -81,7 +81,7 @@ class Chef::Util::Windows::NetUse < Chef::Util::Windows
81
81
  def add(args)
82
82
  if args.class == String
83
83
  remote = args
84
- args = Hash.new(USE_INFO_2)
84
+ args = Hash.new
85
85
  args[:remote] = remote
86
86
  end
87
87
  args[:local] ||= @localname
@@ -17,5 +17,5 @@
17
17
 
18
18
  class Chef
19
19
  CHEF_ROOT = File.dirname(File.expand_path(File.dirname(__FILE__)))
20
- VERSION = '0.9.8'
20
+ VERSION = '0.9.10.rc.0'
21
21
  end
@@ -32,7 +32,6 @@ class Chef
32
32
  attr_reader :password, :salt, :couchdb_id, :couchdb_rev
33
33
 
34
34
  include Chef::Mixin::ParamsValidate
35
- include Chef::IndexQueue::Indexable
36
35
 
37
36
  DESIGN_DOCUMENT = {
38
37
  "version" => 3,
metadata CHANGED
@@ -1,12 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chef
3
3
  version: !ruby/object:Gem::Version
4
- prerelease: false
4
+ prerelease: true
5
5
  segments:
6
6
  - 0
7
7
  - 9
8
- - 8
9
- version: 0.9.8
8
+ - 10
9
+ - rc
10
+ - 0
11
+ version: 0.9.10.rc.0
10
12
  platform: ruby
11
13
  authors:
12
14
  - Adam Jacob
@@ -14,7 +16,7 @@ autorequire:
14
16
  bindir: bin
15
17
  cert_chain: []
16
18
 
17
- date: 2010-08-05 00:00:00 -07:00
19
+ date: 2010-10-07 00:00:00 -07:00
18
20
  default_executable:
19
21
  dependencies:
20
22
  - !ruby/object:Gem::Dependency
@@ -28,8 +30,8 @@ dependencies:
28
30
  segments:
29
31
  - 1
30
32
  - 1
31
- - 0
32
- version: 1.1.0
33
+ - 2
34
+ version: 1.1.2
33
35
  type: :runtime
34
36
  version_requirements: *id001
35
37
  - !ruby/object:Gem::Dependency
@@ -88,8 +90,8 @@ dependencies:
88
90
  segments:
89
91
  - 0
90
92
  - 5
91
- - 6
92
- version: 0.5.6
93
+ - 7
94
+ version: 0.5.7
93
95
  type: :runtime
94
96
  version_requirements: *id005
95
97
  - !ruby/object:Gem::Dependency
@@ -105,13 +107,13 @@ dependencies:
105
107
  - 0
106
108
  - 4
107
109
  version: 1.0.4
108
- - - <=
110
+ - - <
109
111
  - !ruby/object:Gem::Version
110
112
  segments:
111
113
  - 1
112
- - 5
113
- - 1
114
- version: 1.5.1
114
+ - 7
115
+ - 0
116
+ version: 1.7.0
115
117
  type: :runtime
116
118
  version_requirements: *id006
117
119
  - !ruby/object:Gem::Dependency
@@ -135,13 +137,20 @@ dependencies:
135
137
  requirement: &id008 !ruby/object:Gem::Requirement
136
138
  none: false
137
139
  requirements:
140
+ - - ">="
141
+ - !ruby/object:Gem::Version
142
+ segments:
143
+ - 1
144
+ - 4
145
+ - 4
146
+ version: 1.4.4
138
147
  - - <=
139
148
  - !ruby/object:Gem::Version
140
149
  segments:
141
150
  - 1
142
151
  - 4
143
- - 2
144
- version: 1.4.2
152
+ - 6
153
+ version: 1.4.6
145
154
  type: :runtime
146
155
  version_requirements: *id008
147
156
  - !ruby/object:Gem::Dependency
@@ -274,10 +283,9 @@ files:
274
283
  - lib/chef/application/solo.rb
275
284
  - lib/chef/application.rb
276
285
  - lib/chef/applications.rb
277
- - lib/chef/cache/checksum.rb
278
- - lib/chef/cache.rb
279
286
  - lib/chef/certificate.rb
280
287
  - lib/chef/checksum.rb
288
+ - lib/chef/checksum_cache.rb
281
289
  - lib/chef/client.rb
282
290
  - lib/chef/config.rb
283
291
  - lib/chef/cookbook/cookbook_collection.rb
@@ -304,10 +312,13 @@ files:
304
312
  - lib/chef/index_queue/consumer.rb
305
313
  - lib/chef/index_queue/indexable.rb
306
314
  - lib/chef/index_queue.rb
315
+ - lib/chef/knife/bootstrap/archlinux-gems.erb
307
316
  - lib/chef/knife/bootstrap/centos5-gems.erb
317
+ - lib/chef/knife/bootstrap/client-install.vbs
308
318
  - lib/chef/knife/bootstrap/fedora13-gems.erb
309
319
  - lib/chef/knife/bootstrap/ubuntu10.04-apt.erb
310
320
  - lib/chef/knife/bootstrap/ubuntu10.04-gems.erb
321
+ - lib/chef/knife/bootstrap/windows-gems.erb
311
322
  - lib/chef/knife/bootstrap.rb
312
323
  - lib/chef/knife/client_bulk_delete.rb
313
324
  - lib/chef/knife/client_create.rb
@@ -345,6 +356,7 @@ files:
345
356
  - lib/chef/knife/ec2_server_create.rb
346
357
  - lib/chef/knife/ec2_server_delete.rb
347
358
  - lib/chef/knife/ec2_server_list.rb
359
+ - lib/chef/knife/exec.rb
348
360
  - lib/chef/knife/index_rebuild.rb
349
361
  - lib/chef/knife/node_bulk_delete.rb
350
362
  - lib/chef/knife/node_create.rb
@@ -376,6 +388,7 @@ files:
376
388
  - lib/chef/knife/terremark_server_create.rb
377
389
  - lib/chef/knife/terremark_server_delete.rb
378
390
  - lib/chef/knife/terremark_server_list.rb
391
+ - lib/chef/knife/windows_bootstrap.rb
379
392
  - lib/chef/knife.rb
380
393
  - lib/chef/log.rb
381
394
  - lib/chef/mixin/check_helper.rb
@@ -407,6 +420,7 @@ files:
407
420
  - lib/chef/platform.rb
408
421
  - lib/chef/provider/breakpoint.rb
409
422
  - lib/chef/provider/cookbook_file.rb
423
+ - lib/chef/provider/cron/solaris.rb
410
424
  - lib/chef/provider/cron.rb
411
425
  - lib/chef/provider/deploy/revision.rb
412
426
  - lib/chef/provider/deploy/timestamped.rb
@@ -433,6 +447,7 @@ files:
433
447
  - lib/chef/provider/mount/mount.rb
434
448
  - lib/chef/provider/mount/windows.rb
435
449
  - lib/chef/provider/mount.rb
450
+ - lib/chef/provider/ohai.rb
436
451
  - lib/chef/provider/package/apt.rb
437
452
  - lib/chef/provider/package/dpkg.rb
438
453
  - lib/chef/provider/package/easy_install.rb
@@ -499,6 +514,7 @@ files:
499
514
  - lib/chef/resource/macports_package.rb
500
515
  - lib/chef/resource/mdadm.rb
501
516
  - lib/chef/resource/mount.rb
517
+ - lib/chef/resource/ohai.rb
502
518
  - lib/chef/resource/package.rb
503
519
  - lib/chef/resource/pacman_package.rb
504
520
  - lib/chef/resource/perl.rb
@@ -507,6 +523,7 @@ files:
507
523
  - lib/chef/resource/remote_directory.rb
508
524
  - lib/chef/resource/remote_file.rb
509
525
  - lib/chef/resource/route.rb
526
+ - lib/chef/resource/rpm_package.rb
510
527
  - lib/chef/resource/ruby.rb
511
528
  - lib/chef/resource/ruby_block.rb
512
529
  - lib/chef/resource/scm.rb
@@ -578,11 +595,13 @@ required_ruby_version: !ruby/object:Gem::Requirement
578
595
  required_rubygems_version: !ruby/object:Gem::Requirement
579
596
  none: false
580
597
  requirements:
581
- - - ">="
598
+ - - ">"
582
599
  - !ruby/object:Gem::Version
583
600
  segments:
584
- - 0
585
- version: "0"
601
+ - 1
602
+ - 3
603
+ - 1
604
+ version: 1.3.1
586
605
  requirements: []
587
606
 
588
607
  rubyforge_project: