vagrant 0.1.4 → 0.2.0.pre
Sign up to get free protection for your applications and to get access to all the features.
- 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"])
|