Chef 14.6.47 Released!

Ohai Chefs!

We're happy to announce the release of Chef v14.6.47. This release comes with a ton of resources improvements along with new OS support.

Smaller Package and Install Size

Both Chef packages and on disk installations have been greatly reduced in size by trimming unnecessary installation files. This has reduced our package size on macOS/Linux by ~50% and Windows by ~12%. With this change Chef 14 is now smaller than a legacy Chef 10 package.

New Resources

Timezone

Chef now includes the timezone resource from @dragonsmith's timezone_lwrp cookbook. This resource supports setting a Linux node's timezone. Thank you @dragonsmith for allowing us to include this out of the box in Chef.

Example:

timezone 'UTC'

Updated Resources

windows_task

The windows_task resource has been updated to support localized system users and groups on non-English nodes. Thanks @jugatsu for making this possible.

user

The user resource now includes a new full_name property for Windows hosts, which allows specifying a user's full name.

Example:

  user 'jdoe' do
    full_name 'John Doe'
  end

zypper_package

The zypper_package resource now includes a new global_options property. This property can be used to specify one or more options for the zypper command line that are global in context.

Example:

package 'sssd' do
   global_options '-D /tmp/repos.d/'
end

InSpec 3.0

Inspec has been updated to version 3.0 with addition resources, exception handling, and a new plugin system. See https://blog.chef.io/2018/10/16/announcing-inspec-3-0/ for details.

macOS Mojave (10.14)

Chef is now tested against macOS Mojave, and packages are now available at downloads.chef.io.

Important Bugfixes

  • Multiple bugfixes in Chef Vault have been resolved by updating chef-vault to 3.4.2
  • Invalid yum package names now gracefully fail
  • windows_ad_join now properly executes. Thank you @cpjones01 for reporting this.
  • rhsm_errata_level now properly executes. Thank you @freakinhippie for this fix.
  • registry_key now properly writes out the correct value when sensitive is specified. Thank you @josh-barker for this fix.
  • locale now properly executes on RHEL 6 and Amazon Linux 201X.

Ohai 14.6

Filesystem Plugin on AIX and Solaris

AIX and Solaris now ship with a filesystem2 plugin that updates the filesystem data to match that of Linux, macOS, amd BSD hosts. This new data structure makes accessing filesystem data in recipes easier and especially improves the layout and depth of data on ZFS filesystems. In Chef 15 (April 2019) we will begin wrting this same format of data to the existing node['filesystem'] namespace. In Chef 16 (April 2020) we will remove the node['filesystem2'] namspace, completing the transition to the new format. Thank you @jaymzh for continuing the updates to our filesystem plugins with this change.

macOS Improvements

The system_profile plugin has been improved to skip over uncessary data, which reduces macOS node sizes on the Chef Server. Additionally the CPU plugin has been updated to limit what sysctl values it polls, which prevents hanging on some system configurations.

SLES 15 Detection

SLES 15 is now correctly detected as the platform "suse" instead of "sles". This matches the behavior of SLES 11 and 12 hosts.

New Deprecations

system_profile Ohai plugin removal

The system_profile plugin will be removed from Chef/Ohai 15 in April 2019. This plugin does not correctly return data on modern Mac systems. Additionally the same data is provided by the hardware plugin, which has a format that is simpler to consume. Removing this plugin will reduce Ohai return by ~3 seconds and greatly reduce the size of the node object on the Chef server.

Security Updates

Ruby 2.5.3

Ruby has been updated to from 2.5.1 to 2.5.3 to resolve multiple CVEs and bugs:

Get the Build

As always, you can download binaries directly from [downloads.chef.io](https://downloads.chef.io/chef/14.6.47 or by using the mixlib-install command line utility:

$ mixlib-install download chef -v 14.6.47

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 14.6.47

# In Windows Powershell
. { iwr -useb https://omnitruck.chef.io/install.ps1 } | iex; install -project chef -version 14.6.47

If you want to give this version a spin in Test Kitchen, create or add the following to your kitchen.yml file:

provisioner:
  product_name: chef
  product_version: 14.6.47