I was getting an EOFerror a couple weeks ago due to
cookbook/cache/optimization files. I was able to use knife-solve and
knife-crawl to narrow down which cookbooks were the problem. (if you run
chef-client -o “recipe[base]” - or something you know works, it will
complete a chef run, probably). I also had a spike in erchef’s CPU usage
on my chef server with the corruption, so you may be able to correlate a
commit with your monitoring if you also have this cpu spike. once you
track down the cookbook, knife delete --purge and reupload it.
Hope this helps.
22:33 well, EOFError is just the client saying that the HTTP
request was narfed really, so it doesn’t know much other than what it was
just asking for
22:34 which -l debug helps you find
22:35 so what gets left of a chef server when u delete a
cookbook, but dont purge it?
22:35 therein lies the culprit
22:36 I believe it deletes any files that came with it
22:36 when Chef stores data it stores data keyed by the file hash
22:36 to dedupe
22:36 So if you --purge, any other cookbook that relies on those
files would stop working
22:37 premature optimization possibly
22:38 like it not detecting a change?
22:38 well, let’s say you upload cookbooks x, y and z
22:38 and they all have a file foo.rb in them
22:38 and that’s the same file
22:38 chef stores them as hashes to dedupe data (which may be a
premature optimization that causes other problems but that’s a different
cat to skin)
22:39 so if you remove the cookbook, I think it just removes the
records, but if you --purge, it deletes the files
On Wed, Oct 15, 2014 at 6:52 AM, Tiago Cruz email@example.com
The Subject is “Failed Chef run on node
If you ssh this host, and run sudo chef-client by hand, always work?
On Wed, Oct 15, 2014 at 7:32 AM, Mingfei Hua firstname.lastname@example.org wrote:
The chef client is running as crontab, sometimes I got error of “EOFError:
end of file reached”, help to check attached email for detail. It’s not
occurred every time, 2-3 time per week for 40 nodes running chef-client
every half an hour.
– Tiago Cruz