knife-solo 0.0.15 → 0.1.0.pre1

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 (62) hide show
  1. data/CHANGELOG.md +216 -0
  2. data/LICENSE +7 -0
  3. data/README.rdoc +127 -0
  4. data/Rakefile +31 -0
  5. data/lib/chef/knife/cook.rb +4 -131
  6. data/lib/chef/knife/kitchen.rb +4 -49
  7. data/lib/chef/knife/prepare.rb +4 -50
  8. data/lib/chef/knife/solo_bootstrap.rb +51 -0
  9. data/lib/chef/knife/solo_clean.rb +25 -0
  10. data/lib/chef/knife/solo_cook.rb +137 -0
  11. data/lib/chef/knife/solo_init.rb +59 -0
  12. data/lib/chef/knife/solo_prepare.rb +56 -0
  13. data/lib/chef/knife/wash_up.rb +4 -15
  14. data/lib/knife-solo/bootstraps.rb +1 -1
  15. data/lib/knife-solo/bootstraps/linux.rb +6 -4
  16. data/lib/knife-solo/bootstraps/sun_os.rb +9 -0
  17. data/lib/knife-solo/deprecated_command.rb +19 -0
  18. data/lib/knife-solo/info.rb +1 -1
  19. data/lib/knife-solo/kitchen_command.rb +5 -10
  20. data/lib/knife-solo/node_config_command.rb +17 -3
  21. data/lib/knife-solo/ssh_command.rb +3 -3
  22. data/test/bootstraps_test.rb +90 -0
  23. data/test/deprecated_command_test.rb +46 -0
  24. data/test/integration/cases/apache2_bootstrap.rb +15 -0
  25. data/test/integration/cases/apache2_cook.rb +28 -0
  26. data/test/integration/cases/empty_cook.rb +8 -0
  27. data/test/integration/cases/encrypted_data_bag.rb +27 -0
  28. data/test/integration/centos5_6_test.rb +19 -0
  29. data/test/integration/gentoo2011_test.rb +18 -0
  30. data/test/integration/omnios_r151004_test.rb +14 -0
  31. data/test/integration/scientific_linux_63_test.rb +15 -0
  32. data/test/integration/sles_11_test.rb +14 -0
  33. data/test/integration/ubuntu10_04_test.rb +15 -0
  34. data/test/integration/ubuntu12_04_bootstrap_test.rb +17 -0
  35. data/test/integration/ubuntu12_04_test.rb +15 -0
  36. data/test/integration_helper.rb +16 -0
  37. data/test/kitchen_command_test.rb +31 -0
  38. data/test/minitest/parallel.rb +41 -0
  39. data/test/node_config_command_test.rb +101 -0
  40. data/test/solo_bootstrap_test.rb +32 -0
  41. data/test/solo_clean_test.rb +12 -0
  42. data/test/solo_cook_test.rb +67 -0
  43. data/test/solo_init_test.rb +40 -0
  44. data/test/solo_prepare_test.rb +50 -0
  45. data/test/ssh_command_test.rb +100 -0
  46. data/test/support/config.yml.example +4 -0
  47. data/test/support/data_bag_key +1 -0
  48. data/test/support/ec2_runner.rb +122 -0
  49. data/test/support/integration_test.rb +94 -0
  50. data/test/support/issue_files/gentoo2011 +3 -0
  51. data/test/support/issue_files/sles11-sp1 +4 -0
  52. data/test/support/issue_files/ubuntu +2 -0
  53. data/test/support/kitchen_helper.rb +22 -0
  54. data/test/support/loggable.rb +18 -0
  55. data/test/support/secret_cookbook/metadata.rb +5 -0
  56. data/test/support/secret_cookbook/recipes/default.rb +8 -0
  57. data/test/support/ssh_config +3 -0
  58. data/test/support/test_case.rb +24 -0
  59. data/test/support/validation_helper.rb +39 -0
  60. data/test/test_helper.rb +7 -0
  61. metadata +99 -11
  62. data/lib/knife-solo/knife_solo_error.rb +0 -3
@@ -0,0 +1,3 @@
1
+ Host 10.0.0.1
2
+ User bob
3
+ IdentityFile id_rsa_bob
@@ -0,0 +1,24 @@
1
+ class TestCase < MiniTest::Unit::TestCase
2
+ def default_test
3
+ super unless self.class == TestCase
4
+ end
5
+
6
+ def knife_command(cmd_class, *args)
7
+ cmd_class.load_deps
8
+ command = cmd_class.new(args)
9
+ command.ui.stubs(:msg)
10
+ command.ui.stubs(:err)
11
+ command
12
+ end
13
+
14
+ # Assert that the specified command or block raises SystemExit
15
+ def assert_exits(command = nil)
16
+ assert_raises SystemExit do
17
+ if command
18
+ command.run
19
+ else
20
+ yield
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,39 @@
1
+ require 'support/kitchen_helper'
2
+
3
+ module ValidationHelper
4
+
5
+ module SshCommandTests
6
+ include KitchenHelper
7
+
8
+ def test_barks_without_atleast_a_hostname
9
+ cmd = command
10
+ cmd.ui.expects(:err).with(regexp_matches(/hostname.*argument/))
11
+ $stdout.stubs(:puts)
12
+ in_kitchen do
13
+ assert_exits cmd
14
+ end
15
+ end
16
+ end
17
+
18
+ module KitchenCommandTests
19
+ include KitchenHelper
20
+
21
+ def test_barks_outside_of_the_kitchen
22
+ cmd = default_command
23
+ cmd.ui.expects(:err).with(regexp_matches(/must be run inside .* kitchen/))
24
+ outside_kitchen do
25
+ assert_exits cmd
26
+ end
27
+ end
28
+
29
+ # Returns a Knife instance that shoud run without other validation errors.
30
+ def default_command
31
+ command("somehost")
32
+ end
33
+ end
34
+
35
+ module ValidationTests
36
+ include SshCommandTests
37
+ include KitchenCommandTests
38
+ end
39
+ end
@@ -0,0 +1,7 @@
1
+ require 'rubygems'
2
+ require 'bundler'
3
+
4
+ Bundler.require
5
+ Bundler.require(:test)
6
+
7
+ require 'support/test_case'
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: knife-solo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.15
5
- prerelease:
4
+ version: 0.1.0.pre1
5
+ prerelease: 6
6
6
  platform: ruby
7
7
  authors:
8
8
  - Mat Schaffer
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-11-29 00:00:00.000000000 Z
12
+ date: 2012-12-28 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
@@ -103,24 +103,73 @@ executables: []
103
103
  extensions: []
104
104
  extra_rdoc_files: []
105
105
  files:
106
+ - CHANGELOG.md
107
+ - LICENSE
108
+ - README.rdoc
109
+ - Rakefile
106
110
  - lib/chef/knife/cook.rb
107
111
  - lib/chef/knife/kitchen.rb
108
112
  - lib/chef/knife/patches/parser.rb
109
113
  - lib/chef/knife/patches/search_patch.rb
110
114
  - lib/chef/knife/prepare.rb
115
+ - lib/chef/knife/solo_bootstrap.rb
116
+ - lib/chef/knife/solo_clean.rb
117
+ - lib/chef/knife/solo_cook.rb
118
+ - lib/chef/knife/solo_init.rb
119
+ - lib/chef/knife/solo_prepare.rb
111
120
  - lib/chef/knife/wash_up.rb
121
+ - lib/knife-solo.rb
122
+ - lib/knife-solo/bootstraps.rb
112
123
  - lib/knife-solo/bootstraps/darwin.rb
113
124
  - lib/knife-solo/bootstraps/freebsd.rb
114
125
  - lib/knife-solo/bootstraps/linux.rb
115
- - lib/knife-solo/bootstraps.rb
126
+ - lib/knife-solo/bootstraps/sun_os.rb
127
+ - lib/knife-solo/deprecated_command.rb
116
128
  - lib/knife-solo/info.rb
117
129
  - lib/knife-solo/kitchen_command.rb
118
- - lib/knife-solo/knife_solo_error.rb
119
130
  - lib/knife-solo/node_config_command.rb
120
131
  - lib/knife-solo/ssh_command.rb
121
132
  - lib/knife-solo/tools.rb
122
- - lib/knife-solo.rb
123
- homepage: https://github.com/matschaffer/knife-solo
133
+ - test/bootstraps_test.rb
134
+ - test/deprecated_command_test.rb
135
+ - test/integration/cases/apache2_bootstrap.rb
136
+ - test/integration/cases/apache2_cook.rb
137
+ - test/integration/cases/empty_cook.rb
138
+ - test/integration/cases/encrypted_data_bag.rb
139
+ - test/integration/centos5_6_test.rb
140
+ - test/integration/gentoo2011_test.rb
141
+ - test/integration/omnios_r151004_test.rb
142
+ - test/integration/scientific_linux_63_test.rb
143
+ - test/integration/sles_11_test.rb
144
+ - test/integration/ubuntu10_04_test.rb
145
+ - test/integration/ubuntu12_04_bootstrap_test.rb
146
+ - test/integration/ubuntu12_04_test.rb
147
+ - test/integration_helper.rb
148
+ - test/kitchen_command_test.rb
149
+ - test/minitest/parallel.rb
150
+ - test/node_config_command_test.rb
151
+ - test/solo_bootstrap_test.rb
152
+ - test/solo_clean_test.rb
153
+ - test/solo_cook_test.rb
154
+ - test/solo_init_test.rb
155
+ - test/solo_prepare_test.rb
156
+ - test/ssh_command_test.rb
157
+ - test/support/config.yml.example
158
+ - test/support/data_bag_key
159
+ - test/support/ec2_runner.rb
160
+ - test/support/integration_test.rb
161
+ - test/support/issue_files/gentoo2011
162
+ - test/support/issue_files/sles11-sp1
163
+ - test/support/issue_files/ubuntu
164
+ - test/support/kitchen_helper.rb
165
+ - test/support/loggable.rb
166
+ - test/support/secret_cookbook/metadata.rb
167
+ - test/support/secret_cookbook/recipes/default.rb
168
+ - test/support/ssh_config
169
+ - test/support/test_case.rb
170
+ - test/support/validation_helper.rb
171
+ - test/test_helper.rb
172
+ homepage: http://matschaffer.github.com/knife-solo/
124
173
  licenses: []
125
174
  post_install_message:
126
175
  rdoc_options: []
@@ -135,13 +184,52 @@ required_ruby_version: !ruby/object:Gem::Requirement
135
184
  required_rubygems_version: !ruby/object:Gem::Requirement
136
185
  none: false
137
186
  requirements:
138
- - - ! '>='
187
+ - - ! '>'
139
188
  - !ruby/object:Gem::Version
140
- version: '0'
189
+ version: 1.3.1
141
190
  requirements: []
142
- rubyforge_project: nowarning
191
+ rubyforge_project:
143
192
  rubygems_version: 1.8.24
144
193
  signing_key:
145
194
  specification_version: 3
146
195
  summary: A collection of knife plugins for dealing with chef solo
147
- test_files: []
196
+ test_files:
197
+ - test/bootstraps_test.rb
198
+ - test/deprecated_command_test.rb
199
+ - test/integration/cases/apache2_bootstrap.rb
200
+ - test/integration/cases/apache2_cook.rb
201
+ - test/integration/cases/empty_cook.rb
202
+ - test/integration/cases/encrypted_data_bag.rb
203
+ - test/integration/centos5_6_test.rb
204
+ - test/integration/gentoo2011_test.rb
205
+ - test/integration/omnios_r151004_test.rb
206
+ - test/integration/scientific_linux_63_test.rb
207
+ - test/integration/sles_11_test.rb
208
+ - test/integration/ubuntu10_04_test.rb
209
+ - test/integration/ubuntu12_04_bootstrap_test.rb
210
+ - test/integration/ubuntu12_04_test.rb
211
+ - test/integration_helper.rb
212
+ - test/kitchen_command_test.rb
213
+ - test/minitest/parallel.rb
214
+ - test/node_config_command_test.rb
215
+ - test/solo_bootstrap_test.rb
216
+ - test/solo_clean_test.rb
217
+ - test/solo_cook_test.rb
218
+ - test/solo_init_test.rb
219
+ - test/solo_prepare_test.rb
220
+ - test/ssh_command_test.rb
221
+ - test/support/config.yml.example
222
+ - test/support/data_bag_key
223
+ - test/support/ec2_runner.rb
224
+ - test/support/integration_test.rb
225
+ - test/support/issue_files/gentoo2011
226
+ - test/support/issue_files/sles11-sp1
227
+ - test/support/issue_files/ubuntu
228
+ - test/support/kitchen_helper.rb
229
+ - test/support/loggable.rb
230
+ - test/support/secret_cookbook/metadata.rb
231
+ - test/support/secret_cookbook/recipes/default.rb
232
+ - test/support/ssh_config
233
+ - test/support/test_case.rb
234
+ - test/support/validation_helper.rb
235
+ - test/test_helper.rb
@@ -1,3 +0,0 @@
1
- module KnifeSolo
2
- class KnifeSoloError < StandardError; end
3
- end