Is puppet.conf the best way to upgrade VMs?
I'm working on a project that installs 11 Virtual Machines with different configurations and files and I'm doing that via puppet and fuel (osnailyfacter) interfaces. It basically starts off with a puppet.conf of
[main] logdir=/var/log/puppet vardir=/var/lib/puppet ssldir=/var/lib/puppet/ssl rundir=/var/run/puppet factpath=$vardir/lib/facter templatedir=$confdir/templates [master] # These are needed when the puppetmaster is run by passenger # and can safely be removed if webrick is used. ssl_client_header = SSL_CLIENT_S_DN ssl_client_verify_header = SSL_CLIENT_VERIFY [deploy] manifest = $confdir/$environment/manifests/site.pp
and having the corresponding site.pp and a puppet agent call of
puppet agent -tvd --pluginsync --waitforcert=120 --configtimeout=360 --no-report --server myserver.master.mine.com --environment deploy
Basically, my question is: If I need to make changes in the future (modify config files, load new packages, <you know="" -="" puppet="" stuff="">) is it OK / best practice to modify the puppet.conf to add on ...
[deploy] manifest = $confdir/$environment/manifests/site.pp [upgrade-09/01/2015-fix1] manifest = $confdir/$environment/manifests/site.pp [upgrade-10/01/2015-fix2] manifest = $confdir/$environment/manifests/site.pp
and create new site.pp files just with the updates or is there a better way to supply changes. (and BTW, we can't re-run the original 'deploy' run again - it doesn't work twice (DRBD and OpenStack break)