vagrantup 0.6.5 → 0.6.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: fc92e2e619dbac827b760b77574e4b440d535014
4
- data.tar.gz: cbcffd6e0ecccb39d295d3c5fc8a232999b1a698
3
+ metadata.gz: dd26596b445951778d89c3df2a9717fef063cdb4
4
+ data.tar.gz: 69c01579f88b14201c8b394527e3ab39697dc6c5
5
5
  SHA512:
6
- metadata.gz: 8ad6163d3599889c34dd022c1aa2f7d05d0a8de12966ceec4a955d04ea9d40b4727b3023f9eb18fed4f892ac1a611045f58171b18aec72f9e34ca0ea3e893083
7
- data.tar.gz: ec5aa91f91d013efcdaed4b4d7efcbf53ff3644717066f21c24d01a7f0abeb289dbd37c6fdd2522d9155bfcb7742b54d491b67325a0560ad2e9ecac0a25d45e8
6
+ metadata.gz: 1bea481a61138290f846ac8bbbe49dc2606db3ae0f98b7664da5ab98fda01bf4c8e43026e9762f616f9eed09883ef3bd5a7c5b0beaf8cec141b88030f7417353
7
+ data.tar.gz: 04418842db9cc9fcd62f96fc53271862515ef035b59ad78caf6fb2476aef7340f6b6629427d7b92c7cd0e5c894415299fb5bb2ab06cddea3d82599947d41b29d
data/CHANGELOG.md CHANGED
@@ -1,3 +1,11 @@
1
+ ## 0.6.6 (October 14, 2010)
2
+
3
+ - `vagrant status NAME` works once again. [GH-191]
4
+ - Conditional validation of Vagrantfile so that some commands don't validate. [GH-188]
5
+ - Fix "junk" output for ssh-config. [GH-189]
6
+ - Fix port collision handling with greater than two VMs. [GH-185]
7
+ - Fix potential infinite loop with root path if bad CWD is given to environment.
8
+
1
9
  ## 0.6.5 (October 8, 2010)
2
10
 
3
11
  - Validations on base MAC address to avoid situation described in GH-166, GH-181
data/Gemfile.lock CHANGED
@@ -8,7 +8,7 @@ GIT
8
8
  PATH
9
9
  remote: .
10
10
  specs:
11
- vagrant (0.6.5)
11
+ vagrant (0.6.6)
12
12
  archive-tar-minitar (= 0.5.2)
13
13
  erubis (~> 2.6.6)
14
14
  i18n (~> 0.4.1)
@@ -90,14 +90,18 @@ module Vagrant
90
90
  # Any options given are injected into the environment hash.
91
91
  #
92
92
  # @param [Object] callable An object which responds to `call`.
93
- def run(callable, options=nil)
94
- callable = Builder.new.use(callable) if callable.kind_of?(Class)
95
- callable = self.class.actions[callable] if callable.kind_of?(Symbol)
96
- raise ArgumentError.new("Argument to run must be a callable object or registered action.") if !callable
93
+ def run(callable_id, options=nil)
94
+ callable = callable_id
95
+ callable = Builder.new.use(callable_id) if callable_id.kind_of?(Class)
96
+ callable = self.class.actions[callable_id] if callable_id.kind_of?(Symbol)
97
+ raise ArgumentError.new("Argument to run must be a callable object or registered action.") if !callable || !callable.respond_to?(:call)
97
98
 
98
99
  action_environment = Action::Environment.new(env)
99
100
  action_environment.merge!(options || {})
100
101
 
102
+ # Run the before action run callback, if we're not doing that already
103
+ run(:before_action_run, action_environment) if callable_id != :before_action_run
104
+
101
105
  # Run the action chain in a busy block, marking the environment as
102
106
  # interrupted if a SIGINT occurs, and exiting cleanly once the
103
107
  # chain has been run.
@@ -6,15 +6,13 @@ module Vagrant
6
6
  # in the future this will no longer be necessary with autoloading.
7
7
  def self.builtin!
8
8
  # provision - Provisions a running VM
9
- provision = Builder.new do
9
+ register(:provision, Builder.new do
10
10
  use VM::Provision
11
- end
12
-
13
- register :provision, provision
11
+ end)
14
12
 
15
13
  # start - Starts a VM, assuming it already exists on the
16
14
  # environment.
17
- start = Builder.new do
15
+ register(:start, Builder.new do
18
16
  use VM::CleanMachineFolder
19
17
  use VM::Customize
20
18
  use VM::ClearForwardedPorts
@@ -25,104 +23,82 @@ module Vagrant
25
23
  use VM::ShareFolders
26
24
  use VM::Network
27
25
  use VM::Boot
28
- end
29
-
30
- register :start, start
26
+ end)
31
27
 
32
28
  # halt - Halts the VM, attempting gracefully but then forcing
33
29
  # a restart if fails.
34
- halt = Builder.new do
30
+ register(:halt, Builder.new do
35
31
  use VM::DiscardState
36
32
  use VM::Halt
37
33
  use VM::DisableNetworks
38
- end
39
-
40
- register :halt, halt
34
+ end)
41
35
 
42
36
  # suspend - Suspends the VM
43
- suspend = Builder.new do
37
+ register(:suspend, Builder.new do
44
38
  use VM::Suspend
45
- end
46
-
47
- register :suspend, suspend
39
+ end)
48
40
 
49
41
  # resume - Resume a VM
50
- resume = Builder.new do
42
+ register(:resume, Builder.new do
51
43
  use VM::Resume
52
- end
53
-
54
- register :resume, resume
44
+ end)
55
45
 
56
46
  # reload - Halts then restarts the VM
57
- reload = Builder.new do
47
+ register(:reload, Builder.new do
58
48
  use Action[:halt]
59
49
  use Action[:start]
60
- end
61
-
62
- register :reload, reload
50
+ end)
63
51
 
64
52
  # up - Imports, prepares, then starts a fresh VM.
65
- up = Builder.new do
53
+ register(:up, Builder.new do
66
54
  use VM::CheckBox
67
55
  use VM::Import
68
56
  use VM::MatchMACAddress
69
57
  use VM::CheckGuestAdditions
70
58
  use Action[:start]
71
- end
72
-
73
- register :up, up
59
+ end)
74
60
 
75
61
  # destroy - Halts, cleans up, and destroys an existing VM
76
- destroy = Builder.new do
62
+ register(:destroy, Builder.new do
77
63
  use Action[:halt], :force => true
78
64
  use VM::ClearNFSExports
79
65
  use VM::DestroyUnusedNetworkInterfaces
80
66
  use VM::Destroy
81
67
  use VM::CleanMachineFolder
82
- end
83
-
84
- register :destroy, destroy
68
+ end)
85
69
 
86
70
  # package - Export and package the VM
87
- package = Builder.new do
71
+ register(:package, Builder.new do
88
72
  use Action[:halt]
89
73
  use VM::ClearForwardedPorts
90
74
  use VM::ClearSharedFolders
91
75
  use VM::Export
92
76
  use VM::PackageVagrantfile
93
77
  use VM::Package
94
- end
95
-
96
- register :package, package
78
+ end)
97
79
 
98
80
  # box_add - Download and add a box.
99
- box_add = Builder.new do
81
+ register(:box_add, Builder.new do
100
82
  use Box::Download
101
83
  use Box::Unpackage
102
84
  use Box::Verify
103
- end
104
-
105
- register :box_add, box_add
85
+ end)
106
86
 
107
87
  # box_remove - Removes/deletes a box.
108
- box_remove = Builder.new do
88
+ register(:box_remove, Builder.new do
109
89
  use Box::Destroy
110
- end
111
-
112
- register :box_remove, box_remove
90
+ end)
113
91
 
114
92
  # box_repackage - Repackages a box.
115
- box_repackage = Builder.new do
93
+ register(:box_repackage, Builder.new do
116
94
  use Box::Package
117
- end
118
-
119
- register :box_repackage, box_repackage
120
-
121
- # post_load - Called after environment is loaded
122
- environment_load = Builder.new do
123
- end
95
+ end)
124
96
 
125
- register :environment_load, environment_load
97
+ # Other callbacks. There will be more of these in the future. For
98
+ # now, these are limited to what are needed internally.
99
+ register(:before_action_run, Builder.new do
100
+ use General::Validate
101
+ end)
126
102
  end
127
103
  end
128
104
  end
@@ -0,0 +1,19 @@
1
+ module Vagrant
2
+ class Action
3
+ module General
4
+ # Simply validates the configuration of the current Vagrant
5
+ # environment.
6
+ class Validate
7
+ def initialize(app, env)
8
+ @app = app
9
+ @env = env
10
+ end
11
+
12
+ def call(env)
13
+ @env["config"].validate! if !@env.has_key?("validate") || @env["validate"]
14
+ @app.call(@env)
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -34,7 +34,7 @@ module Vagrant
34
34
  def external_collision_check
35
35
  existing = used_ports
36
36
  @env.env.config.vm.forwarded_ports.each do |name, options|
37
- if existing.include?(options[:hostport].to_s)
37
+ if existing.include?(options[:hostport].to_i)
38
38
  handle_collision(name, options, existing)
39
39
  end
40
40
  end
@@ -14,7 +14,7 @@ module Vagrant
14
14
  if vm.running? && vm.uuid != @env["vm"].uuid
15
15
  vm.network_adapters.collect do |na|
16
16
  na.nat_driver.forwarded_ports.collect do |fp|
17
- fp.hostport.to_s
17
+ fp.hostport.to_i
18
18
  end
19
19
  end
20
20
  end
data/lib/vagrant/box.rb CHANGED
@@ -58,17 +58,17 @@ module Vagrant
58
58
  # is kicked out to the `box_add` registered middleware.
59
59
  def add
60
60
  raise Errors::BoxAlreadyExists.new(:name => name) if File.directory?(directory)
61
- env.actions.run(:box_add, { "box" => self })
61
+ env.actions.run(:box_add, { "box" => self, "validate" => false })
62
62
  end
63
63
 
64
64
  # Begins the process of destroying this box. This cannot be undone!
65
65
  def destroy
66
- env.actions.run(:box_remove, { "box" => self })
66
+ env.actions.run(:box_remove, { "box" => self, "validate" => false })
67
67
  end
68
68
 
69
69
  # Begins sequence to repackage this box.
70
70
  def repackage(options=nil)
71
- env.actions.run(:box_repackage, { "box" => self }.merge(options || {}))
71
+ env.actions.run(:box_repackage, { "box" => self, "validate" => false }.merge(options || {}))
72
72
  end
73
73
 
74
74
  # Returns the directory to the location of this boxes content in the local
@@ -9,12 +9,12 @@ module Vagrant
9
9
  vm = target_vms.first
10
10
  raise Errors::VMNotCreatedError.new if !vm.created?
11
11
 
12
- env.ui.info(Util::TemplateRenderer.render("ssh_config", {
12
+ $stdout.puts(Util::TemplateRenderer.render("ssh_config", {
13
13
  :host_key => options[:host] || "vagrant",
14
14
  :ssh_user => vm.env.config.ssh.username,
15
15
  :ssh_port => vm.ssh.port,
16
16
  :private_key_path => vm.env.config.ssh.private_key_path
17
- }), :prefix => false)
17
+ }))
18
18
  end
19
19
  end
20
20
  end
@@ -1,17 +1,16 @@
1
1
  module Vagrant
2
2
  module Command
3
- class StatusCommand < Base
4
- argument :name, :type => :string, :optional => true
3
+ class StatusCommand < NamedBase
5
4
  register "status", "Shows the status of the current Vagrant environment."
6
5
 
7
6
  def route
8
7
  state = nil
9
- results = env.vms.collect do |name, vm|
8
+ results = target_vms.collect do |vm|
10
9
  state ||= vm.created? ? vm.vm.state.to_s : "not_created"
11
- "#{name.to_s.ljust(25)}#{state.gsub("_", " ")}"
10
+ "#{vm.name.to_s.ljust(25)}#{state.gsub("_", " ")}"
12
11
  end
13
12
 
14
- state = env.vms.length == 1 ? state : "listing"
13
+ state = target_vms.length == 1 ? state : "listing"
15
14
 
16
15
  env.ui.info(I18n.t("vagrant.commands.status.output",
17
16
  :states => results.join("\n"),
@@ -68,13 +68,9 @@ module Vagrant
68
68
  # and returns the final configured object. This also validates the
69
69
  # configuration by calling {Top#validate!} on every configuration
70
70
  # class.
71
- def execute!(validate=true)
71
+ def execute!
72
72
  config_object ||= config
73
73
  run_procs!(config_object)
74
-
75
- # Validate if we're looking at a config object which represents a
76
- # real VM.
77
- config_object.validate! if validate && config_object.env.vm
78
74
  config_object
79
75
  end
80
76
  end
@@ -90,7 +86,7 @@ module Vagrant
90
86
 
91
87
  # Loads the queue of files/procs, executes them in the proper
92
88
  # sequence, and returns the resulting configuration object.
93
- def load!(validate=true)
89
+ def load!
94
90
  self.class.reset!(@env)
95
91
 
96
92
  queue.flatten.each do |item|
@@ -106,7 +102,7 @@ module Vagrant
106
102
  end
107
103
  end
108
104
 
109
- return self.class.execute!(validate)
105
+ return self.class.execute!
110
106
  end
111
107
  end
112
108
 
@@ -243,7 +243,7 @@ module Vagrant
243
243
 
244
244
  root_finder = lambda do |path|
245
245
  return path if File.exist?(File.join(path.to_s, ROOTFILE_NAME))
246
- return nil if path.root?
246
+ return nil if path.root? || !File.exist?(path)
247
247
  root_finder.call(path.parent)
248
248
  end
249
249
 
@@ -284,7 +284,6 @@ module Vagrant
284
284
  @loaded = true
285
285
  self.class.check_virtualbox!
286
286
  load_config!
287
- actions.run(:environment_load)
288
287
  end
289
288
 
290
289
  self
@@ -313,7 +312,7 @@ module Vagrant
313
312
 
314
313
  # Execute the configuration stack and store the result as the final
315
314
  # value in the config ivar.
316
- @config = loader.load!(!first_run)
315
+ @config = loader.load!
317
316
 
318
317
  # (re)load the logger
319
318
  @logger = nil
@@ -2,5 +2,5 @@ module Vagrant
2
2
  # This will always be up to date with the current version of Vagrant,
3
3
  # since it is used to generate the gemspec and is also the source of
4
4
  # the version for `vagrant -v`
5
- VERSION = "0.6.5"
5
+ VERSION = "0.6.6"
6
6
  end
data/lib/vagrant/vm.rb CHANGED
@@ -108,7 +108,7 @@ module Vagrant
108
108
  end
109
109
 
110
110
  def package(options=nil)
111
- env.actions.run(:package, options)
111
+ env.actions.run(:package, { "validate" => false }.merge(options || {}))
112
112
  end
113
113
 
114
114
  def up(options=nil)
@@ -0,0 +1,31 @@
1
+ require "test_helper"
2
+
3
+ class ValidateGeneralActionTest < Test::Unit::TestCase
4
+ setup do
5
+ @klass = Vagrant::Action::General::Validate
6
+ @app, @env = action_env
7
+ end
8
+
9
+ should "initialize fine" do
10
+ @klass.new(@app, @env)
11
+ end
12
+
13
+ should "validate and call up" do
14
+ @instance = @klass.new(@app, @env)
15
+
16
+ seq = sequence("seq")
17
+ @env["config"].expects(:validate!).once.in_sequence(seq)
18
+ @app.expects(:call).with(@env).once.in_sequence(seq)
19
+ @instance.call(@env)
20
+ end
21
+
22
+ should "not validate if env says not to" do
23
+ @env["validate"] = false
24
+ @instance = @klass.new(@app, @env)
25
+
26
+ seq = sequence("seq")
27
+ @env["config"].expects(:validate!).never
28
+ @app.expects(:call).with(@env).once.in_sequence(seq)
29
+ @instance.call(@env)
30
+ end
31
+ end
@@ -64,7 +64,7 @@ class ForwardPortsHelpersVMActionTest < Test::Unit::TestCase
64
64
  na.stubs(:nat_driver).returns(ne)
65
65
  ne.stubs(:forwarded_ports).returns(fps)
66
66
  @vms << mock_vm(:network_adapters => [na])
67
- assert_equal %W[2222 80], @instance.used_ports
67
+ assert_equal [2222, 80], @instance.used_ports
68
68
  end
69
69
  end
70
70
  end
@@ -53,12 +53,12 @@ class ForwardPortsVMActionTest < Test::Unit::TestCase
53
53
  end
54
54
 
55
55
  should "not raise any errors if no forwarded ports collide" do
56
- @used_ports << "80"
56
+ @used_ports << 80
57
57
  assert_nothing_raised { @klass.new(@app, @env) }
58
58
  end
59
59
 
60
60
  should "handle collision if it happens" do
61
- @used_ports << "2222"
61
+ @used_ports << 2222
62
62
  @klass.any_instance.expects(:handle_collision).with("ssh", anything, anything).once
63
63
  assert_nothing_raised { @klass.new(@app, @env) }
64
64
  end
@@ -36,7 +36,7 @@ class BoxTest < Test::Unit::TestCase
36
36
  end
37
37
 
38
38
  should "execute the Add action when add is called" do
39
- @box.env.actions.expects(:run).with(:box_add, { "box" => @box })
39
+ @box.env.actions.expects(:run).with(:box_add, { "box" => @box, "validate" => false })
40
40
  @box.add
41
41
  end
42
42
 
@@ -48,19 +48,19 @@ class BoxTest < Test::Unit::TestCase
48
48
 
49
49
  context "destroying" do
50
50
  should "execute the destroy action" do
51
- @box.env.actions.expects(:run).with(:box_remove, { "box" => @box })
51
+ @box.env.actions.expects(:run).with(:box_remove, { "box" => @box, "validate" => false })
52
52
  @box.destroy
53
53
  end
54
54
  end
55
55
 
56
56
  context "repackaging" do
57
57
  should "execute the repackage action" do
58
- @box.env.actions.expects(:run).with(:box_repackage, { "box" => @box })
58
+ @box.env.actions.expects(:run).with(:box_repackage, { "box" => @box, "validate" => false })
59
59
  @box.repackage
60
60
  end
61
61
 
62
62
  should "forward given options into the action" do
63
- @box.env.actions.expects(:run).with(:box_repackage, { "box" => @box, "foo" => "bar" })
63
+ @box.env.actions.expects(:run).with(:box_repackage, { "box" => @box, "foo" => "bar", "validate" => false })
64
64
  @box.repackage("foo" => "bar")
65
65
  end
66
66
  end
@@ -9,8 +9,6 @@ class ConfigTest < Test::Unit::TestCase
9
9
  setup do
10
10
  @env = vagrant_env
11
11
  @instance = @klass.new(@env)
12
-
13
- @klass::Top.any_instance.stubs(:validate!)
14
12
  end
15
13
 
16
14
  should "initially have an empty queue" do
@@ -20,17 +18,10 @@ class ConfigTest < Test::Unit::TestCase
20
18
  should "reset the config class on load, then execute" do
21
19
  seq = sequence("sequence")
22
20
  @klass.expects(:reset!).with(@env).in_sequence(seq)
23
- @klass.expects(:execute!).with(true).in_sequence(seq)
21
+ @klass.expects(:execute!).in_sequence(seq)
24
22
  @instance.load!
25
23
  end
26
24
 
27
- should "not validate if told not to" do
28
- seq = sequence("sequence")
29
- @klass.expects(:reset!).with(@env).in_sequence(seq)
30
- @klass.expects(:execute!).with(false).in_sequence(seq)
31
- @instance.load!(false)
32
- end
33
-
34
25
  should "run the queue in the order given" do
35
26
  @instance.queue << Proc.new { |config| config.vm.box = "foo" }
36
27
  @instance.queue << Proc.new { |config| config.vm.box = "bar" }
@@ -113,7 +104,6 @@ class ConfigTest < Test::Unit::TestCase
113
104
  context "initializing" do
114
105
  setup do
115
106
  @klass.reset!(vagrant_env)
116
- @klass::Top.any_instance.stubs(:validate!)
117
107
  end
118
108
 
119
109
  should "add the given block to the proc stack" do
@@ -122,29 +112,6 @@ class ConfigTest < Test::Unit::TestCase
122
112
  assert_equal [proc], @klass.proc_stack
123
113
  end
124
114
 
125
- should "run the validation on an environment which represents a VM" do
126
- @klass.reset!(vagrant_env.vms[:default].env)
127
- seq = sequence('seq')
128
- @klass.expects(:run_procs!).with(@klass.config).once.in_sequence(seq)
129
- @klass.config.expects(:validate!).once.in_sequence(seq)
130
- @klass.execute!
131
- end
132
-
133
- should "not run the validation on an environment that doesn't directly represent a VM" do
134
- seq = sequence('seq')
135
- @klass.expects(:run_procs!).with(@klass.config).once.in_sequence(seq)
136
- @klass.expects(:validate!).never
137
- @klass.execute!
138
- end
139
-
140
- should "not run the validation if explicitly told not to" do
141
- @klass.reset!(vagrant_env.vms[:default].env)
142
- seq = sequence('seq')
143
- @klass.expects(:run_procs!).with(@klass.config).once.in_sequence(seq)
144
- @klass.config.expects(:validate!).never
145
- @klass.execute!(false)
146
- end
147
-
148
115
  should "return the configuration on execute!" do
149
116
  @klass.run {}
150
117
  result = @klass.execute!
@@ -242,6 +242,7 @@ class EnvironmentTest < Test::Unit::TestCase
242
242
  search_seq = sequence("search_seq")
243
243
  paths.each do |path|
244
244
  File.expects(:exist?).with(path.join(@klass::ROOTFILE_NAME).to_s).returns(false).in_sequence(search_seq)
245
+ File.expects(:exist?).with(path).returns(true).in_sequence(search_seq) if !path.root?
245
246
  end
246
247
 
247
248
  assert !@klass.new(:cwd => paths.first).root_path
@@ -254,6 +255,10 @@ class EnvironmentTest < Test::Unit::TestCase
254
255
  assert_equal path, @klass.new(:cwd => path).root_path
255
256
  end
256
257
 
258
+ should "not infinite loop on relative paths" do
259
+ assert @klass.new(:cwd => "../test").root_path.nil?
260
+ end
261
+
257
262
  should "only load the root path once" do
258
263
  env = @klass.new
259
264
  File.expects(:exist?).with(env.cwd.join(@klass::ROOTFILE_NAME).to_s).returns(true).once
@@ -353,7 +358,6 @@ class EnvironmentTest < Test::Unit::TestCase
353
358
  call_seq = sequence("call_sequence")
354
359
  @klass.expects(:check_virtualbox!).once.in_sequence(call_seq)
355
360
  env.expects(:load_config!).once.in_sequence(call_seq)
356
- env.actions.expects(:run).with(:environment_load).once.in_sequence(call_seq)
357
361
  assert_equal env, env.load!
358
362
  end
359
363
  end
@@ -165,7 +165,12 @@ class VMTest < Test::Unit::TestCase
165
165
 
166
166
  context "packaging" do
167
167
  should "execute the package action" do
168
- @vm.env.actions.expects(:run).with(:package, :foo => :bar).once
168
+ @vm.env.actions.expects(:run).once.with() do |action, options|
169
+ assert_equal :package, action
170
+ assert_equal :bar, options[:foo]
171
+ true
172
+ end
173
+
169
174
  @vm.package(:foo => :bar)
170
175
  end
171
176
  end
data/vagrant.gemspec CHANGED
@@ -27,7 +27,6 @@ Gem::Specification.new do |s|
27
27
  s.add_development_dependency "contest", ">= 0.1.2"
28
28
  s.add_development_dependency "mocha"
29
29
  s.add_development_dependency "ruby-debug"
30
- s.add_development_dependency "bundler", ">= 1.0.0.rc.6"
31
30
 
32
31
  s.files = `git ls-files`.split("\n")
33
32
  s.executables = `git ls-files`.split("\n").map{|f| f =~ /^bin\/(.*)/ ? $1 : nil}.compact
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.5
4
+ version: 0.6.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mitchell Hashimoto
@@ -193,20 +193,6 @@ dependencies:
193
193
  - - '>='
194
194
  - !ruby/object:Gem::Version
195
195
  version: '0'
196
- - !ruby/object:Gem::Dependency
197
- name: bundler
198
- requirement: !ruby/object:Gem::Requirement
199
- requirements:
200
- - - '>='
201
- - !ruby/object:Gem::Version
202
- version: 1.0.0.rc.6
203
- type: :development
204
- prerelease: false
205
- version_requirements: !ruby/object:Gem::Requirement
206
- requirements:
207
- - - '>='
208
- - !ruby/object:Gem::Version
209
- version: 1.0.0.rc.6
210
196
  description: Vagrant is a tool for building and distributing virtualized development
211
197
  environments.
212
198
  email:
@@ -243,6 +229,7 @@ files:
243
229
  - lib/vagrant/action/env/set.rb
244
230
  - lib/vagrant/action/environment.rb
245
231
  - lib/vagrant/action/general/package.rb
232
+ - lib/vagrant/action/general/validate.rb
246
233
  - lib/vagrant/action/vm/boot.rb
247
234
  - lib/vagrant/action/vm/check_box.rb
248
235
  - lib/vagrant/action/vm/check_guest_additions.rb
@@ -354,6 +341,7 @@ files:
354
341
  - test/vagrant/action/env/set_test.rb
355
342
  - test/vagrant/action/environment_test.rb
356
343
  - test/vagrant/action/general/package_test.rb
344
+ - test/vagrant/action/general/validate_test.rb
357
345
  - test/vagrant/action/vm/boot_test.rb
358
346
  - test/vagrant/action/vm/check_box_test.rb
359
347
  - test/vagrant/action/vm/check_guest_additions_test.rb