Chef client 13 breaks all my nodes

Is there a way to re-enable some of removed functionality?

Chef Client 13 has broken all of my nodess. I traced the problem back to the logwatch cookbook; in the latest version on the Supermarket, it requires an ancient perl cookbook that breaks with chef client 13. https://supermarket.chef.io/cookbooks/logwatch#dependencies

I’ll report this as a bug, of course, but since this is a chef-maintained cookbook, I am very leery to assume that logwatch is the only cookbook with such incompatibilities.

Bottom line, how can I get chef client to accept such broken cookbooks until they get fixed?

Roll back to Chef 12. As a major release, there actual compat breaks, that is the defining nature of a major release. We’re working to update cookbooks but it takes time. We recommend you do testing in Test Kitchen before any upgrade, but major upgrade especially.

Understood, to an extent. I actually found this while testing, thankfully.

Any idea when it would be safe to upgrade to chef 13?

Any chance you could pull it from the yum repository to avoid unwanted updates until it is safe?

Kevin Keane
Whom the IT Pros Call
The NetTech
http://www.4nettech.com
Our values: Privacy, Liberty, Justice
See https://www.4nettech.com/corp/the-nettech-values.html

No, this is how major upgrades work, cookbooks breaking is expected and is the whole point of backwards-incompatible releases. It is safe to upgrade now, you just need to fix the cookbooks or wait for other people to fix them if they are community cookbooks. We apologize for the trouble, we knew this was going to be a messy release since we’ve not done one in several years now and there was a loooooot of code to clean up. If you are time-constrainted I would certainly recommend just ignoring 13.0 and try testing 13.1 next month as a starting point. Your internal cookbooks will still need fixing, but hopefully by then we’ll have the community stuff upgraded.

Kevin,

This cookbook should be fully compatible with Chef 13. We're requiring perl >= 1.2, which will allow you to use all the way up to the current release. If you're running berks install you won't actually pull in the latest and greatest cookbooks though. You'll want to run berks update to pull in the latest cookbook versions, which should give you the perl you need.

If you're still not seeing the latest perl, then another cookbook in your runlist is constraining the version of perl to one that isn't compatible with Chef 13. A really handy way to figure this out is to run berks viz, which gives you a visual map of the dependencies. I've attached the berks viz for just the logwatch cookbook, which is pretty straight forward and allow for anything equal to or newer than 1.2

-Tim

Kevin,

Thanks for reporting this issue with logwatch. In general if you see a
problem with a chef-maintained cookbook, please do add an issue for the
cookbook. We have been working to get all of our cookbooks Chef 13
supported, and missed releasing this update. Version 2.1.1 of logwatch
should fix the issue that you are seeing where it’s pulling in an old
version of perl.

Thank you! That was quick. And the fix works.

Kevin Keane
Whom the IT Pros Call
The NetTech
http://www.4nettech.com
Our values: Privacy, Liberty, Justice
See https://www.4nettech.com/corp/the-nettech-values.html

Drats. Yes, of course I understand about breaking changes, but the community cookbooks are going to be a pain. So far I found two community cookbooks that break with chef-13 (chrome and clamav). Actually a pretty good result considering that I’m using about two dozen or so, most of which didn’t break.

One of them seems to be updated infrequently, so I’ll probably be stuck with chef 12 for a year or so.

Oh well, community cookbooks still beat the alternative of having to reinvent a thousand wheels!

Nothing you can do about it, I’m just venting.

Kevin Keane
Whom the IT Pros Call
The NetTech
http://www.4nettech.com
Our values: Privacy, Liberty, Justice
See https://www.4nettech.com/corp/the-nettech-values.html

Can do what I’m looking to do. Copy a current cookbook that appears to be un-maintained and getting no response from repo owner and starting my own repo with my fixes added to it. Of course make sure license allows for it. I know most are apache 2 license and it allows for liberal use, but I’ve seen a few cook books with alternate license attached. Then you can share it with the community in supermarket as well.