summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG.md8
-rw-r--r--Gemfile.lock14
-rw-r--r--RELEASE_NOTES.md108
-rw-r--r--VERSION2
-rw-r--r--chef-bin/lib/chef-bin/version.rb2
-rw-r--r--chef-config/lib/chef-config/version.rb2
-rw-r--r--ext/win32-eventlog/chef-log.man8
-rw-r--r--lib/chef/knife/bootstrap.rb8
-rw-r--r--lib/chef/version.rb2
-rw-r--r--omnibus/config/projects/chef.rb2
-rw-r--r--omnibus/resources/chef/msi/localization-en-us.wxl.erb6
11 files changed, 116 insertions, 46 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 63cb0833eb..19d162451d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,15 +1,17 @@
<!-- usage documentation: http://expeditor-docs.es.chef.io/configuration/changelog/ -->
-<!-- latest_release 15.0.288 -->
-## [v15.0.288](https://github.com/chef/chef/tree/v15.0.288) (2019-05-11)
+<!-- latest_release 15.0.290 -->
+## [v15.0.290](https://github.com/chef/chef/tree/v15.0.290) (2019-05-13)
#### Merged Pull Requests
-- Pin bundler to 1.17.2 which is included in Ruby 2.6 [#8518](https://github.com/chef/chef/pull/8518) ([tas50](https://github.com/tas50))
+- Update to Chef Infra Client in Add/Remove Programs &amp; Event Log [#8520](https://github.com/chef/chef/pull/8520) ([tas50](https://github.com/tas50))
<!-- latest_release -->
<!-- release_rollup -->
### Changes since latest stable release
#### Merged Pull Requests
+- Update to Chef Infra Client in Add/Remove Programs &amp; Event Log [#8520](https://github.com/chef/chef/pull/8520) ([tas50](https://github.com/tas50)) <!-- 15.0.290 -->
+- Chef 15: Minor winrm check code refactor [#8522](https://github.com/chef/chef/pull/8522) ([vsingh-msys](https://github.com/vsingh-msys)) <!-- 15.0.289 -->
- Pin bundler to 1.17.2 which is included in Ruby 2.6 [#8518](https://github.com/chef/chef/pull/8518) ([tas50](https://github.com/tas50)) <!-- 15.0.288 -->
- [knife-ec2-547] Update config_source to support using knife classes without requiring merge_config [#8506](https://github.com/chef/chef/pull/8506) ([marcparadise](https://github.com/marcparadise)) <!-- 15.0.287 -->
- Change some more require to require_relative [#8519](https://github.com/chef/chef/pull/8519) ([lamont-granquist](https://github.com/lamont-granquist)) <!-- 15.0.286 -->
diff --git a/Gemfile.lock b/Gemfile.lock
index a0133e8b0a..7b92a64595 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -27,11 +27,11 @@ GIT
PATH
remote: .
specs:
- chef (15.0.288)
+ chef (15.0.290)
addressable
bcrypt_pbkdf (~> 1.0)
bundler (>= 1.10)
- chef-config (= 15.0.288)
+ chef-config (= 15.0.290)
chef-zero (>= 14.0.11)
diff-lcs (~> 1.2, >= 1.2.4)
ed25519 (~> 1.2)
@@ -57,11 +57,11 @@ PATH
train-core (~> 2.0, >= 2.0.12)
tty-screen (~> 0.6)
uuidtools (~> 2.1.5)
- chef (15.0.288-universal-mingw32)
+ chef (15.0.290-universal-mingw32)
addressable
bcrypt_pbkdf (~> 1.0)
bundler (>= 1.10)
- chef-config (= 15.0.288)
+ chef-config (= 15.0.290)
chef-zero (>= 14.0.11)
diff-lcs (~> 1.2, >= 1.2.4)
ed25519 (~> 1.2)
@@ -103,13 +103,13 @@ PATH
PATH
remote: chef-bin
specs:
- chef-bin (15.0.288)
- chef (= 15.0.288)
+ chef-bin (15.0.290)
+ chef (= 15.0.290)
PATH
remote: chef-config
specs:
- chef-config (15.0.288)
+ chef-config (15.0.290)
addressable
fuzzyurl
mixlib-config (>= 2.2.12, < 4.0)
diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md
index 1169af7ae8..510fc71e08 100644
--- a/RELEASE_NOTES.md
+++ b/RELEASE_NOTES.md
@@ -25,8 +25,41 @@ license acceptance. If the license is accepted, a marker file will be written to
### copy_properties_from in Custom Resources
+A new `copy_properties_from` method for custom resources allows you copy properties from your custom resource into other resources you're calling so you can avoid unnecessarily repeating code.
+
+To inherit all the properties of another resource:
+```ruby
+resource_name :my_resource
+
+property :mode, String, default: '777'
+property :owner, String, default: 'app_user'
+property :group, String, default: 'admins'
+
+directory '/etc/myapp' do
+ copy_properties_from new_resource
+ recursive true
+end
+```
+
+To selectivly inherit certain properties from a resource:
+```ruby
+resource_name :my_resource
+
+property :mode, String, default: '777'
+property :owner, String, default: 'app_user'
+property :group, String, default: 'admins'
+
+directory '/etc/myapp' do
+ copy_properties_from(new_resource, :owner, :group, :mode)
+ mode '755'
+ recursive true
+end
+```
+
### ed25519 SSH key support
+Chef now supports ed25519 SSH key formats in `knife ssh` as well as `knife bootstrap` commands.
+
## New Resources
### archive_file resource
@@ -93,7 +126,7 @@ The directory resource now property supports passing ``deny_rights :write`` on W
### windows_service
-The windows_service resource has been improved to prevent accidently reverting a service back to default settings in a subsequent definition.
+The windows_service resource has been improved to prevent accidentally reverting a service back to default settings in a subsequent definition.
This example will no longer result in the MyApp service reverting to default RunAsUser:
```ruby
@@ -117,6 +150,30 @@ end
Chef now ships with Ruby 2.6.3. This new version of Ruby improves performance and includes many new features to make more advanced Chef usage easier. See https://www.rubyguides.com/2018/11/ruby-2-6-new-features/ for a list of some of the new functionality.
+## Ohai Improvements
+
+### Improved Linux Platform / Platform Family Detection
+
+Platform and plaform_family detection on Linux has been rewritten to utilize the latest config files on modern Linux distributions before falling back to slower and fragile legacy detection methods. Ohai will now begin by parsing the contents of /etc/os-release for OS information if available. This improves the reliability of detection on modern distros and allows detection of new distros as they're released.
+
+With this change we now detect `sles_sap` as a member of the `suse` platform_family. Additionally this change corrects our detection of the platform_version on Cisco Nexus switches where we previously incorrectly appended the build number to the version string.
+
+### Improved Virtualization Detection
+
+Hypervisor detection on multiple platforms has been updated to use DMI data and a single set of hypervisors. This greatly improves the detection of hypervisors on Windows, BSD and Solaris platforms. It also means that as new hypervisors detection is added in the future we will automatically support the majority of platforms.
+
+### Fix Windows 2016 FQDN Detection
+
+Ohai 14 incorrectly detected a Windows 2016 node's `fqdn` as the node's `hostname`. Ohai 15 now correctly reports the FQDN value.
+
+### Improved Memory Usage
+
+Ohai now uses less memory due to internal optimizations of how we track plugin information.
+
+### FIPS Detection Improvements
+
+The FIPS plugin now uses the built-in FIPS detection in Ruby for improved detection.
+
## New Deprecations
### knife cookbook site deprecated in favor of knife supermarket
@@ -131,13 +188,11 @@ The LC_ALL property in the locale resource has been deprecated as the usage of t
### Knife Bootstrap
-Knife bootstrap has been updated, and Windows bootstrap has been merged into core Chef's `knife bootstrap`. This marks the deprecation of the `knife-windows` plugin's `bootstrap` behavior. This change also addresses [CVE-2015-8559](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-8559): The `knife bootstrap` command in chef leaks the validator.pem private RSA key to /var/log/messages.
+Knife bootstrap has been entirely rewritten with native support for Windows bootstrapping now part of the main `knife bootstrap` command. This marks the deprecation of the `knife-windows` plugin's `bootstrap` behavior. This change also addresses [CVE-2015-8559](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-8559): The `knife bootstrap` command in chef leaks the validator.pem private RSA key to /var/log/messages.
-*Important*: `knife bootstrap` works with all supported versions of Chef client. Older versions may continue to work as far back as 12.20
+*Important*: `knife bootstrap` can bootstrap all supported versions of Chef Infra Client. Older versions may continue to work as far back as 12.20.
-In order to accomodate a combined bootstrap that supports both SSH and WinRM, CLI flags have been added, removed, or changed. Using the changed options will result in deprecation warnings, but `knife bootstrap` will accept those options unless otherwise noted.
-
-Using removed options will cause the command to fail.
+In order to accommodate a combined bootstrap that supports both SSH and WinRM, some CLI flags have been added, removed, or changed. Using the changed options will result in deprecation warnings, but `knife bootstrap` will accept those options unless otherwise noted. Using removed options will cause the command to fail.
#### New Flags
@@ -169,6 +224,7 @@ Using removed options will cause the command to fail.
| --winrm-ssl-verify-mode MODE | --winrm-no-verify-cert | [1] Mode is not accepted. When flag is present, SSL cert will not be verified. Same as original mode of 'verify\_none'. |
| --winrm-transport TRANSPORT | --winrm-ssl | [1] Use this flag if the target host is accepts WinRM connections over SSL.
| --winrm-user | --connection-user | `knife[:winrm_user]` config setting remains available.|
+| --winrm-session-timeout | --session-timeout | Now available for bootstrapping over SSH as well |
1. These flags do not have an automatic mapping of old flag -> new flag. The
new flag must be used.
@@ -193,25 +249,17 @@ Instead of specifying protocol with `-o`, it's also possible to prefix the targe
knife bootstrap winrm://example.com
```
-### Audit Mode
-
-Chef's Audit mode was introduced in 2015 as a beta that needed to be enabled via client.rb. Its functionality has been superceded by InSpec and has been removed.
+### Chef Infra Client packages remove /opt/chef before installation
-### powershell_script now allows overriding the default flags
-
-We now append `powershell_script` user flags to the default flags, rather than the other way around, making user flags override the defaults. This is the correct behavior, but it may cause scripts to execute differently than in previous Chef releases.
+Upon upgrading Chef Infra Client packages the /opt/chef directory is removed. This ensures any `chef_gem` installed gem versions and other modifications to /opt/chef will removed to prevent upgrade issues. Due to technical details with rpm script execution order the way this was implemented was that a pre-installation script wipes /opt/chef before every install (done consistently this way on every package manager).
-### Chef packages now remove /opt/chef before installation
+Users who are properly managing customizations to /opt/chef through Chef recipes won't be affected, because their customizations will still be installed by the new package.
-The intent of this change is that on upgrading packages the /opt/chef directory is removed of any `chef_gem` installed gem versions and other
-modifications to /opt/chef that might be preserved and cause issues on upgrades. Due to technical details with rpm script execution order
-the way this was implemented was that a pre-installation script wipes /opt/chef before every install (done consistently this way on
-every package manager).
+You'll see a warning that the /opt/chef directory will be removed during the package installation process.
-Users who are properly managing customizations to /opt/chef through Chef recipes won't be affected, because their customizations will still be installed by
-the new chef-client package.
+### powershell_script now allows overriding the default flags
-You'll see a warning that the /opt/chef directory will be removed during the package installation process.
+We now append `powershell_script` user flags to the default flags, rather than the other way around, making user flags override the defaults. This is the correct behavior, but it may cause scripts to execute differently than in previous Chef releases.
### Package provider allow_downgrade is now true by default
@@ -330,6 +378,26 @@ We removed the system_profile plugin because it incorrectly returned data on mod
We removed the Ohai::Util::Win32::GroupHelper helper class from Ohai. This class was intended for use internally in several Windows plugins, but it was never marked private in the codebase. If any of your Ohai plugins rely on this helper class, you will need to update your plugins for Ohai 15.
+### Audit Mode
+
+Chef's Audit mode was introduced in 2015 as a beta that needed to be enabled via client.rb. Its functionality has been superseded by InSpec and has been removed.
+
+### Ohai system_profiler plugin removal
+
+The `system_profiler` plugin which ran on macOS systems has been removed. This plugin took longer to run than all other plugins on macOS combined and no longer produced usable information on modern macOS releases. If you're looking for similar information it can now be found in the `hardware` plugin.
+
+### Ohai::Util::Win32::GroupHelper helper removal
+
+The deprecated `Ohai::Util::Win32::GroupHelper` helper has been removed from Ohai. Any custom Ohai plugins using this helper will need to be updated.
+
+### Ohai::System.refresh_plugins method removal
+
+The `refresh_plugins` method in the `Ohai::System` class has been removed as it has been unused for multiple major Ohai releases. If you are programatically using Ohai in your own Ruby application you will need to update your code to use the `load_plugins` method instead.
+
+### Ohai Microsoft VirtualPC / VirtualServer detection removal
+
+The Virtualization plugin will no longer detect systems running on the circa ~2005 VirtualPC or VirtualServer hypervisors. These hypervisors were long ago deprecated by Microsoft and support can no longer be tested.
+
# Chef Infra Client Release Notes 14.11:
## Updated Resources
diff --git a/VERSION b/VERSION
index 1e09d4610b..de91e2dfe7 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-15.0.288 \ No newline at end of file
+15.0.290 \ No newline at end of file
diff --git a/chef-bin/lib/chef-bin/version.rb b/chef-bin/lib/chef-bin/version.rb
index 3f43167246..d2fec09372 100644
--- a/chef-bin/lib/chef-bin/version.rb
+++ b/chef-bin/lib/chef-bin/version.rb
@@ -21,7 +21,7 @@
module ChefBin
CHEFBIN_ROOT = File.expand_path("../..", __FILE__)
- VERSION = "15.0.288".freeze
+ VERSION = "15.0.290".freeze
end
#
diff --git a/chef-config/lib/chef-config/version.rb b/chef-config/lib/chef-config/version.rb
index aa5cfcbd41..c84c2be1d7 100644
--- a/chef-config/lib/chef-config/version.rb
+++ b/chef-config/lib/chef-config/version.rb
@@ -21,7 +21,7 @@
module ChefConfig
CHEFCONFIG_ROOT = File.expand_path("../..", __FILE__)
- VERSION = "15.0.288".freeze
+ VERSION = "15.0.290".freeze
end
#
diff --git a/ext/win32-eventlog/chef-log.man b/ext/win32-eventlog/chef-log.man
index 10c28e739f..dade288b85 100644
--- a/ext/win32-eventlog/chef-log.man
+++ b/ext/win32-eventlog/chef-log.man
@@ -1,25 +1,25 @@
MessageId=10000
SymbolicName=RUN_START
Language=English
-Starting Chef Client run v%1
+Starting Chef Infra Client run v%1
.
MessageId=10001
SymbolicName=RUN_STARTED
Language=English
-Started Chef Client run %1
+Started Chef Infra Client run %1
.
MessageId=10002
SymbolicName=RUN_COMPLETED
Language=English
-Completed Chef Client run %1 in %2 seconds
+Completed Chef Infra Client run %1 in %2 seconds
.
MessageId=10003
SymbolicName=RUN_FAILED
Language=English
-Failed Chef Client run %1 in %2 seconds.%n
+Failed Chef Infra Client run %1 in %2 seconds.%n
Exception type: %3%n
Exception message: %4%n
Exception backtrace: %5%n
diff --git a/lib/chef/knife/bootstrap.rb b/lib/chef/knife/bootstrap.rb
index 302567396a..04eabc3c83 100644
--- a/lib/chef/knife/bootstrap.rb
+++ b/lib/chef/knife/bootstrap.rb
@@ -843,7 +843,7 @@ class Chef
def ssh_opts
opts = {}
- return opts if connection_protocol == "winrm"
+ return opts if winrm?
opts[:non_interactive] = true # Prevent password prompts from underlying net/ssh
opts[:forward_agent] = (config_value(:ssh_forward_agent) === true)
opts
@@ -851,7 +851,7 @@ class Chef
def ssh_identity_opts
opts = {}
- return opts if connection_protocol == "winrm"
+ return opts if winrm?
identity_file = config_value(:ssh_identity_file)
if identity_file
opts[:key_files] = [identity_file]
@@ -911,7 +911,7 @@ class Chef
# REVIEW NOTE: knife bootstrap did not pull sudo values from Chef::Config,
# should we change that for consistency?
def sudo_opts
- return {} if connection_protocol == "winrm"
+ return {} if winrm?
opts = { sudo: false }
if config[:use_sudo]
opts[:sudo] = true
@@ -926,7 +926,7 @@ class Chef
end
def winrm_opts
- return {} unless connection_protocol == "winrm"
+ return {} unless winrm?
auth_method = config_value(:winrm_auth_method, :winrm_auth_method, "negotiate")
opts = {
winrm_transport: auth_method, # winrm gem and train calls auth method 'transport'
diff --git a/lib/chef/version.rb b/lib/chef/version.rb
index b4f5726d2e..7132223ae8 100644
--- a/lib/chef/version.rb
+++ b/lib/chef/version.rb
@@ -23,7 +23,7 @@ require_relative "version_string"
class Chef
CHEF_ROOT = File.expand_path("../..", __FILE__)
- VERSION = Chef::VersionString.new("15.0.288")
+ VERSION = Chef::VersionString.new("15.0.290")
end
#
diff --git a/omnibus/config/projects/chef.rb b/omnibus/config/projects/chef.rb
index 754a1b7564..053a755d1d 100644
--- a/omnibus/config/projects/chef.rb
+++ b/omnibus/config/projects/chef.rb
@@ -15,7 +15,7 @@
#
name "chef"
-friendly_name "Chef Client"
+friendly_name "Chef Infra Client"
maintainer "Chef Software, Inc. <maintainers@chef.io>"
homepage "https://www.chef.io"
license "Chef EULA"
diff --git a/omnibus/resources/chef/msi/localization-en-us.wxl.erb b/omnibus/resources/chef/msi/localization-en-us.wxl.erb
index c5e8e5ddab..254a3722ab 100644
--- a/omnibus/resources/chef/msi/localization-en-us.wxl.erb
+++ b/omnibus/resources/chef/msi/localization-en-us.wxl.erb
@@ -34,9 +34,9 @@
<String Id="CustomizeDlgTextMsg">Select an option to change between the Chef's unattended execution options.</String>
<String Id="CustomizeDlgTextTitle">Chef Unattended Execution Options</String>
- <String Id="CustomizeDlgFirstRadioButtonText">Chef Client Scheduled Task</String>
- <String Id="CustomizeDlgSecondRadioButtonText">Chef Client Service</String>
+ <String Id="CustomizeDlgFirstRadioButtonText">Chef Infra Client Scheduled Task</String>
+ <String Id="CustomizeDlgSecondRadioButtonText">Chef Infra Client Service</String>
<String Id="CustomizeDlgThirdRadioButtonText">None</String>
- <String Id="CustomizeDlgOptionsMsg">The installer can configure the Chef Client to run periodically as either a scheduled task or a service. Using a scheduled task is recommended. For more information, see https://docs.chef.io/windows.html.</String>
+ <String Id="CustomizeDlgOptionsMsg">The installer can configure the Chef Infra Client to run periodically as either a scheduled task or a service. Using a scheduled task is recommended. For more information, see https://docs.chef.io/windows.html.</String>
</WixLocalization>