- From: Bryan McLellan <
>
- To:
- Subject: [chef] Re: Re: Re: sending notifications to resources that don't exist yet
- Date: Wed, 24 Oct 2012 21:36:21 -0400
Could you gist a recipe to represent your issue?
Since 0.9.10 (CHEF-899 [1]) you've been able to notify a resource that
hasn't been created yet because the notifications get resolved just
before convergence. Similar support was added in 10.14.0 for
subscribes (CHEF-1994 [2]). The most common situation where this is
still a problem is when a resource is created during convergence (like
in a ruby_block) that needs to be notified by another resource. When
you're looking at a recipe, their visual proximity makes it feel like
it should work but we're talking about pretty disparate points in the
run.
On Wed, Oct 24, 2012 at 4:32 PM, Leo Dirac (SR)
<
>
wrote:
>
Peter's suggestion worked for me, but I'm confused by it. If I don't use
>
the :immediately timing option on notifies, it doesn't work. I see in the
>
log "Processing supervisor_service[srapiworker] action restart" followed by
>
a debug log line from the provider, but nothing happens. If I use
>
:immediately the same log line is followed by the service actually
>
restarting through the provider's execute command. This doesn't make any
>
sense to me.
>
>
Why is the :immediately needed to prevent the messages becoming no-ops?
Having dug into CHEF-3493 a lot myself, I suspect you're working
inside another resource and it's possible that is putting you in a
recipe_eval which puts you in another run context and the queued
notifications don't get run because that run_context isn't a complete
chef run. Dan mentioned recipe_eval was a hack for something a bit
ago.
Seeing your recipe would help a lot though.
Bryan
[1]
http://tickets.opscode.com/browse/CHEF-899
[2]
http://tickets.opscode.com/browse/CHEF-1994
Archive powered by MHonArc 2.6.16.