Issue #2905 has been updated by Luke Kanies.

Subject changed from resource bucket / shadow manifest to Puppet should retain 
information about what's managed to facilitate removing no-longer-managed 
resources
Status changed from Unreviewed to Needs design decision

I've been thinking about this basic idea for a long time, thinking of it more 
as three way merge than a 'shadow catalog' or whatever, but it's the same idea.

I'd also like it to integrate with ralsh well enough that ralsh would tell you 
when you were modifying a managed resource, and you could even have policies to 
say that if a resource is modified outside of Puppet then Puppet should just 
warn of a merge problem rather than overwrite the change.

In terms of reversion, yeah, you need some ability to do the opposite of an 
exec, but I think essentially everything else can be pretty easily reverted 
without any additional parameters, as long as you have a filebucket, package 
source, etc.  There will always be some stragglers, but it shouldn't be too bad.

I've made some progress toward this in a branch (feature/event_manager/rollback 
in my repo), and it does successfully roll limited transactions back.  There's 
still a ton more to do, though.

Could you split this into separate tickets, one for the 'remove no longer 
managed' bits and one for the 'ability to revert any change' bit?
----------------------------------------
Feature #2905: Puppet should retain information about what's managed to 
facilitate removing no-longer-managed resources
http://projects.reductivelabs.com/issues/2905

Author: konrad rzentarzewski
Status: Needs design decision
Priority: Normal
Assigned to: 
Category: 
Target version: 
Affected version: 0.25.1
Keywords: 
Branch: 


all resources used in manifest should be recorded and stored in "shadow 
manifest" and then applied with "ensure => absent" while they dissapear from 
"real manifest". this would be an elegant way to purge configuration on servers 
that has been removed from pp's.

additionally "revert" metaparameter should be defineable (possibly with default 
value of false - for compatibility). it could be true (ie. for files, crons, 
etc - where removal method is obvious) or specific command to execute (ie. for 
reverting exec's and other non-obvious types).

optionally puppetmaster should log where there's garbage left on puppets (ie. 
things removed from "real manifest" but not reverted from "shadow manifest").


-- 
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://reductivelabs.com/redmine/my/account

--

You received this message because you are subscribed to the Google Groups 
"Puppet Bugs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-bugs?hl=en.


Reply via email to