I just went to +1 this on #3946. I ran into a very similar situation
recently and was quite annoyed to find that the Providers didn't have a
'finish' equivalent to the Types.

Nan has a very good point that it needs to survive a dependency failure.
Almost like all downstream providers after the failure should be able to
look up a variable set in their parent path for failures to be able to make
adjustments based on being called after a failure vice a normal chain.

Thanks,

Trevor


On Mon, Jul 15, 2013 at 11:05 AM, Nan Liu <[email protected]> wrote:

> On Sun, Jul 14, 2013 at 7:04 PM, badgerious <[email protected]> wrote:
>
>>
>> Currently I'm doing a horrible monkey patch of Puppet::Transaction
>>> (caveats implied):
>>> https://github.com/vmware/**vmware-vmware_lib/blob/master/**
>>> lib/puppet_x/puppetlabs/**transport.rb#L4-L13<https://github.com/vmware/vmware-vmware_lib/blob/master/lib/puppet_x/puppetlabs/transport.rb#L4-L13>
>>>
>>> I think there's an open ticket, and I would like to find a better option
>>> for this as well.
>>>
>>
>> Thanks Nan.  Here is the ticket I think you were referring to:
>> http://projects.puppetlabs.com/issues/3946 . Appears to be in languish
>> mode at the moment.
>>
>>  I started poking at another solution (
>> https://github.com/badgerious/puppet-finalizable/blob/master/lib/puppetx/badgerious/finalizable.rb),
>> but ran out of steam before I could get it completely right. The idea there
>> is to have a module you include in a type class which creates a sort of
>> 'trailer resource' that has edges from all resources of the original type
>> and calls back to the original type (via <type>.finalize) when it runs.
>> Hacky, but a bit less dangerous than a straight monkey patch. I'll drop a
>> note on this thread if I can make it go.
>>
>
> I considered that option when I tackled this problem. The problem I ran
> into is when a puppet resource fails the last resource (due to dependency)
> does not get applied. So a failed puppet run did not clean up the
> connections. I didn't get a chance to look too closely at your
> code, apologize if it does something different. Thanks for digging up the
> ticket, I hope a few more watchers will bump the priority.
>
> Thanks,
>
> Nan
>
> --
> You received this message because you are subscribed to the Google Groups
> "Puppet Developers" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/puppet-dev.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>



-- 
Trevor Vaughan
Vice President, Onyx Point, Inc
(410) 541-6699
[email protected]

-- This account not approved for unencrypted proprietary information --

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/puppet-dev.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to