Можно ли запустить две разные операционные системы в одном Vagrantfile? Когда у меня есть следующий Vagrantfile, он создает оба как debain10, где я действительно хотел один centos8 и один debian10. Это (сбойный) Vagrantfile, который я использую:
#-*-mode:ruby-*-
#vi:setft=ruby:
VAGRANTFILE_API_VERSION="2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
# Configure the CentOS Machines.
config.vm.box = "generic/centos8"
config.ssh.insert_key = false
config.vm.synced_folder ".", "/vagrant", disabled: true
config.vm.provider :virtualbox do |v|
v.memory = 512
v.linked_clone = true
v.customize ["modifyvm", :id, "--nested-hw-virt", "on"]
end
# Ideally this should be a centos8 machine
config.vm.define "centos8-server" do |config|
config.vm.hostname = "centos8-server"
config.vm.network :private_network, ip: "192.168.20.100"
end
# Ideally this should be a debian10 machine
config.vm.box = "generic/debian10"
config.vm.define "debian10-server" do |config|
config.vm.hostname = "debian10-server"
config.vm.network :private_network, ip: "192.168.20.200"
end
config.vm.provision "shell" do |s|
ssh_pub_key = File.readlines("#{Dir.home}/.ssh/id_rsa.pub").first.strip
s.inline = <<-SHELL
echo #{ssh_pub_key} >> /home/vagrant/.ssh/authorized_keys
echo #{ssh_pub_key} >> ~vagrant/.ssh/authorized_keys
SHELL
end
end
Причина, по которой я хочу это сделать, заключается в том, что мне нужно протестировать одну ansible playbook с набором CentOS и компьютера Debian , Я не уверен, возможно ли это, поскольку это явно не показано как неподдерживаемое в документации. До этого я запускал два Vagrantfile, но мне хотелось бы узнать, можно ли это сделать одним файлом.