# -*- mode: ruby -*- # vi: set ft=ruby : def local_apt_cache(box_name) cache_dir = File.join(File.expand_path(Vagrant::Environment::DEFAULT_HOME), 'cache', 'apt', box_name) partial_dir = File.join(cache_dir, 'partial') FileUtils.mkdir_p(partial_dir) unless File.exists? partial_dir cache_dir end def local_gem_cache(box_name) cache_dir = File.join(File.expand_path(Vagrant::Environment::DEFAULT_HOME), 'cache', 'gems', 'source', box_name) FileUtils.mkdir_p(cache_dir) unless File.exists? cache_dir cache_dir end # Required to make sure vagrant picks it up during development Vagrant.require_plugin 'vagrant-lxc' Vagrant.configure("2") do |config| config.vm.box = "quantal64" config.vm.synced_folder "../", "/vagrant", id: 'vagrant-root', nfs: true cache_dir = local_apt_cache(config.vm.box) config.vm.synced_folder cache_dir, "/var/cache/apt/archives", id: "vagrant-apt-cache" cache_dir = local_gem_cache(config.vm.box) config.vm.synced_folder cache_dir, "/home/vagrant/gems/cache", id: "vagrant-gem-cache" config.vm.define :vbox do |vb_config| vb_config.vm.network :private_network, ip: "192.168.50.33" vb_config.vm.box_url = "https://github.com/downloads/roderik/VagrantQuantal64Box/quantal64.box" vb_config.vm.hostname = 'vbox' vb_config.vm.provider :virtualbox do |vb| # Configure VM to use 1.5gb of ram and 2 cpus vb.customize [ "modifyvm", :id, "--memory", '1536', "--cpus", '2' ] end end config.vm.define :precise do |precise| precise.vm.network :private_network, ip: "192.168.50.32" precise.vm.box = 'precise64' precise.vm.hostname = 'vbox' precise.vm.box_url = 'http://files.vagrantup.com/precise64.box' end config.vm.define :lxc do |lxc_config| lxc_config.vm.hostname = 'lxc-dev-box' lxc_config.vm.box_url = 'http://dl.dropbox.com/u/13510779/lxc-quantal64-2013-04-10.box' # Uncomment to test boxes built locally: # lxc_config.vm.box_url = '../boxes/output/lxc-quantal64.box' lxc_config.vm.provider :lxc do |lxc| # Required to boot nested containers lxc.customize 'aa_profile', 'unconfined' end end config.vm.provision :shell, :path => 'shell-provisioning/upgrade-kernel' config.vm.provision :puppet do |puppet| puppet.manifests_path = "." puppet.manifest_file = "site.pp" puppet.options << [ '--verbose', '--debug' ] end end