[Pre-Release Announcement] Chef Client 13.7.16

Ohai Chefs!

We have selected 13.7.16 as our Chef v13.7 release candidate which is scheduled for release on Tuesday January 23, 2018.

Release Highlights

The windows_task Resource should be better behaved

We’ve spent a considerable amount of time testing and fixing the windows_task resource to ensure that it is properly idempotent and correct in more situations.

Credentials handling

Previously, chef on the workstation used knife.rb or config.rb to handle credentials. This didn’t do a great job when interacting with multiple Chef servers, leading to the need for tools like knife_block. We’ve added support for a credentials file that can contain configuration for many Chef servers (or organizations), and we’ve made it easy to indicate which account you mean to use.

New deprecations

erl_call Resource

We introduced erl_call to help us to manage CouchDB servers back in the olden times of Chef. Since then, we’ve noticed that no-one uses it, and so erl_call will be removed in Chef 14. Foodcritic rule FC105 has been introduced to detect usage of erl_call.

epic_fail

The original name for the ignore_failure property in resources was epic_fail. Our documentation hasn’t referred to epic_fail for years and out of the 3500 cookbooks on the Supermarket only one uses epic_fail. In Chef 14 we will remove the epic_fail property entirely. Foodcritic rule FC107 has been introduced to detect usage of epic_fail.

Legacy Mixins

In Chef 14 several legacy legacy mixins will be removed. Usage of these mixins has resulted in deprecation warnings for several years. They were traditionally used in some HWRPs, but are rarely found in code available on the Supermarket. Foodcritic rules FC097, FC098, FC099, FC100, and FC102 have been introduced to detect these mixins.

  • Chef::Mixin::LanguageIncludeAttribute
  • Chef::Mixin::RecipeDefinitionDSLCore
  • Chef::Mixin::LanguageIncludeRecipe
  • Chef::Mixin::Language
  • Chef::DSL::Recipe::FullDSL

:uninstall action in chocolatey_package

The chocolatey cookbook’s chocolatey_package resource originally contained an :uninstall action. When chocolatey_package was moved into core Chef we made :uninstall an alias for :remove. In Chef 14 :uninstall will no longer be a valid action. Foodcritic rule FC103 has been introduced to detect the usage of the :uninstall action.

Bugfixes

  • Resolved a bug where knife commands that prompted on Windows would never display the prompt
  • Fixed hiding of sensitive resources when converge_if_changed was used
  • Fixed scenarios where services would fail to start on Solaris

Security Updates

  • OpenSSL has been upgraded to 1.0.2n to resolve CVE-2017-3738, CVE-2017-3737, CVE-2017-3736, and CVE-2017-3735.
  • Ruby has been upgraded to 2.4.3 to resolve CVE-2017-17405

Please see the CHANGELOG for the complete list of changes.

Ohai 13.7 Release Notes:

Network Tunnel Information

The Network plugin on Linux hosts now gathers additional information on tunnels

LsPci Plugin

The new LsPci plugin provides a node[:pci] hash with information about the PCI bus based on lspci. Only runs on Linux.

EC2 C5 Detection

The EC2 plugin has been updated to properly detect the new AWS hypervisor used in the C5 instance types

mdadm

The mdadm plugin has been updated to properly handle arrays with more than 10 disks and to properly handle journal and spare drives in the disk counts.

Please see the CHANGELOG for the complete list of changes.

Get the Build

As always, you can download binaries directly from downloads.chef.io or by using the new mixlib-install command line utility available in ChefDK 0.19.6 or greater.

$ mixlib-install download chef -v 13.7.16 -c current

Alternatively, you can install Chef using one of the following command options:

# In Shell
$ curl https://omnitruck.chef.io/install.sh | sudo bash -s -- -P chef -v 13.7.16 -c current

# In Windows Powershell
. { iwr -useb https://omnitruck.chef.io/install.ps1 } | iex; install -project chef -version 13.7.16 -channel current
1 Like

Thanks! I'm glad to see updates on the Windows Task resource.

•Resolved a bug where knife commands that prompted on Windows would never display the prompt

Pardon my ignorance, but isn't this a Chef DK fix since it pertains to knife? Thus, how does Chef Client play into this fix?

Knife is part of the Chef Client - mostly for historical reasons, since it predates the ChefDK. When we do a new ChefDK release, it’ll include this version of the Chef Client, and get the fixed knife as part of that.

Oh, I see. Thanks for the info.

So to get this fix before the new version of the ChefDK (that will include this version of the chef client), can I just install this version of the chef client directly onto my workstation? I’m eager to test this out since I’ve been largely affected by this one :slight_smile:.

Sure. You’ll just need to make sure your paths are correct.

I see. So it’s not as simple as simply executing the installer; I’ll need to do some additional leg work to get it working properly. In this case, I’ll probably just wait for the newer version of the Chef DK, unless there is some documentation you can provide me for ‘updating my paths’ properly in this installation scenario.

Thanks again.

I just mean that both the Chef Client installer and the ChefDK installer will create an executable called knife. It’s up to you to ensure that you’re running the one you expect.

Got it. Thanks.