Closed murarisumit closed 6 years ago
Sure just put your dns configurations into that subconfig of yours. You probably want to change the pattern for each host like host#{i}.vagrant.box
I know it's too much to ask but I not move my head around this.
BOX_IMAGE = "ubuntu/xenial64"
NODE_COUNT = 2
Vagrant.configure("2") do |config|
(1..NODE_COUNT).each do |i|
config.vm.define "host#{i}.vagrant.dev" do |subconfig|
subconfig.dns.tld = "dev"
subconfig.vm.hostname = "vagrant"
subconfig.dns.patterns = [/^.*mysite.dev$/, /^.*myothersite.dev$/]
subconfig.vm.box_check_update = false
subconfig.vm.box = BOX_IMAGE
subconfig.vm.network "private_network", ip: "33.33.33.#{i+10}"
subconfig.vm.provider "virtualbox" do |vb|
vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on", "--vrde", "off", "--vram", 10]
end
end
end
end
Can you please correct me in the config, and just make functional so that I can understand how it's all working. Right now I'm like just shooting in dark, not able to figure out how is it working. TIA :)
No worries, here we go:
BOX_IMAGE = "ubuntu/xenial64"
NODE_COUNT = 2
Vagrant.configure("2") do |config|
(1..NODE_COUNT).each do |i|
config.vm.define "host#{i}.vagrant.dev" do |subconfig|
subconfig.dns.tld = "dev"
subconfig.vm.hostname = "vagrant"
subconfig.dns.patterns = [/^host#{i}\.mysite\.dev$/]
subconfig.vm.box_check_update = false
subconfig.vm.box = BOX_IMAGE
subconfig.vm.network "private_network", ip: "33.33.33.#{i+10}"
subconfig.vm.provider "virtualbox" do |vb|
vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on", "--vrde", "off", "--vram", 10]
end
end
end
end
The usage of an regular expression here is a bit overkill, but I wanted to stick to your sample.
May I also suggest to not use dev
as a top level domain (for reasoning see: https://github.com/BerlinVagrant/vagrant-dns/issues/54)
If you have more questions, don't hesitate to ask.
Thanks a lot @fnordfish.
BOX_IMAGE = "ubuntu/xenial64"
MASTER_COUNT = 2
WORKER_COUNT = 2
Vagrant.configure("2") do |config|
(1..MASTER_COUNT).each do |i|
config.vm.define "master#{i}.vagrant.box" do |subconfig|
subconfig.dns.tld = "box"
subconfig.vm.hostname = "vagrant"
subconfig.dns.patterns = "master#{i}.mysite.box"
subconfig.vm.box_check_update = false
subconfig.vm.box = BOX_IMAGE
subconfig.vm.network "private_network", ip: "10.240.0.#{i+10}"
subconfig.vm.provider "virtualbox" do |vb|
vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on", "--vrde", "off", "--vram", 10]
end
end
end
(1..WORKER_COUNT).each do |i|
config.vm.define "worker#{i}.vagrant.box" do |subconfig|
subconfig.dns.tld = "box"
subconfig.vm.hostname = "vagrant"
subconfig.dns.patterns = "worker#{i}.mysite.box"
subconfig.vm.box_check_update = false
subconfig.vm.box = BOX_IMAGE
subconfig.vm.network "private_network", ip: "10.240.0.#{i+15}"
subconfig.vm.provider "virtualbox" do |vb|
vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on", "--vrde", "off", "--vram", 10]
end
end
end
end
Ping works: ping worker2.mysite.box
.
Will it be okay, if i add it in readme, because multivm example wasn't there !
Would be very much appreciated
@fnordfish I've made changes in README (https://github.com/BerlinVagrant/vagrant-dns/pull/63) , let me know if some formatting is required or any other changes need to be made.
Vagrant: Vagrant 2.1.1
Is there any way to resolve dns for multi-vms.