Update Vagrantfile to set configuration based on current provider

When implemented like this, the users don't need to specify
configuration each time they run vagrant commands. The provider
should be specified only once, during 'vagrant up' and only if
it is not Virtualbox.

Most of users will need to just do 'vagrant up' henceforth.

Konstantin Nazarov 11 年 前
コミット
0e39b89f1e
共有1 個のファイルを変更した21 個の追加34 個の削除を含む
  1. 21 34
      deployment/Vagrantfile

+ 21 - 34
deployment/Vagrantfile

@@ -3,47 +3,34 @@
3 3
 
4 4
 Vagrant.configure("2") do |config|
5 5
   config.omnibus.chef_version = :latest
6
-  config.vm.define :vb do |vb|
7
-    vb.vm.box = "precise32"
8
-    vb.vm.box_url = "http://files.vagrantup.com/precise32.box"
9
-    vb.vm.network :forwarded_port, host: 3000, guest: 3000
10 6
 
11
-    vb.vm.provision :chef_solo do |chef|
12
-      chef.roles_path = "roles"
13
-      chef.cookbooks_path = ["cookbooks", "site-cookbooks"]
14
-      chef.add_role("huginn_development")
15
-    end
7
+  config.vm.provision :chef_solo do |chef|
8
+    chef.roles_path = "roles"
9
+    chef.cookbooks_path = ["cookbooks", "site-cookbooks"]
10
+    chef.add_role("huginn_development")
11
+    # chef.add_role("huginn_production")
16 12
   end
17 13
 
18
-  config.vm.define :prl do |prl|
19
-    prl.vm.box = "parallels/ubuntu-12.04"
14
+  config.vm.provider :virtualbox do |vb, override|
15
+    override.vm.box = "hashicorp/precise64"
16
+    override.vm.network :forwarded_port, host: 3000, guest: 3000
17
+  end
20 18
 
21
-    prl.vm.provision :chef_solo do |chef|
22
-      chef.roles_path = "roles"
23
-      chef.cookbooks_path = ["cookbooks", "site-cookbooks"]
24
-      chef.add_role("huginn_development")
25
-    end
19
+  config.vm.provider :parallels do |prl, override|
20
+    override.vm.box = "parallels/ubuntu-12.04"
26 21
   end
27 22
 
28
-  config.vm.define :ec2 do |ec2|
29
-    ec2.vm.box = "dummy"
30
-    ec2.vm.box_url = "https://github.com/mitchellh/vagrant-aws/raw/master/dummy.box"
23
+  config.vm.provider :aws do |aws, override| 
24
+    override.vm.box = "dummy"
25
+    override.vm.box_url = "https://github.com/mitchellh/vagrant-aws/raw/master/dummy.box"
31 26
 
32
-    ec2.vm.provider :aws do |aws, override|
33
-      aws.access_key_id = ""
34
-      aws.secret_access_key = ""
35
-      aws.keypair_name = ""
36
-      aws.region = "us-east-1"
37
-      aws.ami = "ami-d0f89fb9"
27
+    aws.access_key_id = ""
28
+    aws.secret_access_key = ""
29
+    aws.keypair_name = ""
30
+    aws.region = "us-east-1"
31
+    aws.ami = "ami-d0f89fb9"
38 32
 
39
-      override.ssh.username = "ubuntu"
40
-      override.ssh.private_key_path = ""
41
-    end
42
-    ec2.vm.provision :chef_solo do |chef|
43
-      chef.roles_path = "roles"
44
-      chef.cookbooks_path = ["cookbooks", "site-cookbooks"]
45
-      chef.add_role("huginn_production")
46
-    
47
-    end
33
+    override.ssh.username = "ubuntu"
34
+    override.ssh.private_key_path = ""
48 35
   end
49 36
 end