56 lines
2.0 KiB
Ruby
56 lines
2.0 KiB
Ruby
# -*- mode: ruby -*-
|
|
# vi: set ft=ruby :
|
|
|
|
ENV['VAGRANT_NO_PARALLEL'] = 'yes'
|
|
ww_version = ENV.fetch('WW_VERSION', "4.6.3")
|
|
|
|
Vagrant.configure("2") do |config|
|
|
config.vm.define :wwctl do |wwctl|
|
|
wwctl.vm.box = "rockylinux/9"
|
|
wwctl.vm.box_version = "6.0.0"
|
|
wwctl.vm.network :private_network, :ip => "10.100.100.254", :libvirt__dhcp_enabled => false, :libvirt__network_name => 'netboot'
|
|
wwctl.vm.synced_folder '.', '/vagrant', disabled: true
|
|
|
|
wwctl.trigger.after :up, :reload do |trigger|
|
|
trigger.run = {path: "export-libvirt-sock.sh"}
|
|
end
|
|
|
|
wwctl.vm.provider :libvirt do |domain|
|
|
domain.memory = 1024
|
|
domain.cpus = 2
|
|
domain.machine_virtual_size = 12
|
|
end
|
|
|
|
wwctl.vm.provision "init-wwctl", type: "shell", path: "init-scripts/init-wwctl.sh", args: [ww_version]
|
|
wwctl.vm.provision "file", source: "alpine-bootable.def", destination: "alpine-bootable.def"
|
|
wwctl.vm.provision "file", source: "alpine-boot.sh", destination: "alpine-boot.sh"
|
|
wwctl.vm.provision "provision-vbmc", type: "shell", run: "never", path: "init-scripts/start-vbmcd.sh"
|
|
wwctl.vm.provision "add-ww-nodes", type: "shell", run: "never", path: "init-scripts/add-ww-nodes.sh"
|
|
end
|
|
|
|
config.vm.define :wwnode1 do |node1|
|
|
node1.vm.network :private_network, :libvirt__network_name => 'netboot', :libvirt__mac => '006e6f646531'
|
|
node1.vm.synced_folder '.', '/vagrant', disabled: true
|
|
node1.vm.provider :libvirt do |domain|
|
|
domain.memory = 768
|
|
domain.cpus = 1
|
|
domain.mgmt_attach = false
|
|
boot_network = {'network' => 'netboot'}
|
|
domain.boot boot_network
|
|
end
|
|
end
|
|
|
|
config.vm.define :wwnode2 do |node2|
|
|
node2.vm.network :private_network, :libvirt__network_name => 'netboot', :libvirt__mac => '006e6f646532'
|
|
node2.vm.synced_folder '.', '/vagrant', disabled: true
|
|
node2.vm.provider :libvirt do |domain|
|
|
domain.memory = 768
|
|
domain.cpus = 1
|
|
domain.mgmt_attach = false
|
|
boot_network = {'network' => 'netboot'}
|
|
domain.boot boot_network
|
|
end
|
|
end
|
|
|
|
end
|