# -*- mode: ruby -*- # vi: set ft=ruby : # Vagrantfile per a ONE - Open Nebula Environment # frontend node a 192.168.100.10 # nodes (2) a 192.168.100.11 , .12 , etc. # xarxa bridge br0 per a VMs #box = "bento/debian-12" # per a macos (aarch64) box = "debian/bookworm64" # per a linux/windows (amd64) #provider = "virtualbox" provider = "libvirt" # tb utilitza virtiofs Vagrant.configure("2") do |config| config.vm.define "frontend" do |frontend| frontend.vm.box = box frontend.vm.hostname = "frontend" frontend.vm.network "private_network", ip: "192.168.100.10" # main frontend.vm.network "private_network", ip: "192.168.101.10", auto_config: false # bridge per vms frontend.vm.provision "shell", path: "network.sh" frontend.vm.provision "shell", path: "common.sh" frontend.vm.provision "shell", path: "frontend.sh" end # Configuració de les màquines nodes (1..2).each do |i| config.vm.define "node#{i}" do |node| node.vm.box = box node.vm.hostname = "node#{i}" node.vm.network "private_network", ip: "192.168.100.1#{i}" # main node.vm.network "private_network", ip: "192.168.101.1#{i}", auto_config: false # bridge per vms node.vm.provision "shell", path: "network.sh" node.vm.provision "shell", path: "common.sh" node.vm.provision "shell", path: "worker.sh" end end # Configuració comuna per totes les màquines config.vm.provider provider do |virt| virt.memory = "4096" virt.cpus = 2 # ajustos virtiofs (nomes en libvirt) if provider == "libvirt" then virt.memorybacking :access, :mode => 'shared' end end # carpeta compartida per virtiofs enlloc de NFS per libvirt if provider == "libvirt" then config.vm.synced_folder ".", "/vagrant", type: "virtiofs" end end