chef 0.9.8 → 0.9.10.rc.0

Sign up to get free protection for your applications and to get access to all the features.
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: