Hi,
I have a four node vagrant setup that I am using to test puppet. What I
intend to do is to add the FQDN of the puppetmaster node to the 2nd line of
the /etc/hosts of the other 3 nodes. The Vagrantfile is thus:
# -*- mode: ruby -*-
# vi: set ft=ruby :
#
#
Vagrant.configure(2) do |config|
config.vm.box = "ubuntu/trusty64"
config.vm.provision "shell", path: "script.sh"
config.vm.define "puppetmaster" do |puppetmaster|
puppetmaster.vm.network :private_network, ip: "192.168.33.33"
puppetmaster.vm.network :forwarded_port, guest: 80, host: 8080
puppetmaster.vm.network :forwarded_port, guest: 8140, host: 8141
puppetmaster.vm.hostname = "puppetmaster.example.com"
end
config.vm.define "web" do |web|
web.vm.network :private_network, ip: "192.168.33.34"
web.vm.network :forwarded_port, guest: 8140, host: 8142
web.vm.hostname = "web.example.com"
end
config.vm.define "mail" do |mail|
mail.vm.network :private_network, ip: "192.168.33.35"
mail.vm.network :forwarded_port, guest: 8140, host: 8143
mail.vm.hostname = "mail.example.com"
end
config.vm.define "db" do |db|
db.vm.network :private_network, ip: "192.168.33.36"
db.vm.network :forwarded_port, guest: 8140, host: 8144
db.vm.hostname = "db.example.com"
end
end
script.sh is used for updating the vm, otherwise puppet-common won't be
installed.
$ cat script.sh
sudo apt-get update -y
sudo apt-get install puppet -y
With this setup, after the four machines boot up, I go to web, db and mail
vms and do a sed -i "2i 192.168.33.33 puppetmaster.example.com puppet"
/etc/hosts to include the FQDN of the puppetmaster host.
1) Can this be accomplished by any method inside the Vagrantfile or in
script.sh?
2) Also, any critique to write the Vagrantfile better will be appreciated.
I feel like maintaining the file like I do now can be a bit cumbersome when
I add more machines or want to do specific things to specific nodes. I
don't have a specific example right now, this is just a thought.
Thanks guys!
--
This mailing list is governed under the HashiCorp Community Guidelines -
https://www.hashicorp.com/community-guidelines.html. Behavior in violation of
those guidelines may result in your removal from this mailing list.
GitHub Issues: https://github.com/mitchellh/vagrant/issues
IRC: #vagrant on Freenode
---
You received this message because you are subscribed to the Google Groups
"Vagrant" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/vagrant-up/6800583e-df5f-4ccd-9638-7fe8085a7361%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.