summaryrefslogtreecommitdiffstats
path: root/tests/vagrant/vagrant-template-centos6/Vagrantfile
blob: b276f90768d18a9a7ae2f1102729034a6852ae43 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|
    config.vm.define "vagrant-testVM" do |testvm|
      testvm.vm.box = "raghavendra-talur/gluster-dev-centos6"
      testvm.vm.hostname = "vagrant-testVM"
      #testvm.ssh.insert_key = false
      testvm.vm.synced_folder ".", "/vagrant", disabled: true

        host = RbConfig::CONFIG['host_os']
        # Give VM 1/4 system memory & access to all cpu cores on the host
        if host =~ /darwin/
          cpus = `sysctl -n hw.ncpu`.to_i
          # sysctl returns Bytes and we need to convert to MB
          mem = `sysctl -n hw.memsize`.to_i / 1024 / 1024 / 4
        elsif host =~ /linux/
          cpus = `nproc`.to_i
          # meminfo shows KB and we need to convert to MB
          mem = `grep 'MemTotal' /proc/meminfo | sed -e 's/MemTotal://' -e 's/ kB//'`.to_i / 1024 / 4
        else # sorry Windows folks, I can't help you
          cpus = 2
          mem = 1024
        end

      # Define basic config for VM, memory, cpu, storage pool
      testvm.vm.provider "libvirt" do |lv|
        lv.storage_pool_name = "default"
        lv.memory = mem
        lv.cpus = cpus


        # We need a brick partition, lets have a 5G disk for that.
        # If you need more bricks, just add more letters to the
        # string below.
        "b".split("").each do |i|
          lv.storage :file,
          #:path           => "",
          #:allow_existing => "",
          :device         => "vd#{i}",
          :size           => "5G",
          :type           => "qcow2",
          :bus            => "virtio",
          :cache          => "default"
        end
      end

      # Let's provision
      testvm.vm.provision "ansible", run: "always" do |setup|
        setup.verbose = "v"
        setup.playbook = "setup.yml"
      end

    end
end