# require 'ipaddr' # TODO dynamic IP based on inventory require 'yaml' ip_prefix = '192.168.1.' group_vars = YAML.load_file(File.join(__dir__, './group_vars/all.yml')) Vagrant.configure("2") do |config| config.vm.box = "rockylinux/8" node_count = 1 (0..(node_count-1)).each do |i| config.vm.define "dev#{i}" do |dev| dev.vm.network "public_network", ip: "#{ip_prefix}#{200+i+1}" dev.vm.hostname = "dev#{i}" dev.vm.disk :disk, size: "128GB", primary: true end end config.vm.provider "virtualbox" do |vb| vb.cpus = 4 vb.memory = "8192" end config.vm.provision "file", source: "#{group_vars['ansible_ssh_private_key_file']}.pub", destination: "/tmp/id_ed25519.pub" config.vm.provision "shell", inline: <<-SHELL mkdir /#{group_vars['ansible_user']}/.ssh cat /tmp/id_ed25519.pub >> /#{group_vars['ansible_user']}/.ssh/authorized_keys dnf install -y iscsi-initiator-utils systemctl enable --now iscsid SHELL end