vagrant 0.1.4 → 0.2.0.pre
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.
- data/Gemfile +1 -1
- data/Rakefile +1 -1
- data/VERSION +1 -1
- data/bin/vagrant-box +1 -2
- data/bin/vagrant-down +1 -2
- data/bin/vagrant-halt +1 -2
- data/bin/vagrant-init +1 -2
- data/bin/vagrant-package +1 -2
- data/bin/vagrant-reload +1 -2
- data/bin/vagrant-resume +1 -2
- data/bin/vagrant-ssh +1 -2
- data/bin/vagrant-status +29 -0
- data/bin/vagrant-suspend +1 -2
- data/bin/vagrant-up +1 -2
- data/config/default.rb +5 -9
- data/keys/README.md +10 -0
- data/keys/vagrant +27 -0
- data/keys/vagrant.pub +1 -0
- data/lib/vagrant/actions/base.rb +14 -0
- data/lib/vagrant/actions/collection.rb +36 -0
- data/lib/vagrant/actions/runner.rb +4 -10
- data/lib/vagrant/actions/vm/boot.rb +4 -5
- data/lib/vagrant/actions/vm/customize.rb +17 -0
- data/lib/vagrant/actions/vm/destroy.rb +11 -2
- data/lib/vagrant/actions/vm/forward_ports.rb +24 -0
- data/lib/vagrant/actions/vm/import.rb +1 -0
- data/lib/vagrant/actions/vm/provision.rb +30 -52
- data/lib/vagrant/actions/vm/reload.rb +2 -2
- data/lib/vagrant/actions/vm/shared_folders.rb +37 -25
- data/lib/vagrant/actions/vm/up.rb +8 -4
- data/lib/vagrant/active_list.rb +66 -0
- data/lib/vagrant/commands.rb +44 -0
- data/lib/vagrant/config.rb +64 -47
- data/lib/vagrant/downloaders/file.rb +2 -12
- data/lib/vagrant/env.rb +48 -12
- data/lib/vagrant/provisioners/base.rb +22 -0
- data/lib/vagrant/provisioners/chef.rb +102 -0
- data/lib/vagrant/provisioners/chef_server.rb +96 -0
- data/lib/vagrant/provisioners/chef_solo.rb +67 -0
- data/lib/vagrant/ssh.rb +25 -6
- data/lib/vagrant/stacked_proc_runner.rb +33 -0
- data/lib/vagrant/vm.rb +8 -0
- data/lib/vagrant.rb +10 -5
- data/test/test_helper.rb +22 -6
- data/test/vagrant/actions/collection_test.rb +110 -0
- data/test/vagrant/actions/runner_test.rb +11 -7
- data/test/vagrant/actions/vm/boot_test.rb +7 -7
- data/test/vagrant/actions/vm/customize_test.rb +16 -0
- data/test/vagrant/actions/vm/destroy_test.rb +19 -6
- data/test/vagrant/actions/vm/forward_ports_test.rb +52 -0
- data/test/vagrant/actions/vm/import_test.rb +10 -3
- data/test/vagrant/actions/vm/provision_test.rb +75 -70
- data/test/vagrant/actions/vm/reload_test.rb +3 -2
- data/test/vagrant/actions/vm/shared_folders_test.rb +62 -9
- data/test/vagrant/actions/vm/up_test.rb +4 -4
- data/test/vagrant/active_list_test.rb +169 -0
- data/test/vagrant/config_test.rb +145 -29
- data/test/vagrant/downloaders/file_test.rb +4 -19
- data/test/vagrant/env_test.rb +96 -23
- data/test/vagrant/provisioners/base_test.rb +27 -0
- data/test/vagrant/provisioners/chef_server_test.rb +175 -0
- data/test/vagrant/provisioners/chef_solo_test.rb +142 -0
- data/test/vagrant/provisioners/chef_test.rb +116 -0
- data/test/vagrant/ssh_test.rb +29 -8
- data/test/vagrant/stacked_proc_runner_test.rb +43 -0
- data/test/vagrant/vm_test.rb +23 -0
- data/vagrant.gemspec +35 -8
- metadata +42 -11
- data/script/vagrant-ssh-expect.sh +0 -22
@@ -0,0 +1,142 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), '..', '..', 'test_helper')
|
2
|
+
|
3
|
+
class ChefSoloProvisionerTest < Test::Unit::TestCase
|
4
|
+
setup do
|
5
|
+
@action = Vagrant::Provisioners::ChefSolo.new
|
6
|
+
|
7
|
+
Vagrant::SSH.stubs(:execute)
|
8
|
+
Vagrant::SSH.stubs(:upload!)
|
9
|
+
|
10
|
+
mock_config
|
11
|
+
end
|
12
|
+
|
13
|
+
context "preparing" do
|
14
|
+
should "share cookbook folders" do
|
15
|
+
@action.expects(:share_cookbook_folders).once
|
16
|
+
@action.prepare
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
context "provisioning" do
|
21
|
+
should "run the proper sequence of methods in order" do
|
22
|
+
prov_seq = sequence("prov_seq")
|
23
|
+
@action.expects(:chown_provisioning_folder).once.in_sequence(prov_seq)
|
24
|
+
@action.expects(:setup_json).once.in_sequence(prov_seq)
|
25
|
+
@action.expects(:setup_solo_config).once.in_sequence(prov_seq)
|
26
|
+
@action.expects(:run_chef_solo).once.in_sequence(prov_seq)
|
27
|
+
@action.provision!
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
context "sharing cookbook folders" do
|
32
|
+
setup do
|
33
|
+
@host_cookbook_paths = ["foo", "bar"]
|
34
|
+
@action.stubs(:host_cookbook_paths).returns(@host_cookbook_paths)
|
35
|
+
end
|
36
|
+
|
37
|
+
should "share each cookbook folder" do
|
38
|
+
share_seq = sequence("share_seq")
|
39
|
+
@host_cookbook_paths.each_with_index do |cookbook, i|
|
40
|
+
Vagrant.config.vm.expects(:share_folder).with("vagrant-chef-solo-#{i}", @action.cookbook_path(i), cookbook).in_sequence(share_seq)
|
41
|
+
end
|
42
|
+
|
43
|
+
@action.share_cookbook_folders
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
context "host cookbooks paths" do
|
48
|
+
should "expand the path of the cookbooks relative to the environment root path" do
|
49
|
+
@cookbook = "foo"
|
50
|
+
@expanded = "bar"
|
51
|
+
File.expects(:expand_path).with(@cookbook, Vagrant::Env.root_path).returns(@expanded)
|
52
|
+
|
53
|
+
mock_config do |config|
|
54
|
+
config.chef.cookbooks_path = @cookbook
|
55
|
+
end
|
56
|
+
|
57
|
+
assert_equal [@expanded], @action.host_cookbook_paths
|
58
|
+
end
|
59
|
+
|
60
|
+
should "return as an array if was originally a string" do
|
61
|
+
File.stubs(:expand_path).returns("foo")
|
62
|
+
|
63
|
+
mock_config do |config|
|
64
|
+
config.chef.cookbooks_path = "foo"
|
65
|
+
end
|
66
|
+
|
67
|
+
assert_equal ["foo"], @action.host_cookbook_paths
|
68
|
+
end
|
69
|
+
|
70
|
+
should "return the array of cookbooks if its an array" do
|
71
|
+
cookbooks = ["foo", "bar"]
|
72
|
+
mock_config do |config|
|
73
|
+
config.chef.cookbooks_path = cookbooks
|
74
|
+
end
|
75
|
+
|
76
|
+
expand_seq = sequence('expand_seq')
|
77
|
+
cookbooks.each do |cookbook|
|
78
|
+
File.expects(:expand_path).with(cookbook, Vagrant::Env.root_path).returns(cookbook)
|
79
|
+
end
|
80
|
+
|
81
|
+
assert_equal cookbooks, @action.host_cookbook_paths
|
82
|
+
end
|
83
|
+
end
|
84
|
+
|
85
|
+
context "cookbooks path" do
|
86
|
+
should "return a proper path to a single cookbook" do
|
87
|
+
expected = File.join(Vagrant.config.chef.provisioning_path, "cookbooks-5")
|
88
|
+
assert_equal expected, @action.cookbook_path(5)
|
89
|
+
end
|
90
|
+
|
91
|
+
should "return array-representation of cookbook paths if multiple" do
|
92
|
+
@cookbooks = (0..5).inject([]) do |acc, i|
|
93
|
+
acc << @action.cookbook_path(i)
|
94
|
+
end
|
95
|
+
|
96
|
+
mock_config do |config|
|
97
|
+
config.chef.cookbooks_path = @cookbooks
|
98
|
+
end
|
99
|
+
|
100
|
+
assert_equal @cookbooks.to_json, @action.cookbooks_path
|
101
|
+
end
|
102
|
+
|
103
|
+
should "return a single string representation if cookbook paths is single" do
|
104
|
+
@cookbooks = @action.cookbook_path(0)
|
105
|
+
|
106
|
+
mock_config do |config|
|
107
|
+
config.chef.cookbooks_path = @cookbooks
|
108
|
+
end
|
109
|
+
|
110
|
+
assert_equal @cookbooks.to_json, @action.cookbooks_path
|
111
|
+
end
|
112
|
+
end
|
113
|
+
|
114
|
+
context "generating and uploading chef solo configuration file" do
|
115
|
+
should "upload properly generate the configuration file using configuration data" do
|
116
|
+
expected_config = <<-config
|
117
|
+
file_cache_path "#{Vagrant.config.chef.provisioning_path}"
|
118
|
+
cookbook_path #{@action.cookbooks_path}
|
119
|
+
config
|
120
|
+
|
121
|
+
StringIO.expects(:new).with(expected_config).once
|
122
|
+
@action.setup_solo_config
|
123
|
+
end
|
124
|
+
|
125
|
+
should "upload this file as solo.rb to the provisioning folder" do
|
126
|
+
@action.expects(:cookbooks_path).returns("cookbooks")
|
127
|
+
StringIO.expects(:new).returns("foo")
|
128
|
+
File.expects(:join).with(Vagrant.config.chef.provisioning_path, "solo.rb").once.returns("bar")
|
129
|
+
Vagrant::SSH.expects(:upload!).with("foo", "bar").once
|
130
|
+
@action.setup_solo_config
|
131
|
+
end
|
132
|
+
end
|
133
|
+
|
134
|
+
context "running chef solo" do
|
135
|
+
should "cd into the provisioning directory and run chef solo" do
|
136
|
+
ssh = mock("ssh")
|
137
|
+
ssh.expects(:exec!).with("cd #{Vagrant.config.chef.provisioning_path} && sudo chef-solo -c solo.rb -j dna.json").once
|
138
|
+
Vagrant::SSH.expects(:execute).yields(ssh)
|
139
|
+
@action.run_chef_solo
|
140
|
+
end
|
141
|
+
end
|
142
|
+
end
|
@@ -0,0 +1,116 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), '..', '..', 'test_helper')
|
2
|
+
|
3
|
+
class ChefProvisionerTest < Test::Unit::TestCase
|
4
|
+
setup do
|
5
|
+
@action = Vagrant::Provisioners::Chef.new
|
6
|
+
|
7
|
+
Vagrant::SSH.stubs(:execute)
|
8
|
+
Vagrant::SSH.stubs(:upload!)
|
9
|
+
|
10
|
+
mock_config
|
11
|
+
end
|
12
|
+
|
13
|
+
context "preparing" do
|
14
|
+
should "raise an ActionException" do
|
15
|
+
assert_raises(Vagrant::Actions::ActionException) {
|
16
|
+
@action.prepare
|
17
|
+
}
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
context "config" do
|
22
|
+
setup do
|
23
|
+
@config = Vagrant::Provisioners::Chef::ChefConfig.new
|
24
|
+
@config.run_list.clear
|
25
|
+
end
|
26
|
+
|
27
|
+
should "not include the 'json' key in the config dump" do
|
28
|
+
result = JSON.parse(@config.to_json)
|
29
|
+
assert !result.has_key?("json")
|
30
|
+
end
|
31
|
+
|
32
|
+
should "provide accessors to the run list" do
|
33
|
+
@config.run_list << "foo"
|
34
|
+
assert !@config.run_list.empty?
|
35
|
+
assert_equal ["foo"], @config.run_list
|
36
|
+
end
|
37
|
+
|
38
|
+
should "provide a writer for the run list" do
|
39
|
+
data = mock("data")
|
40
|
+
|
41
|
+
assert_nothing_raised {
|
42
|
+
@config.run_list = data
|
43
|
+
assert_equal data, @config.run_list
|
44
|
+
}
|
45
|
+
end
|
46
|
+
|
47
|
+
should "add a recipe to the run list" do
|
48
|
+
@config.add_recipe("foo")
|
49
|
+
assert_equal "recipe[foo]", @config.run_list[0]
|
50
|
+
end
|
51
|
+
|
52
|
+
should "not wrap the recipe in 'recipe[]' if it was in the name" do
|
53
|
+
@config.add_recipe("recipe[foo]")
|
54
|
+
assert_equal "recipe[foo]", @config.run_list[0]
|
55
|
+
end
|
56
|
+
|
57
|
+
should "add a role to the run list" do
|
58
|
+
@config.add_role("user")
|
59
|
+
assert_equal "role[user]", @config.run_list[0]
|
60
|
+
end
|
61
|
+
|
62
|
+
should "not wrap the role in 'role[]' if it was in the name" do
|
63
|
+
@config.add_role("role[user]")
|
64
|
+
assert_equal "role[user]", @config.run_list[0]
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
context "permissions on provisioning folder" do
|
69
|
+
should "create and chown the folder to the ssh user" do
|
70
|
+
ssh_seq = sequence("ssh_seq")
|
71
|
+
ssh = mock("ssh")
|
72
|
+
ssh.expects(:exec!).with("sudo mkdir -p #{Vagrant.config.chef.provisioning_path}").once.in_sequence(ssh_seq)
|
73
|
+
ssh.expects(:exec!).with("sudo chown #{Vagrant.config.ssh.username} #{Vagrant.config.chef.provisioning_path}").once.in_sequence(ssh_seq)
|
74
|
+
Vagrant::SSH.expects(:execute).yields(ssh)
|
75
|
+
@action.chown_provisioning_folder
|
76
|
+
end
|
77
|
+
end
|
78
|
+
|
79
|
+
context "generating and uploading json" do
|
80
|
+
def assert_json
|
81
|
+
Vagrant::SSH.expects(:upload!).with do |json, path|
|
82
|
+
data = JSON.parse(json.read)
|
83
|
+
yield data
|
84
|
+
true
|
85
|
+
end
|
86
|
+
|
87
|
+
@action.setup_json
|
88
|
+
end
|
89
|
+
|
90
|
+
should "merge in the extra json specified in the config" do
|
91
|
+
Vagrant.config.chef.json = { :foo => "BAR" }
|
92
|
+
assert_json do |data|
|
93
|
+
assert_equal "BAR", data["foo"]
|
94
|
+
end
|
95
|
+
end
|
96
|
+
|
97
|
+
should "add the directory as a special case to the JSON" do
|
98
|
+
assert_json do |data|
|
99
|
+
assert_equal Vagrant.config.vm.project_directory, data["vagrant"]["directory"]
|
100
|
+
end
|
101
|
+
end
|
102
|
+
|
103
|
+
should "add the config to the JSON" do
|
104
|
+
assert_json do |data|
|
105
|
+
assert_equal Vagrant.config.vm.project_directory, data["vagrant"]["config"]["vm"]["project_directory"]
|
106
|
+
end
|
107
|
+
end
|
108
|
+
|
109
|
+
should "upload a StringIO to dna.json" do
|
110
|
+
StringIO.expects(:new).with(anything).returns("bar")
|
111
|
+
File.expects(:join).with(Vagrant.config.chef.provisioning_path, "dna.json").once.returns("baz")
|
112
|
+
Vagrant::SSH.expects(:upload!).with("bar", "baz").once
|
113
|
+
@action.setup_json
|
114
|
+
end
|
115
|
+
end
|
116
|
+
end
|
data/test/vagrant/ssh_test.rb
CHANGED
@@ -6,21 +6,31 @@ class SshTest < Test::Unit::TestCase
|
|
6
6
|
end
|
7
7
|
|
8
8
|
context "connecting to SSH" do
|
9
|
-
setup do
|
10
|
-
@script = Vagrant::SSH::SCRIPT
|
11
|
-
end
|
12
|
-
|
13
9
|
test "should call exec with defaults when no options are supplied" do
|
14
10
|
ssh = Vagrant.config.ssh
|
15
|
-
|
11
|
+
ssh_exec_expect(Vagrant::SSH.port,
|
12
|
+
Vagrant.config.ssh.private_key_path,
|
13
|
+
Vagrant.config.ssh.username,
|
14
|
+
Vagrant.config.ssh.host)
|
16
15
|
Vagrant::SSH.connect
|
17
16
|
end
|
18
17
|
|
19
18
|
test "should call exec with supplied params" do
|
20
|
-
args = {:username => 'bar', :
|
21
|
-
|
19
|
+
args = {:username => 'bar', :private_key_path => 'baz', :host => 'bak', :port => 'bag'}
|
20
|
+
ssh_exec_expect(args[:port], args[:private_key_path], args[:username], args[:host])
|
22
21
|
Vagrant::SSH.connect(args)
|
23
22
|
end
|
23
|
+
|
24
|
+
def ssh_exec_expect(port, key_path, uname, host)
|
25
|
+
Kernel.expects(:exec).with() do |arg|
|
26
|
+
assert arg =~ /^ssh/
|
27
|
+
assert arg =~ /-p #{port}/
|
28
|
+
assert arg =~ /-i #{key_path}/
|
29
|
+
assert arg =~ /#{uname}@#{host}/
|
30
|
+
# TODO options not tested for as they may be removed, they may be removed
|
31
|
+
true
|
32
|
+
end
|
33
|
+
end
|
24
34
|
end
|
25
35
|
|
26
36
|
context "executing ssh commands" do
|
@@ -29,7 +39,7 @@ class SshTest < Test::Unit::TestCase
|
|
29
39
|
assert_equal Vagrant.config.ssh.host, host
|
30
40
|
assert_equal Vagrant.config.ssh.username, username
|
31
41
|
assert_equal Vagrant::SSH.port, opts[:port]
|
32
|
-
assert_equal Vagrant.config.ssh.
|
42
|
+
assert_equal [Vagrant.config.ssh.private_key_path], opts[:keys]
|
33
43
|
true
|
34
44
|
end
|
35
45
|
Vagrant::SSH.execute
|
@@ -89,6 +99,17 @@ class SshTest < Test::Unit::TestCase
|
|
89
99
|
assert !Vagrant::SSH.up?
|
90
100
|
}
|
91
101
|
end
|
102
|
+
|
103
|
+
should "specifity the timeout as an option to execute" do
|
104
|
+
Vagrant::SSH.expects(:execute).with(:timeout => Vagrant.config.ssh.timeout).yields(true)
|
105
|
+
assert Vagrant::SSH.up?
|
106
|
+
end
|
107
|
+
|
108
|
+
should "error and exit if a Net::SSH::AuthenticationFailed is raised" do
|
109
|
+
Vagrant::SSH.expects(:execute).raises(Net::SSH::AuthenticationFailed)
|
110
|
+
Vagrant::SSH.expects(:error_and_exit).once
|
111
|
+
Vagrant::SSH.up?
|
112
|
+
end
|
92
113
|
end
|
93
114
|
|
94
115
|
context "getting the ssh port" do
|
@@ -0,0 +1,43 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), '..', 'test_helper')
|
2
|
+
|
3
|
+
class StackedProcRunnerTest < Test::Unit::TestCase
|
4
|
+
class TestClass
|
5
|
+
include Vagrant::StackedProcRunner
|
6
|
+
end
|
7
|
+
|
8
|
+
setup do
|
9
|
+
@instance = TestClass.new
|
10
|
+
@instance.proc_stack.clear
|
11
|
+
end
|
12
|
+
|
13
|
+
should "not run the procs right away" do
|
14
|
+
obj = mock("obj")
|
15
|
+
obj.expects(:foo).never
|
16
|
+
@instance.push_proc { |config| obj.foo }
|
17
|
+
@instance.push_proc { |config| obj.foo }
|
18
|
+
@instance.push_proc { |config| obj.foo }
|
19
|
+
end
|
20
|
+
|
21
|
+
should "run the blocks when run_procs! is ran" do
|
22
|
+
obj = mock("obj")
|
23
|
+
obj.expects(:foo).times(2)
|
24
|
+
@instance.push_proc { obj.foo }
|
25
|
+
@instance.push_proc { obj.foo }
|
26
|
+
@instance.run_procs!
|
27
|
+
end
|
28
|
+
|
29
|
+
should "run the blocks with the same arguments" do
|
30
|
+
passed_config = mock("config")
|
31
|
+
@instance.push_proc { |config| assert passed_config.equal?(config) }
|
32
|
+
@instance.push_proc { |config| assert passed_config.equal?(config) }
|
33
|
+
@instance.run_procs!(passed_config)
|
34
|
+
end
|
35
|
+
|
36
|
+
should "not clear the blocks after running" do
|
37
|
+
obj = mock("obj")
|
38
|
+
obj.expects(:foo).times(2)
|
39
|
+
@instance.push_proc { obj.foo }
|
40
|
+
@instance.run_procs!
|
41
|
+
@instance.run_procs!
|
42
|
+
end
|
43
|
+
end
|
data/test/vagrant/vm_test.rb
CHANGED
@@ -35,6 +35,29 @@ class VMTest < Test::Unit::TestCase
|
|
35
35
|
context "vagrant VM instance" do
|
36
36
|
setup do
|
37
37
|
@vm = Vagrant::VM.new(@mock_vm)
|
38
|
+
@mock_vm.stubs(:uuid).returns("foo")
|
39
|
+
end
|
40
|
+
|
41
|
+
context "uuid" do
|
42
|
+
should "call UUID on VM object" do
|
43
|
+
uuid = mock("uuid")
|
44
|
+
@mock_vm.expects(:uuid).once.returns(uuid)
|
45
|
+
assert_equal uuid, @vm.uuid
|
46
|
+
end
|
47
|
+
|
48
|
+
should "return nil if vm is nil" do
|
49
|
+
@vm.expects(:vm).returns(nil)
|
50
|
+
assert @vm.uuid.nil?
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
context "reloading" do
|
55
|
+
should "load the same VM and set it" do
|
56
|
+
new_vm = mock("vm")
|
57
|
+
VirtualBox::VM.expects(:find).with(@mock_vm.uuid).returns(new_vm)
|
58
|
+
@vm.reload!
|
59
|
+
assert_equal new_vm, @vm.vm
|
60
|
+
end
|
38
61
|
end
|
39
62
|
|
40
63
|
context "packaging" do
|
data/vagrant.gemspec
CHANGED
@@ -5,14 +5,14 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{vagrant}
|
8
|
-
s.version = "0.
|
8
|
+
s.version = "0.2.0.pre"
|
9
9
|
|
10
|
-
s.required_rubygems_version = Gem::Requirement.new("
|
10
|
+
s.required_rubygems_version = Gem::Requirement.new("> 1.3.1") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Mitchell Hashimoto", "John Bender"]
|
12
|
-
s.date = %q{2010-03-
|
12
|
+
s.date = %q{2010-03-15}
|
13
13
|
s.description = %q{Vagrant is a tool for building and distributing virtualized development environments.}
|
14
14
|
s.email = ["mitchell.hashimoto@gmail.com", "john.m.bender@gmail.com"]
|
15
|
-
s.executables = ["vagrant", "vagrant-box", "vagrant-down", "vagrant-halt", "vagrant-init", "vagrant-package", "vagrant-reload", "vagrant-resume", "vagrant-ssh", "vagrant-suspend", "vagrant-up"]
|
15
|
+
s.executables = ["vagrant", "vagrant-box", "vagrant-down", "vagrant-halt", "vagrant-init", "vagrant-package", "vagrant-reload", "vagrant-resume", "vagrant-ssh", "vagrant-status", "vagrant-suspend", "vagrant-up"]
|
16
16
|
s.extra_rdoc_files = [
|
17
17
|
"LICENSE",
|
18
18
|
"README.md"
|
@@ -34,17 +34,23 @@ Gem::Specification.new do |s|
|
|
34
34
|
"bin/vagrant-reload",
|
35
35
|
"bin/vagrant-resume",
|
36
36
|
"bin/vagrant-ssh",
|
37
|
+
"bin/vagrant-status",
|
37
38
|
"bin/vagrant-suspend",
|
38
39
|
"bin/vagrant-up",
|
39
40
|
"config/default.rb",
|
41
|
+
"keys/README.md",
|
42
|
+
"keys/vagrant",
|
43
|
+
"keys/vagrant.pub",
|
40
44
|
"lib/vagrant.rb",
|
41
45
|
"lib/vagrant/actions/base.rb",
|
42
46
|
"lib/vagrant/actions/box/add.rb",
|
43
47
|
"lib/vagrant/actions/box/destroy.rb",
|
44
48
|
"lib/vagrant/actions/box/download.rb",
|
45
49
|
"lib/vagrant/actions/box/unpackage.rb",
|
50
|
+
"lib/vagrant/actions/collection.rb",
|
46
51
|
"lib/vagrant/actions/runner.rb",
|
47
52
|
"lib/vagrant/actions/vm/boot.rb",
|
53
|
+
"lib/vagrant/actions/vm/customize.rb",
|
48
54
|
"lib/vagrant/actions/vm/destroy.rb",
|
49
55
|
"lib/vagrant/actions/vm/down.rb",
|
50
56
|
"lib/vagrant/actions/vm/export.rb",
|
@@ -60,6 +66,7 @@ Gem::Specification.new do |s|
|
|
60
66
|
"lib/vagrant/actions/vm/start.rb",
|
61
67
|
"lib/vagrant/actions/vm/suspend.rb",
|
62
68
|
"lib/vagrant/actions/vm/up.rb",
|
69
|
+
"lib/vagrant/active_list.rb",
|
63
70
|
"lib/vagrant/box.rb",
|
64
71
|
"lib/vagrant/busy.rb",
|
65
72
|
"lib/vagrant/commands.rb",
|
@@ -68,10 +75,14 @@ Gem::Specification.new do |s|
|
|
68
75
|
"lib/vagrant/downloaders/file.rb",
|
69
76
|
"lib/vagrant/downloaders/http.rb",
|
70
77
|
"lib/vagrant/env.rb",
|
78
|
+
"lib/vagrant/provisioners/base.rb",
|
79
|
+
"lib/vagrant/provisioners/chef.rb",
|
80
|
+
"lib/vagrant/provisioners/chef_server.rb",
|
81
|
+
"lib/vagrant/provisioners/chef_solo.rb",
|
71
82
|
"lib/vagrant/ssh.rb",
|
83
|
+
"lib/vagrant/stacked_proc_runner.rb",
|
72
84
|
"lib/vagrant/util.rb",
|
73
85
|
"lib/vagrant/vm.rb",
|
74
|
-
"script/vagrant-ssh-expect.sh",
|
75
86
|
"templates/Vagrantfile",
|
76
87
|
"test/test_helper.rb",
|
77
88
|
"test/vagrant/actions/base_test.rb",
|
@@ -79,8 +90,10 @@ Gem::Specification.new do |s|
|
|
79
90
|
"test/vagrant/actions/box/destroy_test.rb",
|
80
91
|
"test/vagrant/actions/box/download_test.rb",
|
81
92
|
"test/vagrant/actions/box/unpackage_test.rb",
|
93
|
+
"test/vagrant/actions/collection_test.rb",
|
82
94
|
"test/vagrant/actions/runner_test.rb",
|
83
95
|
"test/vagrant/actions/vm/boot_test.rb",
|
96
|
+
"test/vagrant/actions/vm/customize_test.rb",
|
84
97
|
"test/vagrant/actions/vm/destroy_test.rb",
|
85
98
|
"test/vagrant/actions/vm/down_test.rb",
|
86
99
|
"test/vagrant/actions/vm/export_test.rb",
|
@@ -96,6 +109,7 @@ Gem::Specification.new do |s|
|
|
96
109
|
"test/vagrant/actions/vm/start_test.rb",
|
97
110
|
"test/vagrant/actions/vm/suspend_test.rb",
|
98
111
|
"test/vagrant/actions/vm/up_test.rb",
|
112
|
+
"test/vagrant/active_list_test.rb",
|
99
113
|
"test/vagrant/box_test.rb",
|
100
114
|
"test/vagrant/busy_test.rb",
|
101
115
|
"test/vagrant/commands_test.rb",
|
@@ -104,7 +118,12 @@ Gem::Specification.new do |s|
|
|
104
118
|
"test/vagrant/downloaders/file_test.rb",
|
105
119
|
"test/vagrant/downloaders/http_test.rb",
|
106
120
|
"test/vagrant/env_test.rb",
|
121
|
+
"test/vagrant/provisioners/base_test.rb",
|
122
|
+
"test/vagrant/provisioners/chef_server_test.rb",
|
123
|
+
"test/vagrant/provisioners/chef_solo_test.rb",
|
124
|
+
"test/vagrant/provisioners/chef_test.rb",
|
107
125
|
"test/vagrant/ssh_test.rb",
|
126
|
+
"test/vagrant/stacked_proc_runner_test.rb",
|
108
127
|
"test/vagrant/util_test.rb",
|
109
128
|
"test/vagrant/vm_test.rb",
|
110
129
|
"vagrant.gemspec"
|
@@ -121,8 +140,10 @@ Gem::Specification.new do |s|
|
|
121
140
|
"test/vagrant/actions/box/destroy_test.rb",
|
122
141
|
"test/vagrant/actions/box/download_test.rb",
|
123
142
|
"test/vagrant/actions/box/unpackage_test.rb",
|
143
|
+
"test/vagrant/actions/collection_test.rb",
|
124
144
|
"test/vagrant/actions/runner_test.rb",
|
125
145
|
"test/vagrant/actions/vm/boot_test.rb",
|
146
|
+
"test/vagrant/actions/vm/customize_test.rb",
|
126
147
|
"test/vagrant/actions/vm/destroy_test.rb",
|
127
148
|
"test/vagrant/actions/vm/down_test.rb",
|
128
149
|
"test/vagrant/actions/vm/export_test.rb",
|
@@ -138,6 +159,7 @@ Gem::Specification.new do |s|
|
|
138
159
|
"test/vagrant/actions/vm/start_test.rb",
|
139
160
|
"test/vagrant/actions/vm/suspend_test.rb",
|
140
161
|
"test/vagrant/actions/vm/up_test.rb",
|
162
|
+
"test/vagrant/active_list_test.rb",
|
141
163
|
"test/vagrant/box_test.rb",
|
142
164
|
"test/vagrant/busy_test.rb",
|
143
165
|
"test/vagrant/commands_test.rb",
|
@@ -146,7 +168,12 @@ Gem::Specification.new do |s|
|
|
146
168
|
"test/vagrant/downloaders/file_test.rb",
|
147
169
|
"test/vagrant/downloaders/http_test.rb",
|
148
170
|
"test/vagrant/env_test.rb",
|
171
|
+
"test/vagrant/provisioners/base_test.rb",
|
172
|
+
"test/vagrant/provisioners/chef_server_test.rb",
|
173
|
+
"test/vagrant/provisioners/chef_solo_test.rb",
|
174
|
+
"test/vagrant/provisioners/chef_test.rb",
|
149
175
|
"test/vagrant/ssh_test.rb",
|
176
|
+
"test/vagrant/stacked_proc_runner_test.rb",
|
150
177
|
"test/vagrant/util_test.rb",
|
151
178
|
"test/vagrant/vm_test.rb"
|
152
179
|
]
|
@@ -156,14 +183,14 @@ Gem::Specification.new do |s|
|
|
156
183
|
s.specification_version = 3
|
157
184
|
|
158
185
|
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
159
|
-
s.add_runtime_dependency(%q<virtualbox>, [">= 0.5.
|
186
|
+
s.add_runtime_dependency(%q<virtualbox>, [">= 0.5.2"])
|
160
187
|
s.add_runtime_dependency(%q<net-ssh>, [">= 2.0.19"])
|
161
188
|
s.add_runtime_dependency(%q<net-scp>, [">= 1.0.2"])
|
162
189
|
s.add_runtime_dependency(%q<json>, [">= 1.2.0"])
|
163
190
|
s.add_runtime_dependency(%q<git-style-binaries>, [">= 0.1.10"])
|
164
191
|
s.add_runtime_dependency(%q<archive-tar-minitar>, ["= 0.5.2"])
|
165
192
|
else
|
166
|
-
s.add_dependency(%q<virtualbox>, [">= 0.5.
|
193
|
+
s.add_dependency(%q<virtualbox>, [">= 0.5.2"])
|
167
194
|
s.add_dependency(%q<net-ssh>, [">= 2.0.19"])
|
168
195
|
s.add_dependency(%q<net-scp>, [">= 1.0.2"])
|
169
196
|
s.add_dependency(%q<json>, [">= 1.2.0"])
|
@@ -171,7 +198,7 @@ Gem::Specification.new do |s|
|
|
171
198
|
s.add_dependency(%q<archive-tar-minitar>, ["= 0.5.2"])
|
172
199
|
end
|
173
200
|
else
|
174
|
-
s.add_dependency(%q<virtualbox>, [">= 0.5.
|
201
|
+
s.add_dependency(%q<virtualbox>, [">= 0.5.2"])
|
175
202
|
s.add_dependency(%q<net-ssh>, [">= 2.0.19"])
|
176
203
|
s.add_dependency(%q<net-scp>, [">= 1.0.2"])
|
177
204
|
s.add_dependency(%q<json>, [">= 1.2.0"])
|