Run puppetd --noop. This reduces puppet to a very intelligent change tracking
mechanism. The goal has to be IMHO that a server can be setup from bare metal
+ data backups to the last running state.
> For what we've done previously is if the application allows it store
> our config info in a seperate file and not touch the main config
> file. Another option I see is somehow create recipes that allow for
> any customizations (within reason) via templates.
>
> Correct me if I'm wrong but it almost sounds like Puppet should have
> some method of version control on installed config files? Keeping
> track of changes and roll backs? Something like this would definitely
> be needed if Puppet becomes fully transactional with roll backs.
>
> I'm not expecting puppet to be easily solve this real sysadmin issue
> but seeing if there is any insight into this.
>
> I'm curious how (if?) others have handled this with Puppet.
Require all changes on the systems go through puppet.
Regards, DavidS
- --
The primary freedom of open source is not the freedom from cost, but the free-
dom to shape software to do what you want. This freedom is /never/ exercised
without cost, but is available /at all/ only by accepting the very different
costs associated with open source, costs not in money, but in time and effort.
- -- http://www.schierer.org/~luke/log/20070710-1129/on-forks-and-forking
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
iD8DBQFIAc/S/Pp1N6Uzh0URAvmjAJ99+QF/uPl6u60U2cYDJjEZk00BzwCfQBTt
PcMsfJ86EBTy30HxRNiXhDE=
=E/2U
-----END PGP SIGNATURE-----
Evan
>> You might consider the "replace" parameter for file resources.
>>
>> http://reductivelabs.com/trac/puppet/wiki/TypeReference#file
>>
>>
> In practice how are you using replace? The description is a bit vague
> on how it actaully works or an example usage.
>
> Evan
It would look like a normal file block with the additional replace =>
false. So the following:
file { "/my/file":
source => "/path/in/nfs/or/something",
replace => false,
}
means to create the file /my/file using the specified source only if it
doesn't exist. If the file /my/file already exists, do nothing.