knife-solo 0.3.0.pre3 → 0.3.0.pre4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (36) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +29 -4
  3. data/lib/chef/knife/solo_bootstrap.rb +1 -1
  4. data/lib/chef/knife/solo_clean.rb +1 -0
  5. data/lib/chef/knife/solo_cook.rb +32 -37
  6. data/lib/chef/knife/solo_init.rb +22 -16
  7. data/lib/knife-solo.rb +1 -0
  8. data/lib/knife-solo/berkshelf.rb +37 -0
  9. data/lib/knife-solo/bootstraps/linux.rb +12 -17
  10. data/lib/knife-solo/cookbook_manager.rb +120 -0
  11. data/lib/knife-solo/cookbook_manager_selector.rb +75 -0
  12. data/lib/knife-solo/deprecated_command.rb +5 -0
  13. data/lib/knife-solo/info.rb +1 -1
  14. data/lib/knife-solo/librarian.rb +39 -0
  15. data/lib/knife-solo/node_config_command.rb +10 -1
  16. data/lib/knife-solo/resources/knife.rb +3 -0
  17. data/lib/knife-solo/resources/solo.rb.erb +1 -0
  18. data/lib/knife-solo/ssh_command.rb +14 -2
  19. data/test/deprecated_command_test.rb +14 -1
  20. data/test/gemfiles/Gemfile.chef-10 +5 -0
  21. data/test/gemfiles/Gemfile.chef-11 +5 -0
  22. data/test/integration/cases/apache2_bootstrap.rb +8 -1
  23. data/test/integration/cases/cache_path_usage.rb +1 -1
  24. data/test/integration/cases/encrypted_data_bag.rb +1 -1
  25. data/test/integration/{centos5_6_test.rb → centos5_8_test.rb} +2 -2
  26. data/test/integration/centos6_3_test.rb +24 -0
  27. data/test/integration/debian7_knife_bootstrap_test.rb +1 -1
  28. data/test/solo_clean_test.rb +6 -0
  29. data/test/solo_cook_test.rb +60 -9
  30. data/test/solo_init_test.rb +149 -9
  31. data/test/ssh_command_test.rb +27 -0
  32. data/test/support/ec2_runner.rb +2 -2
  33. data/test/support/integration_test.rb +3 -3
  34. data/test/support/kitchen_helper.rb +1 -1
  35. data/test/support/secret_cookbook/metadata.rb +1 -0
  36. metadata +66 -63
@@ -2,6 +2,9 @@ require 'test_helper'
2
2
  require 'support/kitchen_helper'
3
3
 
4
4
  require 'chef/knife/solo_init'
5
+ require 'fileutils'
6
+ require 'knife-solo/berkshelf'
7
+ require 'knife-solo/librarian'
5
8
 
6
9
  class SoloInitTest < TestCase
7
10
  include KitchenHelper
@@ -34,16 +37,115 @@ class SoloInitTest < TestCase
34
37
  end
35
38
  end
36
39
 
40
+ def test_bootstraps_berkshelf_if_berksfile_found
41
+ outside_kitchen do
42
+ FileUtils.touch "Berksfile"
43
+ KnifeSolo::Berkshelf.any_instance.expects(:bootstrap)
44
+ command(".").run
45
+ end
46
+ end
47
+
48
+ def test_wont_bootstrap_berkshelf_if_cheffile_found
49
+ outside_kitchen do
50
+ FileUtils.touch "Cheffile"
51
+ KnifeSolo::Berkshelf.any_instance.expects(:bootstrap).never
52
+ command(".").run
53
+ refute File.exist?("Berksfile")
54
+ end
55
+ end
56
+
57
+ def test_wont_create_berksfile_by_default
58
+ outside_kitchen do
59
+ command("new_kitchen").run
60
+ refute File.exist?("new_kitchen/Berksfile")
61
+ end
62
+ end
63
+
64
+ def test_creates_berksfile_if_requested
65
+ outside_kitchen do
66
+ cmd = command("new_kitchen", "--berkshelf")
67
+ KnifeSolo::Berkshelf.expects(:load_gem).never
68
+ cmd.run
69
+ assert File.exist?("new_kitchen/Berksfile")
70
+ end
71
+ end
72
+
73
+ def test_wont_overwrite_berksfile
74
+ outside_kitchen do
75
+ File.open("Berksfile", "w") do |f|
76
+ f << "testdata"
77
+ end
78
+ command(".", "--berkshelf").run
79
+ assert_equal "testdata", IO.read("Berksfile")
80
+ end
81
+ end
82
+
83
+ def test_wont_create_berksfile_if_denied
84
+ outside_kitchen do
85
+ cmd = command("new_kitchen", "--no-berkshelf")
86
+ KnifeSolo::Berkshelf.expects(:load_gem).never
87
+ cmd.run
88
+ refute File.exist?("new_kitchen/Berksfile")
89
+ end
90
+ end
91
+
92
+ def test_wont_create_berksfile_if_librarian_requested
93
+ outside_kitchen do
94
+ cmd = command("new_kitchen", "--librarian")
95
+ KnifeSolo::Berkshelf.expects(:load_gem).never
96
+ cmd.run
97
+ refute File.exist?("new_kitchen/Berksfile")
98
+ end
99
+ end
100
+
101
+ def test_creates_berksfile_if_gem_installed
102
+ outside_kitchen do
103
+ cmd = command(".")
104
+ KnifeSolo::Berkshelf.expects(:load_gem).returns(true)
105
+ cmd.run
106
+ assert File.exist?("Berksfile")
107
+ end
108
+ end
109
+
110
+ def test_wont_create_berksfile_if_gem_missing
111
+ outside_kitchen do
112
+ cmd = command(".")
113
+ KnifeSolo::Berkshelf.expects(:load_gem).returns(false)
114
+ cmd.run
115
+ refute File.exist?("Berksfile")
116
+ end
117
+ end
118
+
119
+ def test_bootstraps_librarian_if_cheffile_found
120
+ outside_kitchen do
121
+ FileUtils.touch "Cheffile"
122
+ KnifeSolo::Librarian.any_instance.expects(:bootstrap)
123
+ command(".").run
124
+ end
125
+ end
126
+
127
+ def test_wont_bootstrap_librarian_if_berksfile_found
128
+ outside_kitchen do
129
+ FileUtils.touch "Berksfile"
130
+ KnifeSolo::Librarian.any_instance.expects(:bootstrap).never
131
+ command(".").run
132
+ refute File.exist?("Cheffile")
133
+ end
134
+ end
135
+
37
136
  def test_wont_create_cheffile_by_default
38
- in_kitchen do
137
+ outside_kitchen do
138
+ command(".").run
39
139
  refute File.exist?("Cheffile")
40
140
  end
41
141
  end
42
142
 
43
- def test_creates_cheffile_if_specified
143
+ def test_creates_cheffile_if_requested
44
144
  outside_kitchen do
45
- command("foo", "--librarian").run
46
- assert File.exist?("foo/Cheffile")
145
+ cmd = command(".", "--librarian")
146
+ KnifeSolo::Librarian.expects(:load_gem).never
147
+ cmd.run
148
+ assert File.exist?("Cheffile")
47
149
  end
48
150
  end
49
151
 
@@ -57,21 +159,59 @@ class SoloInitTest < TestCase
57
159
  end
58
160
  end
59
161
 
60
- def test_creates_gitignore_for_librarian
162
+ def test_wont_create_cheffile_if_denied
163
+ outside_kitchen do
164
+ cmd = command("new_kitchen", "--no-librarian")
165
+ KnifeSolo::Librarian.expects(:load_gem).never
166
+ cmd.run
167
+ refute File.exist?("new_kitchen/Cheffile")
168
+ end
169
+ end
170
+
171
+ def test_wont_create_cheffile_if_berkshelf_requested
172
+ outside_kitchen do
173
+ cmd = command(".", "--berkshelf")
174
+ KnifeSolo::Librarian.expects(:load_gem).never
175
+ cmd.run
176
+ refute File.exist?("Cheffile")
177
+ end
178
+ end
179
+
180
+ def test_creates_cheffile_if_gem_installed
181
+ outside_kitchen do
182
+ cmd = command(".")
183
+ KnifeSolo::Librarian.expects(:load_gem).returns(true)
184
+ cmd.run
185
+ assert File.exist?("Cheffile")
186
+ end
187
+ end
188
+
189
+ def test_wont_create_cheffile_if_gem_missing
190
+ outside_kitchen do
191
+ cmd = command(".")
192
+ KnifeSolo::Librarian.expects(:load_gem).returns(false)
193
+ cmd.run
194
+ refute File.exist?("Cheffile")
195
+ end
196
+ end
197
+
198
+ def test_gitignores_cookbooks_directory
61
199
  outside_kitchen do
62
- command("bar", "--librarian").run
63
- assert File.exist?("bar/.gitignore")
200
+ command("bar").run
201
+ assert_equal "/cookbooks/", IO.read("bar/.gitignore").chomp
64
202
  end
65
203
  end
66
204
 
67
- def test_wont_create_gitignore_for_librarian_if_denied
205
+ def test_wont_create_gitignore_if_denied
68
206
  outside_kitchen do
69
- command(".", "--librarian", "--no-git").run
207
+ command(".", "--no-git").run
70
208
  refute File.exist?(".gitignore")
71
209
  end
72
210
  end
73
211
 
74
212
  def command(*args)
213
+ KnifeSolo::Berkshelf.stubs(:load_gem).returns(false)
214
+ KnifeSolo::Librarian.stubs(:load_gem).returns(false)
75
215
  knife_command(Chef::Knife::SoloInit, *args)
76
216
  end
77
217
  end
@@ -112,6 +112,33 @@ class SshCommandTest < TestCase
112
112
  assert_exits { cmd.validate_ssh_options! }
113
113
  end
114
114
 
115
+ def test_run_with_fallbacks_returns_first_successful_result
116
+ cmds = sequence("cmds")
117
+ cmd = command
118
+ cmd.expects(:run_command).with("first", {}).returns(result(1, "fail")).in_sequence(cmds)
119
+ cmd.expects(:run_command).with("second", {}).returns(result(0, "w00t")).in_sequence(cmds)
120
+ cmd.expects(:run_command).never
121
+
122
+ res = cmd.run_with_fallbacks(["first", "second", "third"])
123
+ assert_equal "w00t", res.stdout
124
+ assert res.success?
125
+ end
126
+
127
+ def test_run_with_fallbacks_returns_error_if_all_fail
128
+ cmd = command
129
+ cmd.expects(:run_command).twice.returns(result(64, "fail"))
130
+
131
+ res = cmd.run_with_fallbacks(["foo", "bar"])
132
+ assert_equal "", res.stdout
133
+ assert_equal 1, res.exit_code
134
+ end
135
+
136
+ def result(code, stdout = "")
137
+ res = KnifeSolo::SshCommand::ExecResult.new(code)
138
+ res.stdout = stdout
139
+ res
140
+ end
141
+
115
142
  def command(*args)
116
143
  Net::SSH::Config.stubs(:default_files)
117
144
  knife_command(DummySshCommand, *args)
@@ -39,7 +39,7 @@ class EC2Runner < MiniTest::Unit
39
39
  server.wait_for { ready? }
40
40
  logger.info "#{test.class} server (#{server.dns_name}) reported ready, trying to connect to ssh..."
41
41
  server.wait_for do
42
- `nc #{public_ip_address} 22 -w 1 -q 0 </dev/null`
42
+ `nc #{dns_name} 22 -w 1 -q 0 </dev/null`
43
43
  $?.success?
44
44
  end
45
45
  logger.info "Sleeping 10s to avoid Net::SSH locking up by connecting too early..."
@@ -79,7 +79,7 @@ class EC2Runner < MiniTest::Unit
79
79
  end
80
80
  sleep 20
81
81
  servers.each do |server|
82
- logger.info "Destroying #{server.public_ip_address}..."
82
+ logger.info "Destroying #{server.dns_name}..."
83
83
  server.destroy
84
84
  end
85
85
  end
@@ -39,7 +39,7 @@ class IntegrationTest < TestCase
39
39
  @kitchen = $base_dir.join('support', 'kitchens', self.class.to_s)
40
40
  FileUtils.remove_entry_secure(@kitchen, true)
41
41
  @kitchen.dirname.mkpath
42
- system "knife solo init #{@kitchen} >> #{log_file}"
42
+ system "knife solo init #{@kitchen} --no-berkshelf --no-librarian >> #{log_file}"
43
43
  @start_dir = Dir.pwd
44
44
  Dir.chdir(@kitchen)
45
45
  prepare_server
@@ -52,7 +52,7 @@ class IntegrationTest < TestCase
52
52
 
53
53
  # Writes out the given node hash as a json file
54
54
  def write_nodefile(node)
55
- write_json_file("nodes/#{server.public_ip_address}.json", node)
55
+ write_json_file("nodes/#{server.dns_name}.json", node)
56
56
  end
57
57
 
58
58
  # Writes out an object to the given file as JSON
@@ -82,7 +82,7 @@ class IntegrationTest < TestCase
82
82
 
83
83
  # The ssh-style connection string used to connect to the current node
84
84
  def connection_string
85
- "-i #{key_file} #{user}@#{server.public_ip_address}"
85
+ "-i #{key_file} #{user}@#{server.dns_name}"
86
86
  end
87
87
 
88
88
  # Asserts that a knife command is successful
@@ -6,7 +6,7 @@ module KitchenHelper
6
6
 
7
7
  def in_kitchen
8
8
  outside_kitchen do
9
- knife_command(Chef::Knife::SoloInit, ".").run
9
+ knife_command(Chef::Knife::SoloInit, ".", "--no-berkshelf", "--no-librarian").run
10
10
  yield
11
11
  end
12
12
  end
@@ -1,3 +1,4 @@
1
+ name "secret_cookbook"
1
2
  maintainer "Mat Schaffer"
2
3
  maintainer_email "mat@schaffer.me"
3
4
  license "MIT"
metadata CHANGED
@@ -1,166 +1,160 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: knife-solo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0.pre3
5
- prerelease: 6
4
+ version: 0.3.0.pre4
6
5
  platform: ruby
7
6
  authors:
8
7
  - Mat Schaffer
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-04-11 00:00:00.000000000 Z
11
+ date: 2013-05-23 00:00:00.000000000 Z
13
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: berkshelf
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - '>='
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '>='
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
14
27
  - !ruby/object:Gem::Dependency
15
28
  name: bundler
16
29
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
30
  requirements:
19
- - - ! '>='
31
+ - - '>='
20
32
  - !ruby/object:Gem::Version
21
33
  version: '0'
22
34
  type: :development
23
35
  prerelease: false
24
36
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
37
  requirements:
27
- - - ! '>='
38
+ - - '>='
28
39
  - !ruby/object:Gem::Version
29
40
  version: '0'
30
41
  - !ruby/object:Gem::Dependency
31
42
  name: fog
32
43
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
44
  requirements:
35
- - - ! '>='
45
+ - - '>='
36
46
  - !ruby/object:Gem::Version
37
47
  version: '0'
38
48
  type: :development
39
49
  prerelease: false
40
50
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
51
  requirements:
43
- - - ! '>='
52
+ - - '>='
44
53
  - !ruby/object:Gem::Version
45
54
  version: '0'
46
55
  - !ruby/object:Gem::Dependency
47
56
  name: librarian-chef
48
57
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
58
  requirements:
51
- - - ! '>='
59
+ - - '>='
52
60
  - !ruby/object:Gem::Version
53
61
  version: '0'
54
62
  type: :development
55
63
  prerelease: false
56
64
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
65
  requirements:
59
- - - ! '>='
66
+ - - '>='
60
67
  - !ruby/object:Gem::Version
61
68
  version: '0'
62
69
  - !ruby/object:Gem::Dependency
63
70
  name: minitest
64
71
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
72
  requirements:
67
- - - ! '>='
73
+ - - ~>
68
74
  - !ruby/object:Gem::Version
69
- version: '0'
75
+ version: '4.7'
70
76
  type: :development
71
77
  prerelease: false
72
78
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
79
  requirements:
75
- - - ! '>='
80
+ - - ~>
76
81
  - !ruby/object:Gem::Version
77
- version: '0'
82
+ version: '4.7'
78
83
  - !ruby/object:Gem::Dependency
79
84
  name: mocha
80
85
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
86
  requirements:
83
- - - ! '>='
87
+ - - '>='
84
88
  - !ruby/object:Gem::Version
85
89
  version: '0'
86
90
  type: :development
87
91
  prerelease: false
88
92
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
93
  requirements:
91
- - - ! '>='
94
+ - - '>='
92
95
  - !ruby/object:Gem::Version
93
96
  version: '0'
94
97
  - !ruby/object:Gem::Dependency
95
98
  name: parallel
96
99
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
100
  requirements:
99
- - - ! '>='
101
+ - - '>='
100
102
  - !ruby/object:Gem::Version
101
103
  version: '0'
102
104
  type: :development
103
105
  prerelease: false
104
106
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
107
  requirements:
107
- - - ! '>='
108
+ - - '>='
108
109
  - !ruby/object:Gem::Version
109
110
  version: '0'
110
111
  - !ruby/object:Gem::Dependency
111
112
  name: rake
112
113
  requirement: !ruby/object:Gem::Requirement
113
- none: false
114
114
  requirements:
115
- - - ! '>='
115
+ - - '>='
116
116
  - !ruby/object:Gem::Version
117
117
  version: '0'
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
121
  requirements:
123
- - - ! '>='
122
+ - - '>='
124
123
  - !ruby/object:Gem::Version
125
124
  version: '0'
126
125
  - !ruby/object:Gem::Dependency
127
126
  name: rdoc
128
127
  requirement: !ruby/object:Gem::Requirement
129
- none: false
130
128
  requirements:
131
- - - ! '>='
129
+ - - '>='
132
130
  - !ruby/object:Gem::Version
133
131
  version: '0'
134
132
  type: :development
135
133
  prerelease: false
136
134
  version_requirements: !ruby/object:Gem::Requirement
137
- none: false
138
135
  requirements:
139
- - - ! '>='
136
+ - - '>='
140
137
  - !ruby/object:Gem::Version
141
138
  version: '0'
142
139
  - !ruby/object:Gem::Dependency
143
140
  name: chef
144
141
  requirement: !ruby/object:Gem::Requirement
145
- none: false
146
142
  requirements:
147
- - - ! '>='
143
+ - - '>='
148
144
  - !ruby/object:Gem::Version
149
145
  version: '10.12'
150
146
  type: :runtime
151
147
  prerelease: false
152
148
  version_requirements: !ruby/object:Gem::Requirement
153
- none: false
154
149
  requirements:
155
- - - ! '>='
150
+ - - '>='
156
151
  - !ruby/object:Gem::Version
157
152
  version: '10.12'
158
153
  - !ruby/object:Gem::Dependency
159
154
  name: net-ssh
160
155
  requirement: !ruby/object:Gem::Requirement
161
- none: false
162
156
  requirements:
163
- - - ! '>='
157
+ - - '>='
164
158
  - !ruby/object:Gem::Version
165
159
  version: 2.2.2
166
160
  - - <
@@ -169,9 +163,8 @@ dependencies:
169
163
  type: :runtime
170
164
  prerelease: false
171
165
  version_requirements: !ruby/object:Gem::Requirement
172
- none: false
173
166
  requirements:
174
- - - ! '>='
167
+ - - '>='
175
168
  - !ruby/object:Gem::Version
176
169
  version: 2.2.2
177
170
  - - <
@@ -180,7 +173,6 @@ dependencies:
180
173
  - !ruby/object:Gem::Dependency
181
174
  name: erubis
182
175
  requirement: !ruby/object:Gem::Requirement
183
- none: false
184
176
  requirements:
185
177
  - - ~>
186
178
  - !ruby/object:Gem::Version
@@ -188,7 +180,6 @@ dependencies:
188
180
  type: :runtime
189
181
  prerelease: false
190
182
  version_requirements: !ruby/object:Gem::Requirement
191
- none: false
192
183
  requirements:
193
184
  - - ~>
194
185
  - !ruby/object:Gem::Version
@@ -214,14 +205,18 @@ files:
214
205
  - lib/chef/knife/solo_prepare.rb
215
206
  - lib/chef/knife/wash_up.rb
216
207
  - lib/knife-solo.rb
208
+ - lib/knife-solo/berkshelf.rb
217
209
  - lib/knife-solo/bootstraps.rb
218
210
  - lib/knife-solo/bootstraps/darwin.rb
219
211
  - lib/knife-solo/bootstraps/freebsd.rb
220
212
  - lib/knife-solo/bootstraps/linux.rb
221
213
  - lib/knife-solo/bootstraps/sun_os.rb
214
+ - lib/knife-solo/cookbook_manager.rb
215
+ - lib/knife-solo/cookbook_manager_selector.rb
222
216
  - lib/knife-solo/deprecated_command.rb
223
217
  - lib/knife-solo/gitignore.rb
224
218
  - lib/knife-solo/info.rb
219
+ - lib/knife-solo/librarian.rb
225
220
  - lib/knife-solo/node_config_command.rb
226
221
  - lib/knife-solo/resources/knife.rb
227
222
  - lib/knife-solo/resources/solo.rb.erb
@@ -229,6 +224,8 @@ files:
229
224
  - lib/knife-solo/tools.rb
230
225
  - test/bootstraps_test.rb
231
226
  - test/deprecated_command_test.rb
227
+ - test/gemfiles/Gemfile.chef-10
228
+ - test/gemfiles/Gemfile.chef-11
232
229
  - test/gitignore_test.rb
233
230
  - test/integration/amazon_linux_2012_09_bootstrap_test.rb
234
231
  - test/integration/cases/apache2_bootstrap.rb
@@ -237,7 +234,8 @@ files:
237
234
  - test/integration/cases/empty_cook.rb
238
235
  - test/integration/cases/encrypted_data_bag.rb
239
236
  - test/integration/cases/knife_bootstrap.rb
240
- - test/integration/centos5_6_test.rb
237
+ - test/integration/centos5_8_test.rb
238
+ - test/integration/centos6_3_test.rb
241
239
  - test/integration/debian6_bootstrap_test.rb
242
240
  - test/integration/debian7_knife_bootstrap_test.rb
243
241
  - test/integration/gentoo2011_test.rb
@@ -300,38 +298,42 @@ files:
300
298
  - lib/knife-solo/resources/patch_cookbooks/chef-solo-search/tests/test_search.rb
301
299
  homepage: http://matschaffer.github.io/knife-solo/
302
300
  licenses: []
303
- post_install_message: ! "Thanks for installing knife-solo!\n\nIf you run into any
304
- issues please let us know at:\n https://github.com/matschaffer/knife-solo/issues\n\nIf
305
- you are upgrading knife-solo please uninstall any old versions by\nrunning `gem
306
- clean knife-solo` to avoid any errors.\n\nSee http://bit.ly/CHEF-3255 for more information
307
- on the knife bug\nthat causes this."
301
+ metadata: {}
302
+ post_install_message: |-
303
+ Thanks for installing knife-solo!
304
+
305
+ If you run into any issues please let us know at:
306
+ https://github.com/matschaffer/knife-solo/issues
307
+
308
+ If you are upgrading knife-solo please uninstall any old versions by
309
+ running `gem clean knife-solo` to avoid any errors.
310
+
311
+ See http://bit.ly/CHEF-3255 for more information on the knife bug
312
+ that causes this.
308
313
  rdoc_options: []
309
314
  require_paths:
310
315
  - lib
311
316
  required_ruby_version: !ruby/object:Gem::Requirement
312
- none: false
313
317
  requirements:
314
- - - ! '>='
318
+ - - '>='
315
319
  - !ruby/object:Gem::Version
316
320
  version: '0'
317
- segments:
318
- - 0
319
- hash: 281010758936316492
320
321
  required_rubygems_version: !ruby/object:Gem::Requirement
321
- none: false
322
322
  requirements:
323
- - - ! '>'
323
+ - - '>'
324
324
  - !ruby/object:Gem::Version
325
325
  version: 1.3.1
326
326
  requirements: []
327
327
  rubyforge_project:
328
- rubygems_version: 1.8.24
328
+ rubygems_version: 2.0.0
329
329
  signing_key:
330
- specification_version: 3
330
+ specification_version: 4
331
331
  summary: A collection of knife plugins for dealing with chef solo
332
332
  test_files:
333
333
  - test/bootstraps_test.rb
334
334
  - test/deprecated_command_test.rb
335
+ - test/gemfiles/Gemfile.chef-10
336
+ - test/gemfiles/Gemfile.chef-11
335
337
  - test/gitignore_test.rb
336
338
  - test/integration/amazon_linux_2012_09_bootstrap_test.rb
337
339
  - test/integration/cases/apache2_bootstrap.rb
@@ -340,7 +342,8 @@ test_files:
340
342
  - test/integration/cases/empty_cook.rb
341
343
  - test/integration/cases/encrypted_data_bag.rb
342
344
  - test/integration/cases/knife_bootstrap.rb
343
- - test/integration/centos5_6_test.rb
345
+ - test/integration/centos5_8_test.rb
346
+ - test/integration/centos6_3_test.rb
344
347
  - test/integration/debian6_bootstrap_test.rb
345
348
  - test/integration/debian7_knife_bootstrap_test.rb
346
349
  - test/integration/gentoo2011_test.rb