Chef 14.4.56 Released!

Hey Chefs!

We're happy to announce the release of Chef v14.4! This is a big one with a brand new knife profile management command, 7 new preview resources and a large number of improvements to existing resources.

Release Highlights

Knife configuration profile management commands

Several new commands have been added under knife config to help manage multiple
profiles in your credentials file.

knife config get-profile will display the active profile.

knife config use-profile PROFILE will set the workstation-level default
profile. That default can still be overridden by the --profile command line
option or the $CHEF_PROFILE environment variable.

knife config list-profiles will display all your available profiles along with
summary information on each.

$ knife config get-profile
staging
$ knife config use-profile prod
Set default profile to prod
$ knife config list-profiles
 Profile  Client  Key               Server
-----------------------------------------------------------------------------
 staging  myuser  ~/.chef/user.pem  https://example.com/organizations/staging
*prod     myuser  ~/.chef/user.pem  https://example.com/organizations/prod

Thank you @coderanger for this contribution.

New Resources

The following new previous resources were added to Chef 14.4. Cookbooks with the same resources will continue to take precedent until the Chef 15.0 release

Cron_d

Use the cron_d resource to manage cron definitions in /etc/cron.d. This is similar to the cron resource, but it does not use the monolithic /etc/crontab. file.

See cron_d resource documentation for full usage.

Cron_access

Use the cron_access resource to manage the /etc/cron.allow and /etc/cron.deny files. This resource previously shipped in the cron community cookbook and has fully backwards compatibility with the previous cron_manage definition in that cookbook.

See cron_access resource documentation for full usage.

openssl_x509_certificate

Use the openssl_x509_certificate resourc to generate signed or self-signed, PEM-formatted x509 certificates. If no existing key is specified, the resource will automatically generate a passwordless key with the certificate. If a CA private key and certificate are provided, the certificate will be signed with them. This resource previously shipped in the openssl cookbook as openssl_x509 and is fully backwards compatible with the legacy resource name.

See openssl_x509_certificate resource documentation for full usage.

Thank you @juju482 for updating this resource so it could be included here.

openssl_x509_request

Use the openssl_x509_request resource to generate PEM-formatted x509 certificates requests. If no existing key is specified, the resource will automatically generate a passwordless key with the certificate.

See openssl_x509_request resource documentation for full usage.

Thank you @juju482 for contributing this resource.

openssl_x509_crl

Use the openssl_x509_crl resource to generate PEM-formatted x509 certificate revocation list (CRL) files.

See openssl_x509_crl resource documentation for full usage.

Thank you @juju482 for contributing this resource.

openssl_ec_private_key

Use the openssl_ec_private_key resource to generate ec private key files. If a valid ec key file can be opened at the specified location, no new file will be created.

See openssl_ec_private_key resource documentation for full usage.

Thank you @juju482 for contributing this resource.

openssl_ec_public_key

Use the openssl_ec_public_key resource to generate ec public key files given a private key.

See openssl_ec_public_key resource documentation for full usage.

Thank you @juju482 for contributing this resource.

Resource improvements

windows_package

The windows_package resource now supports setting the sensitive property to avoid showing errors if a package install fails.

sysctl

The sysctl resource will now update the on-disk systctl.d file even if the current sysctl value matches the desired value.

windows_task

The windows_task resource now supports setting the task priority of the scheduled task with a new priority property. Additionally windows_task now supports managing the behavior of task execution when a system is on battery using new disallow_start_if_on_batteries and stop_if_going_on_batteries properties.

ifconfig

The ifconfig resource now supports setting the interface's VLAN via a new vlan property on RHEL platform_family and setting the interface's gateway via a new gateway property on RHEL/Debian platform_family.

Thank you @tomdoherty for this contribution.

route

The route resource has been improved to support additional RHEL platform_family systems as well as Amazon Linux.

systemd_unit

The systemd_unit resource now supports specifying options multiple times in the content hash. Instead of setting the value to a string you can now set it to an array of strings.

Thank you @dbresson for this contribution.

Security Updates

OpenSSL

OpenSSL updated to 1.0.2p to resolve:

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 14.4.56

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.4.56

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

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.4.56