dev/Vagrantfile
changeset 28 b0b56e0f8c7f
parent 19 eadaf0b8f02e
child 406 cf0f23803a53
--- a/dev/Vagrantfile	Fri Jan 15 15:27:56 2016 +0100
+++ b/dev/Vagrantfile	Fri Jan 15 15:35:00 2016 +0100
@@ -1,13 +1,11 @@
 # -*- mode: ruby -*-
 # vi: set ft=ruby :
-
 require 'yaml'
 
 custom_file_path = File.join(__dir__, (ENV['SYSCONFIG'] || 'custom.yaml'))
 
 context = (File.exist?(custom_file_path)?YAML::load_file(custom_file_path):{}) || {}
 
-
 # All Vagrant configuration is done below. The "2" in Vagrant.configure
 # configures the configuration version (we support older styles for
 # backwards compatibility). Please don't change it unless you know what
@@ -19,19 +17,23 @@
 
   # Every Vagrant development environment requires a box. You can search for
   # boxes at https://atlas.hashicorp.com/search.
-  config.vm.box = "puppetlabs/centos-6.6-64-nocm"
+  #config.vm.box = "centos/7"
+  config.vm.box = "puppetlabs/centos-7.0-64-nocm"
 
   # Disable automatic box update checking. If you disable this, then
   # boxes will only be checked for updates when the user runs
   # `vagrant box outdated`. This is not recommended.
   # config.vm.box_check_update = false
 
+  # Create a private network, which allows host-only access to the machine
+  # using a specific IP.
+  # config.vm.network "private_network", ip: "192.168.33.10"
+  config.vm.network :private_network, ip: (ENV['VM_IP'] || context['vm_ip'] || "172.16.1.6")
+
   # Create a forwarded port mapping which allows access to a specific port
   # within the machine from a port on the host machine. In the example below,
   # accessing "localhost:8080" will access port 80 on the guest machine.
   # config.vm.network "forwarded_port", guest: 80, host: 8080
-  config.vm.network :private_network, ip: (ENV['VM_IP'] || context['vm_ip'] || "172.16.1.5")
-
   default_ports = {
     80   => 40000,
     443  => 44300,
@@ -45,11 +47,6 @@
     config.vm.network "forwarded_port", guest: guest, host: host
   end
 
-
-  # Create a private network, which allows host-only access to the machine
-  # using a specific IP.
-  # config.vm.network "private_network", ip: "192.168.33.10"
-
   # Create a public network, which generally matched to bridged network.
   # Bridged networks make the machine appear as another physical device on
   # your network.
@@ -59,10 +56,12 @@
   # the path on the host to the actual folder. The second argument is
   # the path on the guest to mount the folder. And the optional third
   # argument is a set of non-required options.
-  config.vm.synced_folder "../server", "/code", id: "code-root",
-    owner: "vagrant",
-    group: 498,
-    mount_options: ["dmode=775,fmode=664"]
+  # config.vm.synced_folder "../data", "/vagrant_data"
+  # config.vm.synced_folder "../server/src", "/var/www/corpus", id: "code-root",
+  #   owner: "vagrant",
+  #   group: 498,
+  #   mount_options: ["dmode=775,fmode=664"]
+
 
   # Provider-specific configuration so you can fine-tune various
   # backing providers for Vagrant. These expose provider-specific options.
@@ -75,12 +74,12 @@
   #   # Customize the amount of memory on the VM:
   #   vb.memory = "1024"
   # end
-  #
   config.vm.provider "virtualbox" do |v|
     v.memory = 1024
     v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
   end
 
+  #
   # View the documentation for the provider you are using for more
   # information on available options.
 
@@ -98,17 +97,25 @@
   #   sudo apt-get update
   #   sudo apt-get install -y apache2
   # SHELL
-
   config.vm.provision :shell do |shell|
-    shell.inline = "getent group nginx || groupadd -g 498 nginx;"
+    #initialize puppet
+    shell.name = "puppet_initialize"
+    shell.path = "provisioning/bootstrap-puppet.sh"
   end
 
-  config.vm.provision "ansible" do |ansible|
-    ansible.playbook = "provisioning/playbook.yml"
-    ansible.extra_vars = {
-        site_name: "corpus-parole.local"
-    }
-    ansible.sudo = true
+  config.vm.provision :shell do |shell|
+    #initialize puppet
+    shell.name = "system_initialize"
+    shell.inline = "[ ! -d '/tmp/vagrant-puppet' ] && mkdir -p '/tmp/vagrant-puppet' || :;"
+  end
+
+  config.vm.provision :puppet do |puppet|
+      puppet.manifests_path = "provisioning"
+      puppet.manifest_file = "default.pp"
+      puppet.module_path = "provisioning/modules"
+      puppet.hiera_config_path = "provisioning/hiera.yaml"
+      puppet.working_directory = "/vagrant/provisioning/"
+      puppet.options = "--verbose --debug"
   end
 
 end