- From: Bryan McLellan <
>
- To: Andrea Campi <
>
- Cc: Chef Dev <
>
- Subject: [chef-dev] Re: Regression in recipe_eval in 10.14 ?
- Date: Mon, 1 Oct 2012 17:31:27 -0400
On Mon, Oct 1, 2012 at 3:55 AM, Andrea Campi
<
>
wrote:
>
I'm seeing something that I believe is a regression in 10.14 related to
>
why-run.
Yeah, I recognize this yak from working on the deploy provider.
#converge_by adds actions to the @converge_actions instance in the
/provider/ instance, not in a common parent like the run context.
I spent almost all day trying to make sense of this.
1) RevalBroken['broken'] (LWRP) is converged.
It creates ruby_block["broken before_deploy"] which is added to the
resource collection.
It has no converge_by blocks, so it has no ConvergeActions.
2) ruby_block["broken before_deploy"] is converged.
Calling the code block is in converge_by, so it gets added to
ruby_block["broken before_deploy"].converge_actions.
We run that converge_action.
3) recipe_eval is called.
recipe_eval wraps instance_eval (which all happens as a separate chef
run) in a converge_by block, which gets added to:
RevalBroken['broken']
Note that we've already run that providers converge_actions, so the
actual recipe_eval converge_action never happens.
I'm still having a hard time following why this is true.
Bryan
Archive powered by MHonArc 2.6.16.