summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavin Taddeo <davin@chef.io>2020-06-03 14:15:04 -0400
committerDavin Taddeo <davin@chef.io>2020-06-03 14:15:04 -0400
commit921c1657abca0fa5661f91314b155c8d97ed954a (patch)
tree66574a39cdc11e0a2e5e3f96529f4847323cf749
parent8d914c9cfa90d7e53207facda47275d3779e859d (diff)
parentcb57400ec0048a162909875b769b7366cdd30204 (diff)
downloadchef-921c1657abca0fa5661f91314b155c8d97ed954a.tar.gz
Merge branch 'master' of github.com:chef/chef
-rw-r--r--CHANGELOG.md8
-rw-r--r--Gemfile.lock22
-rw-r--r--VERSION2
-rw-r--r--azure-pipelines.yml87
-rw-r--r--chef-bin/lib/chef-bin/version.rb2
-rw-r--r--chef-config/lib/chef-config/version.rb2
-rw-r--r--chef-utils/lib/chef-utils/version.rb2
-rw-r--r--kitchen-tests/cookbooks/end_to_end/attributes/default.rb2
-rw-r--r--kitchen-tests/cookbooks/end_to_end/files/io.chef.testing.fake.plist25
-rw-r--r--kitchen-tests/cookbooks/end_to_end/recipes/_cron.rb2
-rw-r--r--kitchen-tests/cookbooks/end_to_end/recipes/_dmg_package.rb21
-rw-r--r--kitchen-tests/cookbooks/end_to_end/recipes/_launchd.rb13
-rw-r--r--kitchen-tests/cookbooks/end_to_end/recipes/_macos_userdefaults.rb26
-rw-r--r--kitchen-tests/cookbooks/end_to_end/recipes/_sysctl.rb2
-rw-r--r--kitchen-tests/cookbooks/end_to_end/recipes/_yum.rb2
-rw-r--r--kitchen-tests/cookbooks/end_to_end/recipes/default.rb114
-rw-r--r--kitchen-tests/cookbooks/end_to_end/recipes/linux.rb118
-rw-r--r--kitchen-tests/cookbooks/end_to_end/recipes/macos.rb67
-rw-r--r--lib/chef/version.rb2
19 files changed, 386 insertions, 133 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 51af06b5fb..5043702d28 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,15 +1,17 @@
<!-- usage documentation: http://expeditor-docs.es.chef.io/configuration/changelog/ -->
-<!-- latest_release 16.2.8 -->
-## [v16.2.8](https://github.com/chef/chef/tree/v16.2.8) (2020-05-29)
+<!-- latest_release unreleased -->
+## Unreleased
#### Merged Pull Requests
-- Update chef-telemetry to 1.0.8 and InSpec to 4.19 [#9934](https://github.com/chef/chef/pull/9934) ([tas50](https://github.com/tas50))
+- Add additional testing for macOS hosts [#9939](https://github.com/chef/chef/pull/9939) ([tas50](https://github.com/tas50))
<!-- latest_release -->
<!-- release_rollup since=16.1.16 -->
### Changes not yet released to stable
#### Merged Pull Requests
+- Add additional testing for macOS hosts [#9939](https://github.com/chef/chef/pull/9939) ([tas50](https://github.com/tas50)) <!-- 16.2.9 -->
+- Set up CI with Azure Pipelines [#9894](https://github.com/chef/chef/pull/9894) ([btm](https://github.com/btm)) <!-- 16.2.9 -->
- Update chef-telemetry to 1.0.8 and InSpec to 4.19 [#9934](https://github.com/chef/chef/pull/9934) ([tas50](https://github.com/tas50)) <!-- 16.2.8 -->
- hostname: Improve the windows reboot message [#9927](https://github.com/chef/chef/pull/9927) ([tas50](https://github.com/tas50)) <!-- 16.2.7 -->
- hostname: Remove support for Solaris 5.10 [#9928](https://github.com/chef/chef/pull/9928) ([tas50](https://github.com/tas50)) <!-- 16.2.6 -->
diff --git a/Gemfile.lock b/Gemfile.lock
index 39b3e57d14..54728a14d4 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -28,12 +28,12 @@ GIT
PATH
remote: .
specs:
- chef (16.2.8)
+ chef (16.2.9)
addressable
bcrypt_pbkdf (= 1.1.0.rc1)
bundler (>= 1.10)
- chef-config (= 16.2.8)
- chef-utils (= 16.2.8)
+ chef-config (= 16.2.9)
+ chef-utils (= 16.2.9)
chef-vault
chef-zero (>= 14.0.11)
diff-lcs (~> 1.2, >= 1.2.4)
@@ -62,12 +62,12 @@ PATH
train-winrm (>= 0.2.5)
tty-screen (~> 0.6)
uuidtools (~> 2.1.5)
- chef (16.2.8-universal-mingw32)
+ chef (16.2.9-universal-mingw32)
addressable
bcrypt_pbkdf (= 1.1.0.rc1)
bundler (>= 1.10)
- chef-config (= 16.2.8)
- chef-utils (= 16.2.8)
+ chef-config (= 16.2.9)
+ chef-utils (= 16.2.9)
chef-vault
chef-zero (>= 14.0.11)
diff-lcs (~> 1.2, >= 1.2.4)
@@ -112,15 +112,15 @@ PATH
PATH
remote: chef-bin
specs:
- chef-bin (16.2.8)
- chef (= 16.2.8)
+ chef-bin (16.2.9)
+ chef (= 16.2.9)
PATH
remote: chef-config
specs:
- chef-config (16.2.8)
+ chef-config (16.2.9)
addressable
- chef-utils (= 16.2.8)
+ chef-utils (= 16.2.9)
fuzzyurl
mixlib-config (>= 2.2.12, < 4.0)
mixlib-shellout (>= 2.0, < 4.0)
@@ -129,7 +129,7 @@ PATH
PATH
remote: chef-utils
specs:
- chef-utils (16.2.8)
+ chef-utils (16.2.9)
GEM
remote: https://rubygems.org/
diff --git a/VERSION b/VERSION
index 85bdd8e7cc..2275761ce3 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-16.2.8 \ No newline at end of file
+16.2.9 \ No newline at end of file
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
new file mode 100644
index 0000000000..a40fba3f9f
--- /dev/null
+++ b/azure-pipelines.yml
@@ -0,0 +1,87 @@
+# End-to-End Test of Chef in MacOS
+
+variables:
+ FORCE_FFI_YAJL: 'ext'
+ CHEF_LICENSE: 'accept-no-persist'
+
+trigger:
+- master
+# TODO: 20190528 - should we be testing end_to_end on chef-15?
+#- chef-15
+
+pool:
+ vmImage: $(imageName)
+
+jobs:
+ - job:
+ strategy:
+ matrix:
+ ubuntu_kitchen_tests:
+ imageName: 'ubuntu-latest'
+ mac_kitchen_tests:
+ imageName: 'macos-latest'
+
+ steps:
+ - script: |
+ curl -L https://omnitruck.chef.io/install.sh | sudo bash -s -- -c current
+ /opt/chef/bin/chef-client -v
+ /opt/chef/bin/ohai -v
+ /opt/chef/embedded/bin/rake --version
+ /opt/chef/embedded/bin/bundle -v
+ displayName: 'Install Chef/Ohai from Omnitruck'
+
+ - script: |
+ OHAI_VERSION=$(sed -n '/ohai .[0-9]/{s/.*(//;s/)//;p;}' Gemfile.lock)
+ sudo /opt/chef/embedded/bin/gem install appbundler appbundle-updater --no-doc
+ sudo /opt/chef/embedded/bin/appbundle-updater chef ohai v${OHAI_VERSION} --tarball --github chef/ohai
+ sudo /opt/chef/embedded/bin/appbundle-updater chef chef $BUILD_SOURCEVERSION --tarball --github chef/chef
+ echo "Installed Chef / Ohai release:"
+ /opt/chef/bin/chef-client -v
+ /opt/chef/bin/ohai -v
+ displayName: 'Upgrade Chef/Ohai via Appbundler'
+
+ - script: |
+ cd kitchen-tests
+ sudo /opt/chef/embedded/bin/bundle config set without 'omnibus_package docgen ruby_prof'
+ sudo /opt/chef/embedded/bin/bundle install --jobs=3 --retry=3 --path=vendor/bundle
+ sudo /opt/chef/embedded/bin/gem install berkshelf --no-doc
+ sudo /opt/chef/embedded/bin/berks vendor cookbooks
+ sudo /opt/chef/bin/chef-client -z -o end_to_end --chef-license accept-no-persist
+ displayName: 'Run end_to_end::default recipe'
+
+ - job:
+ strategy:
+ matrix:
+ windows_kitchen_tests:
+ imageName: 'windows-latest'
+
+ steps:
+ - powershell: |
+ . { Invoke-WebRequest -useb https://omnitruck.chef.io/install.ps1 } | Invoke-Expression; Install-Project -project chef -channel current
+ $env:PATH = "C:\opscode\chef\bin;C:\opscode\chef\embedded\bin;" + $env:PATH
+ chef-client -v
+ ohai -v
+ rake --version
+ bundle -v
+ displayName: 'Install Chef/Ohai from Omnitruck'
+
+ - powershell: |
+ $env:PATH = "C:\opscode\chef\bin;C:\opscode\chef\embedded\bin;" + $env:PATH
+ $env:OHAI_VERSION = ( Select-String -Path .\Gemfile.lock -Pattern '(?<=ohai \()\d.*(?=\))' | ForEach-Object { $_.Matches[0].Value } )
+ gem install appbundler appbundle-updater --no-doc
+ appbundle-updater chef ohai v$env:OHAI_VERSION --tarball --github chef/ohai
+ appbundle-updater chef chef $env:BUILD_SOURCEVERSION --tarball --github chef/chef
+ Write-Output "Installed Chef / Ohai release:"
+ chef-client -v
+ ohai -v
+ displayName: 'Upgrade Chef/Ohai via Appbundler'
+
+ - powershell: |
+ cd kitchen-tests
+ $env:PATH = "C:\opscode\chef\bin;C:\opscode\chef\embedded\bin;" + $env:PATH
+ bundle config set without 'omnibus_package docgen ruby_prof'
+ bundle install --jobs=3 --retry=3 --path=vendor/bundle
+ gem install berkshelf --no-doc
+ berks vendor cookbooks
+ chef-client -z -o end_to_end --chef-license accept-no-persist
+ displayName: 'Run end_to_end::default recipe'
diff --git a/chef-bin/lib/chef-bin/version.rb b/chef-bin/lib/chef-bin/version.rb
index 5730eac4cb..6e685be56a 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 = "16.2.8".freeze
+ VERSION = "16.2.9".freeze
end
#
diff --git a/chef-config/lib/chef-config/version.rb b/chef-config/lib/chef-config/version.rb
index 5e66ca664c..96decb5b14 100644
--- a/chef-config/lib/chef-config/version.rb
+++ b/chef-config/lib/chef-config/version.rb
@@ -15,5 +15,5 @@
module ChefConfig
CHEFCONFIG_ROOT = File.expand_path("../..", __FILE__)
- VERSION = "16.2.8".freeze
+ VERSION = "16.2.9".freeze
end
diff --git a/chef-utils/lib/chef-utils/version.rb b/chef-utils/lib/chef-utils/version.rb
index 9f0c2629c3..7326e1e021 100644
--- a/chef-utils/lib/chef-utils/version.rb
+++ b/chef-utils/lib/chef-utils/version.rb
@@ -15,5 +15,5 @@
module ChefUtils
CHEFUTILS_ROOT = File.expand_path("../..", __FILE__)
- VERSION = "16.2.8".freeze
+ VERSION = "16.2.9".freeze
end
diff --git a/kitchen-tests/cookbooks/end_to_end/attributes/default.rb b/kitchen-tests/cookbooks/end_to_end/attributes/default.rb
index 332a3fe462..e910b9e7d4 100644
--- a/kitchen-tests/cookbooks/end_to_end/attributes/default.rb
+++ b/kitchen-tests/cookbooks/end_to_end/attributes/default.rb
@@ -1,5 +1,7 @@
puts "CHEF UTILS THINKS WE ARE ON UBUNTU" if ubuntu?
puts "CHEF UTILS THINKS WE ARE ON RHEL" if rhel?
+puts "CHEF UTILS THINKS WE ARE ON MACOS" if macos?
+puts "CHEF UTILS THINKS WE ARE ON WINDOWS" if windows?
#
# ubuntu cookbook overrides
diff --git a/kitchen-tests/cookbooks/end_to_end/files/io.chef.testing.fake.plist b/kitchen-tests/cookbooks/end_to_end/files/io.chef.testing.fake.plist
new file mode 100644
index 0000000000..570c736041
--- /dev/null
+++ b/kitchen-tests/cookbooks/end_to_end/files/io.chef.testing.fake.plist
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+
+<plist version="1.0">
+ <dict>
+ <key>Label</key>
+
+ <string>io.chef.testing.fake</string>
+
+ <key>ProgramArguments</key>
+
+ <array>
+ <string>/bin/sleep</string>
+ <string>60</string>
+ </array>
+
+ <key>StartCalendarInterval</key>
+
+ <dict>
+ <key>Hour</key>
+ <integer>1</integer>
+ </dict>
+ </dict>
+</plist>
diff --git a/kitchen-tests/cookbooks/end_to_end/recipes/_cron.rb b/kitchen-tests/cookbooks/end_to_end/recipes/_cron.rb
index 545d895869..b2575923ea 100644
--- a/kitchen-tests/cookbooks/end_to_end/recipes/_cron.rb
+++ b/kitchen-tests/cookbooks/end_to_end/recipes/_cron.rb
@@ -64,4 +64,4 @@ end
cron "remove_a_job" do
action :delete
-end \ No newline at end of file
+end
diff --git a/kitchen-tests/cookbooks/end_to_end/recipes/_dmg_package.rb b/kitchen-tests/cookbooks/end_to_end/recipes/_dmg_package.rb
new file mode 100644
index 0000000000..27dad15c80
--- /dev/null
+++ b/kitchen-tests/cookbooks/end_to_end/recipes/_dmg_package.rb
@@ -0,0 +1,21 @@
+#
+# Cookbook:: end_to_end
+# Recipe:: _dmg_package
+#
+# Copyright:: Copyright (c) Chef Software Inc.
+#
+
+dmg_package "LittleSecrets" do
+ source "https://www.mani.de/download/littlesecrets/LittleSecrets1.9.4.dmg"
+ checksum "8281c1f648c038b296a02940126c29032ff387b90a880d63834e303e1b3a5ff7"
+ action :install
+end
+
+dmg_package "virtualbox" do
+ app "virtualbox"
+ source "http://download.virtualbox.org/virtualbox/6.1.8/VirtualBox-6.1.8-137981-OSX.dmg"
+ checksum "569e91eb3c7cb002d407b236a7aa71ac610cf2ad1afa03730dab11fbd4b89e7c"
+ type "pkg"
+ accept_eula true
+ allow_untrusted true
+end
diff --git a/kitchen-tests/cookbooks/end_to_end/recipes/_launchd.rb b/kitchen-tests/cookbooks/end_to_end/recipes/_launchd.rb
new file mode 100644
index 0000000000..4a1e910b51
--- /dev/null
+++ b/kitchen-tests/cookbooks/end_to_end/recipes/_launchd.rb
@@ -0,0 +1,13 @@
+#
+# Cookbook:: end_to_end
+# Recipe:: launchd
+#
+
+file "/Library/LaunchDaemons/io.chef.testing.fake.plist" do
+ path "io.chef.testing.fake.plist"
+ mode "644"
+end
+
+launchd "io.chef.testing.fake" do
+ source "io.chef.testing.fake"
+end
diff --git a/kitchen-tests/cookbooks/end_to_end/recipes/_macos_userdefaults.rb b/kitchen-tests/cookbooks/end_to_end/recipes/_macos_userdefaults.rb
new file mode 100644
index 0000000000..6fcdd51d10
--- /dev/null
+++ b/kitchen-tests/cookbooks/end_to_end/recipes/_macos_userdefaults.rb
@@ -0,0 +1,26 @@
+#
+# Cookbook:: end_to_end
+# Recipe:: _macos_userdefaults
+#
+# Copyright:: Copyright (c) Chef Software Inc.
+#
+
+mac_os_x_userdefaults "Disable fast user switching" do
+ domain "/Library/Preferences/.GlobalPreferences"
+ key "MultipleSessionEnabled"
+ value 0
+end
+
+macos_userdefaults "enable macOS firewall" do
+ domain "/Library/Preferences/com.apple.alf"
+ key "globalstate"
+ value "1"
+ type "int"
+end
+
+macos_userdefaults "set dock size" do
+ domain "com.apple.dock"
+ type "integer"
+ key "tilesize"
+ value "20"
+end
diff --git a/kitchen-tests/cookbooks/end_to_end/recipes/_sysctl.rb b/kitchen-tests/cookbooks/end_to_end/recipes/_sysctl.rb
index b5943180d0..7bc3ae84d2 100644
--- a/kitchen-tests/cookbooks/end_to_end/recipes/_sysctl.rb
+++ b/kitchen-tests/cookbooks/end_to_end/recipes/_sysctl.rb
@@ -18,4 +18,4 @@ end
sysctl_param "bogus.sysctl_val" do
value 9000
action :remove
-end \ No newline at end of file
+end
diff --git a/kitchen-tests/cookbooks/end_to_end/recipes/_yum.rb b/kitchen-tests/cookbooks/end_to_end/recipes/_yum.rb
index f6f48a89c9..af36038ca7 100644
--- a/kitchen-tests/cookbooks/end_to_end/recipes/_yum.rb
+++ b/kitchen-tests/cookbooks/end_to_end/recipes/_yum.rb
@@ -13,4 +13,4 @@ yum_repository "epel" do
gpgcheck true
mirrorlist "https://mirrors.fedoraproject.org/metalink?repo=epel-#{node["platform_version"].to_i}&arch=$basearch"
only_if { rhel? }
-end \ No newline at end of file
+end
diff --git a/kitchen-tests/cookbooks/end_to_end/recipes/default.rb b/kitchen-tests/cookbooks/end_to_end/recipes/default.rb
index f175474d46..20971a0333 100644
--- a/kitchen-tests/cookbooks/end_to_end/recipes/default.rb
+++ b/kitchen-tests/cookbooks/end_to_end/recipes/default.rb
@@ -5,114 +5,6 @@
# Copyright:: Copyright (c) Chef Software Inc.
#
-hostname "chef-bk-ci.chef.io"
-
-apt_update
-
-chef_sleep "2"
-
-execute "sleep 1"
-
-execute "sleep 1 second" do
- command "sleep 1"
- live_stream true
-end
-
-execute "sensitive sleep" do
- command "sleep 1"
- sensitive true
-end
-
-timezone "UTC"
-
-include_recipe "::_yum" if platform_family?("rhel")
-
-if platform_family?("rhel", "fedora", "amazon")
- include_recipe "selinux::disabled"
-end
-
-build_essential do
- raise_if_unsupported true
-end
-
-include_recipe "::_packages"
-
-include_recipe "ntp"
-
-include_recipe "resolver"
-
-users_manage "sysadmin" do
- group_id 2300
- action [:create]
-end
-
-ssh_known_hosts_entry "github.com"
-
-include_recipe "chef-client::delete_validation"
-include_recipe "chef-client::config"
-
-include_recipe "openssh"
-
-include_recipe "nscd"
-
-include_recipe "logrotate"
-
-include_recipe "git"
-
-# test various archive formats in the archive_file resource
-%w{tourism.tar.gz tourism.tar.xz tourism.zip}.each do |archive|
- cookbook_file File.join(Chef::Config[:file_cache_path], archive) do
- source archive
- end
-
- archive_file archive do
- path File.join(Chef::Config[:file_cache_path], archive)
- extract_to File.join(Chef::Config[:file_cache_path], archive.tr(".", "_"))
- end
-end
-
-user_ulimit "tomcat" do
- filehandle_soft_limit 8192
- filehandle_hard_limit 8192
- process_soft_limit 61504
- process_hard_limit 61504
- memory_limit 1024
- core_limit 2048
- core_soft_limit 1024
- core_hard_limit "unlimited"
- stack_soft_limit 2048
- stack_hard_limit 2048
- rtprio_soft_limit 60
- rtprio_hard_limit 60
-end
-
-chef_client_cron "Run chef-client as a cron job"
-
-chef_client_cron "Run chef-client with base recipe" do
- minute 0
- hour "0,12"
- job_name "chef-client-base"
- log_directory "/var/log/custom_chef_client_dir/"
- log_file_name "chef-client-base.log"
- daemon_options ["--override-runlist mycorp_base::default"]
-end
-
-chef_client_systemd_timer "Run chef-client as a systemd timer" do
- interval "1hr"
- only_if { systemd? }
-end
-
-locale "set system locale" do
- lang "en_US.UTF-8"
- only_if { debian? }
-end
-
-include_recipe "::_apt" if platform_family?("debian")
-include_recipe "::_chef-vault" unless includes_recipe?("end_to_end::chef-vault")
-include_recipe "::_sudo"
-include_recipe "::_sysctl"
-include_recipe "::_alternatives"
-include_recipe "::_cron"
-include_recipe "::_ohai_hint"
-include_recipe "::_openssl"
-include_recipe "::_tests"
+include_recipe "::linux" if linux?
+include_recipe "::macos" if macos?
+include_recipe "::windows" if windows?
diff --git a/kitchen-tests/cookbooks/end_to_end/recipes/linux.rb b/kitchen-tests/cookbooks/end_to_end/recipes/linux.rb
new file mode 100644
index 0000000000..b66edb14dd
--- /dev/null
+++ b/kitchen-tests/cookbooks/end_to_end/recipes/linux.rb
@@ -0,0 +1,118 @@
+#
+# Cookbook:: end_to_end
+# Recipe:: linux
+#
+# Copyright:: Copyright (c) Chef Software Inc.
+#
+
+hostname "chef-bk-ci.chef.io"
+
+apt_update
+
+chef_sleep "2"
+
+execute "sleep 1"
+
+execute "sleep 1 second" do
+ command "sleep 1"
+ live_stream true
+end
+
+execute "sensitive sleep" do
+ command "sleep 1"
+ sensitive true
+end
+
+timezone "UTC"
+
+include_recipe "::_yum" if platform_family?("rhel")
+
+if platform_family?("rhel", "fedora", "amazon")
+ include_recipe "selinux::disabled"
+end
+
+build_essential do
+ raise_if_unsupported true
+end
+
+include_recipe "::_packages"
+
+include_recipe "ntp"
+
+include_recipe "resolver"
+
+users_manage "sysadmin" do
+ group_id 2300
+ action [:create]
+end
+
+ssh_known_hosts_entry "github.com"
+
+include_recipe "chef-client::delete_validation"
+include_recipe "chef-client::config"
+
+include_recipe "openssh"
+
+include_recipe "nscd"
+
+include_recipe "logrotate"
+
+include_recipe "git"
+
+# test various archive formats in the archive_file resource
+%w{tourism.tar.gz tourism.tar.xz tourism.zip}.each do |archive|
+ cookbook_file File.join(Chef::Config[:file_cache_path], archive) do
+ source archive
+ end
+
+ archive_file archive do
+ path File.join(Chef::Config[:file_cache_path], archive)
+ extract_to File.join(Chef::Config[:file_cache_path], archive.tr(".", "_"))
+ end
+end
+
+user_ulimit "tomcat" do
+ filehandle_soft_limit 8192
+ filehandle_hard_limit 8192
+ process_soft_limit 61504
+ process_hard_limit 61504
+ memory_limit 1024
+ core_limit 2048
+ core_soft_limit 1024
+ core_hard_limit "unlimited"
+ stack_soft_limit 2048
+ stack_hard_limit 2048
+ rtprio_soft_limit 60
+ rtprio_hard_limit 60
+end
+
+chef_client_cron "Run chef-client as a cron job"
+
+chef_client_cron "Run chef-client with base recipe" do
+ minute 0
+ hour "0,12"
+ job_name "chef-client-base"
+ log_directory "/var/log/custom_chef_client_dir/"
+ log_file_name "chef-client-base.log"
+ daemon_options ["--override-runlist mycorp_base::default"]
+end
+
+chef_client_systemd_timer "Run chef-client as a systemd timer" do
+ interval "1hr"
+ only_if { systemd? }
+end
+
+locale "set system locale" do
+ lang "en_US.UTF-8"
+ only_if { debian? }
+end
+
+include_recipe "::_apt" if platform_family?("debian")
+include_recipe "::_chef-vault" unless includes_recipe?("end_to_end::chef-vault")
+include_recipe "::_sudo"
+include_recipe "::_sysctl"
+include_recipe "::_alternatives"
+include_recipe "::_cron"
+include_recipe "::_ohai_hint"
+include_recipe "::_openssl"
+include_recipe "::_tests"
diff --git a/kitchen-tests/cookbooks/end_to_end/recipes/macos.rb b/kitchen-tests/cookbooks/end_to_end/recipes/macos.rb
new file mode 100644
index 0000000000..30b674620b
--- /dev/null
+++ b/kitchen-tests/cookbooks/end_to_end/recipes/macos.rb
@@ -0,0 +1,67 @@
+#
+# Cookbook:: end_to_end
+# Recipe:: macos
+#
+# Copyright:: Copyright (c) Chef Software Inc.
+#
+
+chef_sleep "2"
+
+execute "sleep 1"
+
+execute "sleep 1 second" do
+ command "sleep 1"
+ live_stream true
+end
+
+execute "sensitive sleep" do
+ command "sleep 1"
+ sensitive true
+end
+
+timezone "GMT"
+
+include_recipe "ntp"
+
+include_recipe "resolver"
+
+users_manage "remove sysadmin" do
+ group_name "sysadmin"
+ group_id 2300
+ action [:remove]
+end
+
+users_manage "create sysadmin" do
+ group_name "sysadmin"
+ group_id 2300
+ action [:create]
+end
+
+ssh_known_hosts_entry "github.com"
+
+include_recipe "chef-client::delete_validation"
+include_recipe "chef-client::config"
+
+include_recipe "git"
+
+# test various archive formats in the archive_file resource
+%w{tourism.tar.gz tourism.tar.xz tourism.zip}.each do |archive|
+ cookbook_file File.join(Chef::Config[:file_cache_path], archive) do
+ source archive
+ end
+
+ archive_file archive do
+ path File.join(Chef::Config[:file_cache_path], archive)
+ extract_to File.join(Chef::Config[:file_cache_path], archive.tr(".", "_"))
+ end
+end
+
+launchd "io.chef.testing.fake" do
+ source "io.chef.testing.fake.plist"
+ action "enable"
+end
+
+include_recipe "::_dmg_package"
+include_recipe "::_macos_userdefaults"
+include_recipe "::_ohai_hint"
+include_recipe "::_openssl"
diff --git a/lib/chef/version.rb b/lib/chef/version.rb
index 575f760cf4..a552d8f23c 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("16.2.8")
+ VERSION = Chef::VersionString.new("16.2.9")
end
#