Issue #19350 has been updated by Rob Nelson. Status changed from Unreviewed to Rejected
The posture of puppet is "manage what you specify, and only what you specify." At this time there is no goal to remove unmanaged resources in general or unmanage during a delta. If you wish to specifically remove a resource, create a resource that says 'ensure => absent'. See http://blog.yo61.com/writing-puppet-manifests-that-can-remove-resources-as-well-as-adding-them.html for an example. ---------------------------------------- Feature #19350: Stateful Cleanup Messages https://projects.puppetlabs.com/issues/19350#change-98320 * Author: Kyle Harper * Status: Rejected * Priority: Normal * Assignee: * Category: * Target version: * Affected Puppet version: * Keywords: * Branch: ---------------------------------------- Synopsis: When a resource is removed from a manifest, it remains on the target nodes. Puppet should be aware of superfluous items that it has managed in the past, and take actions accordingly to help ensure stateful correctness (aka: leave it the way you found it). Cause for Request: Cruft can be as detrimental to a server's stability as a missing file. Puppet is fantastic about making sure things exist; but it doesn't ever 'look behind' to see if it's left a trail of cruft. There are two situations where cruft can come into existence: 1. Human Error I work on a module or node definition. Some resources are defined, let's say some files. I later update the module to put the files somewhere else. I forget to go clean up the original files on all my nodes. I now have superfluous files that might be innocuous, or they could be a problem. Regardless, asking a human to forward-think all these changes is the antithesis of what an automated tool like puppet could be able to achieve. 2. Silent Content Creation I work on a module or node definition. I create a resource, we'll say a cron entry. I notice I misspelled "dailyy_backup". I change it to "daily_backup" not realizing an agent already ran and has a cron entry now. When it runs again, there will be two cron entries for my daily backup, and I won't know it. My Request: Allow puppet to, at a minimum, compare its current manifest for a node with previous manifests for that node. If a resource was previously defined but is no longer managed AND still exists on a node: alert me to a possible clean-up. I can then take those alerts and either use puppet to ensure => absent on them or simply remove the target resources manually. The end goal here is to help make puppet do what it does even better: automate configuration and remove human error. -- You have received this notification because you have either subscribed to it, or are involved in it. To change your notification preferences, please click here: http://projects.puppetlabs.com/my/account -- You received this message because you are subscribed to the Google Groups "Puppet Bugs" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-bugs+unsubscr...@googlegroups.com. To post to this group, send email to puppet-bugs@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-bugs. For more options, visit https://groups.google.com/groups/opt_out.