- From: Seth Falcon <
>
- To:
- Subject: [chef] Re: Search problem
- Date: Wed, 29 Jun 2011 21:50:37 -0700
Hi Tom,
On Mon, Jun 20, 2011 at 1:11 PM, Tom Hughes
<
>
wrote:
>
I have a strange problem with duplicate attributes appearing on a node
>
returned from a search when that is the node currently being processed.
>
>
The setup is that I have an attribute which is an array of hashes and the
>
basic details are defined in a role which gives the attribute a value which
>
is an array of two hashes.
>
>
There is then a recipe which adds extra details to the two hashes which are
>
computed from the entries defined by the role so by the time the chef run
>
finishes and the attributes are submitted back to the server the hashes are
>
fully populated.
>
>
Now if I do a search in a recipe and get a set of nodes back then I find
>
that for most nodes in the result I have the fully populated hashes that I
>
expect, but if the search result includes the node currently being processed
>
the instead of two entries in the array there are four - two fully populated
>
ones (presumably from the last run) and two partially populated ones which
>
only have the values set by the role.
>
>
This is true even if the recipe that fills in the extra values has already
>
been run.
>
>
I've looked at the chef source and as far as I can see all the data on a
>
node returned by a search has come from the server, so I don't understand
>
why I am seeing the partially populated hashes as I thought the new
>
attributes weren't sent to the server until the end of the run?
>
>
Any ideas what is going on, or how I can avoid getting these
>
duplicates?
What versions of Chef Server and chef-client are in play here? Prior
to Chef 0.10, the chef-client saved nodes at the beginning of a run.
The indexing is not instant, but it is possible that a search could
pick up this intermediate state.
+ seth
--
Seth Falcon | Senior Software Design Engineer | Opscode | @sfalcon
Archive powered by MHonArc 2.6.16.