|
| 1 | +# -*- mode: ruby -*- |
| 2 | +# vi: set ft=ruby ts=2 sw=2 tw=0 et : |
| 3 | + |
| 4 | +role = File.basename(File.expand_path(File.dirname(__FILE__))) |
| 5 | + |
| 6 | +File.open(File.dirname(__FILE__) + '/ansible.cfg', 'w') { |f| f.write("[defaults]\nroles_path = ../") } |
| 7 | + |
| 8 | +boxes = [ |
| 9 | + { |
| 10 | + :name => "ubuntu-1004", |
| 11 | + :box => "opscode-ubuntu-10.04", |
| 12 | + :url => "http://opscode-vm-bento.s3.amazonaws.com/vagrant/virtualbox/opscode_ubuntu-10.04_chef-provisionerless.box", |
| 13 | + :ip => '10.0.0.10', |
| 14 | + :cpu => "50", |
| 15 | + :ram => "256" |
| 16 | + }, |
| 17 | + { |
| 18 | + :name => "ubuntu-1204", |
| 19 | + :box => "opscode-ubuntu-12.04", |
| 20 | + :url => "http://opscode-vm-bento.s3.amazonaws.com/vagrant/virtualbox/opscode_ubuntu-12.04_chef-provisionerless.box", |
| 21 | + :ip => '10.0.0.11', |
| 22 | + :cpu => "50", |
| 23 | + :ram => "256" |
| 24 | + }, |
| 25 | + { |
| 26 | + :name => "ubuntu-1404", |
| 27 | + :box => "opscode-ubuntu-14.04", |
| 28 | + :url => "http://opscode-vm-bento.s3.amazonaws.com/vagrant/virtualbox/opscode_ubuntu-14.04_chef-provisionerless.box", |
| 29 | + :ip => '10.0.0.12', |
| 30 | + :cpu => "50", |
| 31 | + :ram => "256" |
| 32 | + }, |
| 33 | +] |
| 34 | + |
| 35 | +Vagrant.configure("2") do |config| |
| 36 | + boxes.each do |box| |
| 37 | + config.vm.define box[:name] do |vms| |
| 38 | + vms.vm.box = box[:box] |
| 39 | + vms.vm.box_url = box[:url] |
| 40 | + vms.vm.hostname = "ansible-#{role}-#{box[:name]}" |
| 41 | + |
| 42 | + vms.vm.provider "virtualbox" do |v| |
| 43 | + v.customize ["modifyvm", :id, "--cpuexecutioncap", box[:cpu]] |
| 44 | + v.customize ["modifyvm", :id, "--memory", box[:ram]] |
| 45 | + end |
| 46 | + |
| 47 | + vms.vm.network :private_network, ip: box[:ip] |
| 48 | + |
| 49 | + vms.vm.provision :ansible do |ansible| |
| 50 | + ansible.playbook = "tests/vagrant.yml" |
| 51 | + ansible.verbose = "vv" |
| 52 | + end |
| 53 | + end |
| 54 | + end |
| 55 | +end |
0 commit comments