vagrantup 0.6.9 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (99) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -0
  3. data/CHANGELOG.md +37 -0
  4. data/Gemfile +0 -8
  5. data/README.md +5 -0
  6. data/config/default.rb +1 -3
  7. data/contrib/README.md +12 -0
  8. data/contrib/emacs/vagrant.el +8 -0
  9. data/contrib/vim/vagrantfile.vim +9 -0
  10. data/lib/vagrant/action/box/download.rb +0 -1
  11. data/lib/vagrant/action/box.rb +11 -0
  12. data/lib/vagrant/action/builtin.rb +1 -2
  13. data/lib/vagrant/action/env.rb +7 -0
  14. data/lib/vagrant/action/general.rb +8 -0
  15. data/lib/vagrant/action/vm/boot.rb +3 -2
  16. data/lib/vagrant/action/vm/check_box.rb +1 -0
  17. data/lib/vagrant/action/vm/clean_machine_folder.rb +1 -1
  18. data/lib/vagrant/action/vm/destroy.rb +1 -1
  19. data/lib/vagrant/action/vm/destroy_unused_network_interfaces.rb +7 -12
  20. data/lib/vagrant/action/vm/network.rb +1 -1
  21. data/lib/vagrant/action/vm/nfs.rb +3 -1
  22. data/lib/vagrant/action/vm/provision.rb +14 -25
  23. data/lib/vagrant/action/vm/share_folders.rb +11 -4
  24. data/lib/vagrant/action/vm.rb +30 -0
  25. data/lib/vagrant/action.rb +12 -0
  26. data/lib/vagrant/command.rb +25 -0
  27. data/lib/vagrant/config/base.rb +17 -3
  28. data/lib/vagrant/config/ssh.rb +2 -2
  29. data/lib/vagrant/config/top.rb +61 -0
  30. data/lib/vagrant/config/vagrant.rb +1 -6
  31. data/lib/vagrant/config/vm/provisioner.rb +56 -0
  32. data/lib/vagrant/config/vm/sub_vm.rb +17 -0
  33. data/lib/vagrant/config/vm.rb +34 -20
  34. data/lib/vagrant/config.rb +78 -128
  35. data/lib/vagrant/downloaders/file.rb +1 -0
  36. data/lib/vagrant/downloaders/http.rb +9 -0
  37. data/lib/vagrant/downloaders.rb +7 -0
  38. data/lib/vagrant/environment.rb +26 -14
  39. data/lib/vagrant/errors.rb +5 -15
  40. data/lib/vagrant/hosts.rb +7 -0
  41. data/lib/vagrant/provisioners/base.rb +19 -1
  42. data/lib/vagrant/provisioners/chef.rb +31 -52
  43. data/lib/vagrant/provisioners/chef_server.rb +34 -10
  44. data/lib/vagrant/provisioners/chef_solo.rb +31 -9
  45. data/lib/vagrant/provisioners/puppet.rb +111 -60
  46. data/lib/vagrant/provisioners/puppet_server.rb +57 -0
  47. data/lib/vagrant/provisioners.rb +8 -0
  48. data/lib/vagrant/ssh/session.rb +81 -0
  49. data/lib/vagrant/ssh.rb +6 -76
  50. data/lib/vagrant/systems/base.rb +16 -1
  51. data/lib/vagrant/systems/debian.rb +26 -0
  52. data/lib/vagrant/systems/gentoo.rb +27 -0
  53. data/lib/vagrant/systems/linux/config.rb +21 -0
  54. data/lib/vagrant/systems/linux/error.rb +9 -0
  55. data/lib/vagrant/systems/linux.rb +14 -56
  56. data/lib/vagrant/systems/redhat.rb +31 -0
  57. data/lib/vagrant/systems.rb +9 -0
  58. data/lib/vagrant/test_helpers.rb +1 -1
  59. data/lib/vagrant/version.rb +1 -1
  60. data/lib/vagrant/vm.rb +25 -5
  61. data/lib/vagrant.rb +14 -18
  62. data/templates/chef_solo_solo.erb +11 -3
  63. data/templates/commands/init/Vagrantfile.erb +13 -11
  64. data/templates/locales/en.yml +76 -26
  65. data/templates/{network_entry.erb → network_entry_debian.erb} +0 -0
  66. data/templates/network_entry_gentoo.erb +7 -0
  67. data/templates/network_entry_redhat.erb +8 -0
  68. data/templates/ssh_config.erb +1 -1
  69. data/test/vagrant/action/vm/check_box_test.rb +1 -0
  70. data/test/vagrant/action/vm/clean_machine_folder_test.rb +6 -4
  71. data/test/vagrant/action/vm/destroy_test.rb +1 -1
  72. data/test/vagrant/action/vm/destroy_unused_network_interfaces_test.rb +10 -7
  73. data/test/vagrant/action/vm/nfs_test.rb +7 -1
  74. data/test/vagrant/action/vm/provision_test.rb +24 -79
  75. data/test/vagrant/action/vm/share_folders_test.rb +6 -1
  76. data/test/vagrant/command/helpers_test.rb +2 -2
  77. data/test/vagrant/config/base_test.rb +0 -6
  78. data/test/vagrant/config/vagrant_test.rb +0 -8
  79. data/test/vagrant/config/vm/provisioner_test.rb +92 -0
  80. data/test/vagrant/config/vm_test.rb +8 -0
  81. data/test/vagrant/config_test.rb +49 -89
  82. data/test/vagrant/downloaders/file_test.rb +18 -4
  83. data/test/vagrant/environment_test.rb +36 -12
  84. data/test/vagrant/provisioners/base_test.rb +28 -1
  85. data/test/vagrant/provisioners/chef_server_test.rb +50 -41
  86. data/test/vagrant/provisioners/chef_solo_test.rb +39 -16
  87. data/test/vagrant/provisioners/chef_test.rb +11 -81
  88. data/test/vagrant/provisioners/puppet_server_test.rb +69 -0
  89. data/test/vagrant/provisioners/puppet_test.rb +116 -69
  90. data/test/vagrant/{ssh_session_test.rb → ssh/session_test.rb} +0 -0
  91. data/test/vagrant/ssh_test.rb +20 -7
  92. data/test/vagrant/systems/base_test.rb +18 -0
  93. data/test/vagrant/systems/linux_test.rb +2 -2
  94. data/test/vagrant/vm_test.rb +33 -5
  95. data/vagrant.gemspec +6 -5
  96. metadata +38 -14
  97. data/lib/vagrant/action/vm/disable_networks.rb +0 -34
  98. data/lib/vagrant/util/glob_loader.rb +0 -24
  99. data/test/vagrant/action/vm/disable_networks_test.rb +0 -48
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vagrantup
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.9
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mitchell Hashimoto
@@ -87,56 +87,56 @@ dependencies:
87
87
  requirements:
88
88
  - - ~>
89
89
  - !ruby/object:Gem::Version
90
- version: 1.0.3
90
+ version: 1.0.4
91
91
  type: :runtime
92
92
  prerelease: false
93
93
  version_requirements: !ruby/object:Gem::Requirement
94
94
  requirements:
95
95
  - - ~>
96
96
  - !ruby/object:Gem::Version
97
- version: 1.0.3
97
+ version: 1.0.4
98
98
  - !ruby/object:Gem::Dependency
99
99
  name: i18n
100
100
  requirement: !ruby/object:Gem::Requirement
101
101
  requirements:
102
102
  - - ~>
103
103
  - !ruby/object:Gem::Version
104
- version: 0.4.1
104
+ version: 0.5.0
105
105
  type: :runtime
106
106
  prerelease: false
107
107
  version_requirements: !ruby/object:Gem::Requirement
108
108
  requirements:
109
109
  - - ~>
110
110
  - !ruby/object:Gem::Version
111
- version: 0.4.1
111
+ version: 0.5.0
112
112
  - !ruby/object:Gem::Dependency
113
113
  name: thor
114
114
  requirement: !ruby/object:Gem::Requirement
115
115
  requirements:
116
116
  - - ~>
117
117
  - !ruby/object:Gem::Version
118
- version: 0.14.2
118
+ version: 0.14.6
119
119
  type: :runtime
120
120
  prerelease: false
121
121
  version_requirements: !ruby/object:Gem::Requirement
122
122
  requirements:
123
123
  - - ~>
124
124
  - !ruby/object:Gem::Version
125
- version: 0.14.2
125
+ version: 0.14.6
126
126
  - !ruby/object:Gem::Dependency
127
127
  name: virtualbox
128
128
  requirement: !ruby/object:Gem::Requirement
129
129
  requirements:
130
130
  - - ~>
131
131
  - !ruby/object:Gem::Version
132
- version: 0.7.6
132
+ version: 0.8.2
133
133
  type: :runtime
134
134
  prerelease: false
135
135
  version_requirements: !ruby/object:Gem::Requirement
136
136
  requirements:
137
137
  - - ~>
138
138
  - !ruby/object:Gem::Version
139
- version: 0.7.6
139
+ version: 0.8.2
140
140
  - !ruby/object:Gem::Dependency
141
141
  name: rake
142
142
  requirement: !ruby/object:Gem::Requirement
@@ -212,12 +212,16 @@ files:
212
212
  - Rakefile
213
213
  - bin/vagrant
214
214
  - config/default.rb
215
+ - contrib/README.md
216
+ - contrib/emacs/vagrant.el
217
+ - contrib/vim/vagrantfile.vim
215
218
  - keys/README.md
216
219
  - keys/vagrant
217
220
  - keys/vagrant.ppk
218
221
  - keys/vagrant.pub
219
222
  - lib/vagrant.rb
220
223
  - lib/vagrant/action.rb
224
+ - lib/vagrant/action/box.rb
221
225
  - lib/vagrant/action/box/destroy.rb
222
226
  - lib/vagrant/action/box/download.rb
223
227
  - lib/vagrant/action/box/package.rb
@@ -225,10 +229,13 @@ files:
225
229
  - lib/vagrant/action/box/verify.rb
226
230
  - lib/vagrant/action/builder.rb
227
231
  - lib/vagrant/action/builtin.rb
232
+ - lib/vagrant/action/env.rb
228
233
  - lib/vagrant/action/env/set.rb
229
234
  - lib/vagrant/action/environment.rb
235
+ - lib/vagrant/action/general.rb
230
236
  - lib/vagrant/action/general/package.rb
231
237
  - lib/vagrant/action/general/validate.rb
238
+ - lib/vagrant/action/vm.rb
232
239
  - lib/vagrant/action/vm/boot.rb
233
240
  - lib/vagrant/action/vm/check_box.rb
234
241
  - lib/vagrant/action/vm/check_guest_additions.rb
@@ -239,7 +246,6 @@ files:
239
246
  - lib/vagrant/action/vm/customize.rb
240
247
  - lib/vagrant/action/vm/destroy.rb
241
248
  - lib/vagrant/action/vm/destroy_unused_network_interfaces.rb
242
- - lib/vagrant/action/vm/disable_networks.rb
243
249
  - lib/vagrant/action/vm/discard_state.rb
244
250
  - lib/vagrant/action/vm/export.rb
245
251
  - lib/vagrant/action/vm/forward_ports.rb
@@ -260,6 +266,7 @@ files:
260
266
  - lib/vagrant/box.rb
261
267
  - lib/vagrant/box_collection.rb
262
268
  - lib/vagrant/cli.rb
269
+ - lib/vagrant/command.rb
263
270
  - lib/vagrant/command/base.rb
264
271
  - lib/vagrant/command/box.rb
265
272
  - lib/vagrant/command/destroy.rb
@@ -285,32 +292,45 @@ files:
285
292
  - lib/vagrant/config/nfs.rb
286
293
  - lib/vagrant/config/package.rb
287
294
  - lib/vagrant/config/ssh.rb
295
+ - lib/vagrant/config/top.rb
288
296
  - lib/vagrant/config/vagrant.rb
289
297
  - lib/vagrant/config/vm.rb
298
+ - lib/vagrant/config/vm/provisioner.rb
299
+ - lib/vagrant/config/vm/sub_vm.rb
290
300
  - lib/vagrant/data_store.rb
301
+ - lib/vagrant/downloaders.rb
291
302
  - lib/vagrant/downloaders/base.rb
292
303
  - lib/vagrant/downloaders/file.rb
293
304
  - lib/vagrant/downloaders/http.rb
294
305
  - lib/vagrant/environment.rb
295
306
  - lib/vagrant/errors.rb
307
+ - lib/vagrant/hosts.rb
296
308
  - lib/vagrant/hosts/base.rb
297
309
  - lib/vagrant/hosts/bsd.rb
298
310
  - lib/vagrant/hosts/linux.rb
299
311
  - lib/vagrant/plugin.rb
312
+ - lib/vagrant/provisioners.rb
300
313
  - lib/vagrant/provisioners/base.rb
301
314
  - lib/vagrant/provisioners/chef.rb
302
315
  - lib/vagrant/provisioners/chef_server.rb
303
316
  - lib/vagrant/provisioners/chef_solo.rb
304
317
  - lib/vagrant/provisioners/puppet.rb
318
+ - lib/vagrant/provisioners/puppet_server.rb
305
319
  - lib/vagrant/ssh.rb
320
+ - lib/vagrant/ssh/session.rb
321
+ - lib/vagrant/systems.rb
306
322
  - lib/vagrant/systems/base.rb
323
+ - lib/vagrant/systems/debian.rb
324
+ - lib/vagrant/systems/gentoo.rb
307
325
  - lib/vagrant/systems/linux.rb
326
+ - lib/vagrant/systems/linux/config.rb
327
+ - lib/vagrant/systems/linux/error.rb
328
+ - lib/vagrant/systems/redhat.rb
308
329
  - lib/vagrant/systems/solaris.rb
309
330
  - lib/vagrant/test_helpers.rb
310
331
  - lib/vagrant/ui.rb
311
332
  - lib/vagrant/util.rb
312
333
  - lib/vagrant/util/busy.rb
313
- - lib/vagrant/util/glob_loader.rb
314
334
  - lib/vagrant/util/hash_with_indifferent_access.rb
315
335
  - lib/vagrant/util/plain_logger.rb
316
336
  - lib/vagrant/util/platform.rb
@@ -325,7 +345,9 @@ files:
325
345
  - templates/commands/init/Vagrantfile.erb
326
346
  - templates/config/validation_failed.erb
327
347
  - templates/locales/en.yml
328
- - templates/network_entry.erb
348
+ - templates/network_entry_debian.erb
349
+ - templates/network_entry_gentoo.erb
350
+ - templates/network_entry_redhat.erb
329
351
  - templates/nfs/exports.erb
330
352
  - templates/nfs/exports_linux.erb
331
353
  - templates/package_Vagrantfile.erb
@@ -352,7 +374,6 @@ files:
352
374
  - test/vagrant/action/vm/customize_test.rb
353
375
  - test/vagrant/action/vm/destroy_test.rb
354
376
  - test/vagrant/action/vm/destroy_unused_network_interfaces_test.rb
355
- - test/vagrant/action/vm/disable_networks_test.rb
356
377
  - test/vagrant/action/vm/discard_state_test.rb
357
378
  - test/vagrant/action/vm/export_test.rb
358
379
  - test/vagrant/action/vm/forward_ports_helpers_test.rb
@@ -382,6 +403,7 @@ files:
382
403
  - test/vagrant/config/error_recorder_test.rb
383
404
  - test/vagrant/config/ssh_test.rb
384
405
  - test/vagrant/config/vagrant_test.rb
406
+ - test/vagrant/config/vm/provisioner_test.rb
385
407
  - test/vagrant/config/vm_test.rb
386
408
  - test/vagrant/config_test.rb
387
409
  - test/vagrant/data_store_test.rb
@@ -398,9 +420,11 @@ files:
398
420
  - test/vagrant/provisioners/chef_server_test.rb
399
421
  - test/vagrant/provisioners/chef_solo_test.rb
400
422
  - test/vagrant/provisioners/chef_test.rb
423
+ - test/vagrant/provisioners/puppet_server_test.rb
401
424
  - test/vagrant/provisioners/puppet_test.rb
402
- - test/vagrant/ssh_session_test.rb
425
+ - test/vagrant/ssh/session_test.rb
403
426
  - test/vagrant/ssh_test.rb
427
+ - test/vagrant/systems/base_test.rb
404
428
  - test/vagrant/systems/linux_test.rb
405
429
  - test/vagrant/ui_test.rb
406
430
  - test/vagrant/util/busy_test.rb
@@ -1,34 +0,0 @@
1
- module Vagrant
2
- class Action
3
- module VM
4
- # Middleware to disable all host only networks on the
5
- # VM
6
- class DisableNetworks
7
- def initialize(app, env)
8
- @app = app
9
- @env = env
10
- end
11
-
12
- def call(env)
13
- if env["vm"].created?
14
- logged = false
15
-
16
- env["vm"].vm.network_adapters.each do |adapter|
17
- next if adapter.attachment_type != :host_only
18
-
19
- if !logged
20
- env.ui.info I18n.t("vagrant.actions.vm.disable_networks.disabling")
21
- logged = true
22
- end
23
-
24
- adapter.enabled = false
25
- adapter.save
26
- end
27
- end
28
-
29
- @app.call(env)
30
- end
31
- end
32
- end
33
- end
34
- end
@@ -1,24 +0,0 @@
1
- module Vagrant
2
- module Util
3
- # Eases the processes of loading specific files then globbing
4
- # the rest from a specified directory.
5
- module GlobLoader
6
- # Glob requires all ruby files in a directory, optionally loading select
7
- # files initially (since others may depend on them).
8
- #
9
- # @param [String] dir The directory to glob
10
- # @param [Array<String>] initial_files Initial files (relative to `dir`)
11
- # to load
12
- def self.glob_require(dir, initial_files=[])
13
- initial_files.each do |file|
14
- require File.expand_path(file, dir)
15
- end
16
-
17
- # Glob require the rest
18
- Dir[File.join(dir, "**", "*.rb")].each do |f|
19
- require File.expand_path(f)
20
- end
21
- end
22
- end
23
- end
24
- end
@@ -1,48 +0,0 @@
1
- require "test_helper"
2
-
3
- class DisableNetworksVMActionTest < Test::Unit::TestCase
4
- setup do
5
- @klass = Vagrant::Action::VM::DisableNetworks
6
- @app, @env = action_env
7
-
8
- @vm = mock("vm")
9
- @env.env.stubs(:vm).returns(@vm)
10
-
11
- @internal_vm = mock("internal")
12
- @vm.stubs(:created?).returns(true)
13
- @vm.stubs(:vm).returns(@internal_vm)
14
- @internal_vm.stubs(:network_adapters).returns([])
15
-
16
- @instance = @klass.new(@app, @env)
17
- end
18
-
19
- def mock_adapter(type)
20
- adapter = mock("adapter")
21
- adapter.stubs(:attachment_type).returns(type)
22
-
23
- if type == :host_only
24
- adapter.expects(:enabled=).with(false)
25
- adapter.expects(:save)
26
- end
27
-
28
- @internal_vm.network_adapters << adapter
29
- end
30
-
31
- should "do nothing if VM is not created" do
32
- @vm.stubs(:created?).returns(false)
33
- @vm.expects(:vm).never
34
-
35
- @app.expects(:call).with(@env).once
36
- @instance.call(@env)
37
- end
38
-
39
- should "remove all network adapters and continue chain" do
40
- mock_adapter(:bridged)
41
- mock_adapter(:host_only)
42
- mock_adapter(:host_only)
43
-
44
- @app.expects(:call).with(@env).once
45
-
46
- @instance.call(@env)
47
- end
48
- end