Ohai Chefs!
We have selected 13.4.18 as our Chef v13.4 release candidate which is scheduled for release on Wednesday September 13, 2017.
Release Highlights
Security release of RubyGems
Chef Client 13.4 includes RubyGems 2.6.13 to fix the following CVEs:
- CVE-2017-0899
- CVE-2017-0900
- CVE-2017-0901
- CVE-2017-0902
Ifconfig provider on Red Hat now supports additional properties
It is now possible to set ETHTOOL_OPTS, BONDING_OPTS, MASTER and
SLAVE properties on interfaces on Red Hat compatible systems. See https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/s1-networkscripts-interfaces.html for further information
Properties
-
ethtool_opts
Ruby types: String
Platforms: Fedora, RHEL, Amazon Linux
A string containing arguments to ethtool. The string will be wrapped
in double quotes, so ensure that any needed quotes in the property
are surrounded by single quotes -
bonding_opts
Ruby types: String
Platforms: Fedora, RHEL, Amazon Linux
A string containing configuration parameters for the bonding device. -
master
Ruby types: String
Platforms: Fedora, RHEL, Amazon Linux
The channel bonding interface that this interface is linked to. -
slave
Ruby types: String
Platforms: Fedora, RHEL, Amazon Linux
Whether the interface is controlled by the channel bonding interface
defined bymaster, above.
Chef Vault is now included
Chef Client 13.4 now includes the chef-vault gem, making it easier for
users of chef-vault to use their encrypted items.
Windows remote_file resource with alternate credentials
The remote_file resource now supports the use of credentials on Windows when accessing a remote UNC path on Windows such as \\myserver\myshare\mydirectory\myfile.txt. This
allows access to the file at that path location even if the Chef client process identity does not have permission to access the file. The new properties remote_user, remote_domain, and remote_password may be used to specify credentials with access to the remote file so that it may be read.
Note: This feature is mainly used for accessing files between two nodes in different domains and having different user accounts.
In case the two nodes are in same domain, remote_file resource does not need remote_user and remote_password specified because the user has the same access on both systems through the domain.
Properties
The following properties are new for the remote_file resource:
-
remote_user
Ruby types: String
Windows only: The user name of a user with access to the remote file specified by thesourceproperty. Default value:nil. The user name may optionally be specifed with a domain, i.e.domain\useroruser@my.dns.domain.comvia Universal Principal Name (UPN) format. It can also be specified without a domain simply asuserif the domain is instead specified using theremote_domainattribute. Note that this property is ignored ifsourceis not a UNC path. If this property is specified, theremote_passwordproperty must be specified. -
remote_password
Ruby types String
Windows only: The password of the user specified by theremote_userproperty. Default value:nil. This property is mandatory ifremote_useris specified and may only be specified ifremote_useris specified. Thesensitiveproperty for this resource will automatically be set totrueifremote_passwordis specified. -
remote_domain
Ruby types String
Windows only: The domain of the user user specified by theremote_userproperty. Default value:nil. If not specified, the user and password properties specified by theremote_userandremote_passwordproperties will be used to authenticate that user against the domain in which the system hosting the UNC path specified viasourceis joined, or if that system is not joined to a domain it will authenticate the user as a local account on that system. An alternative way to specify the domain is to leave this property unspecified and specify the domain as part of theremote_userproperty.
Examples
Accessing file from a (different) domain account
remote_file "E://domain_test.txt" do
source "\\\\myserver\\myshare\\mydirectory\\myfile.txt"
remote_domain "domain"
remote_user "username"
remote_password "password"
end
OR
remote_file "E://domain_test.txt" do
source "\\\\myserver\\myshare\\mydirectory\\myfile.txt"
remote_user "domain\\username"
remote_password "password"
end
Accessing file using a local account on the remote machine
remote_file "E://domain_test.txt" do
source "\\\\myserver\\myshare\\mydirectory\\myfile.txt"
remote_domain "."
remote_user "username"
remote_password "password"
end
OR
remote_file "E://domain_test.txt" do
source "\\\\myserver\\myshare\\mydirectory\\myfile.txt"
remote_user ".\\username"
remote_password "password"
end
windows_path resource
windows_path resource has been moved to core chef from windows cookbook. Use the windows_path resource to manage the path environment variable on Microsoft Windows.
Actions
-
:add- Add an item to the system path -
:remove- Remove an item from the system path
Properties
-
path- Name attribute. The name of the value to add to the system path
Examples
Add Sysinternals to the system path
windows_path 'C:\Sysinternals' do
action :add
end
Remove 7-Zip from the system path
windows_path 'C:\7-Zip' do
action :remove
end
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.4.18 -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.4.18 -c current
# In Windows Powershell
. { iwr -useb https://omnitruck.chef.io/install.ps1 } | iex; install -project chef -version 13.4.18 -channel current