summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorey Hemminger <hemminger@hotmail.com>2022-01-11 15:12:45 -0600
committerGitHub <noreply@github.com>2022-01-11 15:12:45 -0600
commita75cbdb45c5fe2a7a6a844f980e63f33edd22c23 (patch)
treea54133b65327b952009bcdc8de54b3c5ff7ff2c7
parent8f82ea2e228590e0a3fe13d313cd82855872360b (diff)
parentf064c4c71e835df9dd874aa84db8735afaede8d5 (diff)
downloadchef-a75cbdb45c5fe2a7a6a844f980e63f33edd22c23.tar.gz
Merge branch 'chef:main' into patch-1
-rw-r--r--.expeditor/config.yml2
-rw-r--r--.expeditor/release.omnibus.yml2
-rw-r--r--.github/workflows/unit_specs.yml2
-rw-r--r--CHANGELOG.md10
-rw-r--r--CLA_ARCHIVE.md2
-rw-r--r--CONTRIBUTING.md8
-rw-r--r--Gemfile.lock48
-rw-r--r--README.md14
-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--chef-utils/lib/chef-utils/version.rb2
-rw-r--r--chef.gemspec4
-rw-r--r--docs/dev/design_documents/event_handler_recipe_dsl.md2
-rw-r--r--docs/dev/design_documents/how_chef_is_tested_and_built.md6
-rw-r--r--docs/dev/how_to/adding_new_platforms_to_infra.md10
-rw-r--r--docs/dev/how_to/branching_and_backporting.md6
-rw-r--r--docs/dev/how_to/bumping_minor_or_major_versions.md2
-rw-r--r--docs/dev/how_to/bumping_the_major_version.md26
-rw-r--r--docs/dev/how_to/releasing_chef_infra.md2
-rw-r--r--docs/dev/license_acceptance.md2
-rw-r--r--knife/knife.gemspec2
-rw-r--r--knife/lib/chef/knife/bootstrap.rb2
-rw-r--r--knife/lib/chef/knife/version.rb2
-rw-r--r--lib/chef/application/exit_code.rb6
-rw-r--r--lib/chef/version.rb2
-rw-r--r--omnibus/Gemfile.lock34
27 files changed, 107 insertions, 97 deletions
diff --git a/.expeditor/config.yml b/.expeditor/config.yml
index 69bb62b4d9..deec634d37 100644
--- a/.expeditor/config.yml
+++ b/.expeditor/config.yml
@@ -58,6 +58,8 @@ github:
# for building.
release_branches:
- main:
+ version_constraint: 18*
+ - chef-17:
version_constraint: 17*
- chef-16:
version_constraint: 16*
diff --git a/.expeditor/release.omnibus.yml b/.expeditor/release.omnibus.yml
index 9fe59233b4..c8005ab292 100644
--- a/.expeditor/release.omnibus.yml
+++ b/.expeditor/release.omnibus.yml
@@ -12,6 +12,8 @@ builder-to-testers-map:
aix-7.1-powerpc:
- aix-7.1-powerpc
- aix-7.2-powerpc
+ amazon-2022-x86_64:
+ - amazon-2022-x86_64
debian-9-x86_64:
- debian-9-x86_64
- debian-10-x86_64
diff --git a/.github/workflows/unit_specs.yml b/.github/workflows/unit_specs.yml
index fd0be0991f..38b884b5df 100644
--- a/.github/workflows/unit_specs.yml
+++ b/.github/workflows/unit_specs.yml
@@ -5,7 +5,7 @@ name: unit_specs
pull_request:
push:
branches:
- - master
+ - main
jobs:
unit:
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 3e12b09932..1eb84a5376 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,17 +1,21 @@
<!-- usage documentation: http://expeditor-docs.es.chef.io/configuration/changelog/ -->
This changelog lists individual merged pull requests to Chef Infra Client and geared towards developers. For a list of significant changes per release see the [Chef Infra Client Release Notes](https://docs.chef.io/release_notes_client/).
-<!-- latest_release 17.9.30 -->
-## [v17.9.30](https://github.com/chef/chef/tree/v17.9.30) (2022-01-04)
+<!-- latest_release 18.0.1 -->
+## [v18.0.1](https://github.com/chef/chef/tree/v18.0.1) (2022-01-11)
#### Merged Pull Requests
-- Simplify file reads [#12386](https://github.com/chef/chef/pull/12386) ([tas50](https://github.com/tas50))
+- Add Amazon 2022 to our pipeline [#12437](https://github.com/chef/chef/pull/12437) ([tas50](https://github.com/tas50))
<!-- latest_release -->
<!-- release_rollup since=17.9.26 -->
### Changes not yet released to stable
#### Merged Pull Requests
+- Add Amazon 2022 to our pipeline [#12437](https://github.com/chef/chef/pull/12437) ([tas50](https://github.com/tas50)) <!-- 18.0.1 -->
+- Bump version to 18.0 and fix master references [#12432](https://github.com/chef/chef/pull/12432) ([tas50](https://github.com/tas50)) <!-- 18.0.0 -->
+- Bump omnibus-software from `b6dd27a` to `94ef29b` in /omnibus [#12429](https://github.com/chef/chef/pull/12429) ([dependabot[bot]](https://github.com/dependabot[bot])) <!-- 17.9.32 -->
+- Bump chef/ohai to fc48360746fa102f1c46ed1aee82896d94a3d4a3 [#12427](https://github.com/chef/chef/pull/12427) ([chef-expeditor[bot]](https://github.com/chef-expeditor[bot])) <!-- 17.9.31 -->
- Resolve Performance/RegexpMatch warnings [#12411](https://github.com/chef/chef/pull/12411) ([tas50](https://github.com/tas50)) <!-- 17.9.27 -->
- Resolve Performance/Count warning [#12410](https://github.com/chef/chef/pull/12410) ([tas50](https://github.com/tas50)) <!-- 17.9.28 -->
- Reduce 213 requires from each knife call [#12409](https://github.com/chef/chef/pull/12409) ([tas50](https://github.com/tas50)) <!-- 17.9.29 -->
diff --git a/CLA_ARCHIVE.md b/CLA_ARCHIVE.md
index 640277d354..1bfa1a0b31 100644
--- a/CLA_ARCHIVE.md
+++ b/CLA_ARCHIVE.md
@@ -657,7 +657,7 @@ Many organizations signed the CCLA again in Supermarket.
The list of allowed contributors from 2009 through 3 October, 2016 prior to Chef
projects [moving to a Developer Certificate of Origin
process](https://blog.chef.io/2016/09/19/introducing-developer-certificate-of-origin/).
-See [CONTRIBUTING](https://github.com/chef/chef/blob/master/CONTRIBUTING.md) for
+See [CONTRIBUTING](https://github.com/chef/chef/blob/main/CONTRIBUTING.md) for
how to contribute to Chef today.
Persons listed as associated with a company may also be individual contributors
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 2ccfb550ba..16e675929e 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -33,8 +33,8 @@ Code review takes place in GitHub pull requests. See [this article](https://help
Once you open a pull request, project maintainers will review your code and respond to your pull request with any feedback they might have. The process at this point is as follows:
-1. Two or more members of the owners, approvers, or reviewers groups must approve your PR. See the [Chef Infra OSS Project](https://github.com/chef/chef-oss-practices/blob/master/projects/chef-infra.md) for a list of all members.
-2. Your change will be merged into the project's `master` branch
+1. Two or more members of the owners, approvers, or reviewers groups must approve your PR. See the [Chef Infra OSS Project](https://github.com/chef/chef-oss-practices/blob/main/projects/chef-infra.md) for a list of all members.
+2. Your change will be merged into the project's `main` branch
3. Our Expeditor bot will automatically increment the version and update the project's changelog with your contribution. For projects that ship as a package, Expeditor will kick off a build which will publish the package to the project's `current` channel.
If you would like to learn about when your code will be available in a release of Chef, read more about [Chef Release Cycles](#release-cycles).
@@ -43,7 +43,7 @@ If you would like to learn about when your code will be available in a release o
Licensing is very important to open source projects. It helps ensure the software continues to be available under the terms that the author desired.
-Chef uses [the Apache 2.0 license](https://github.com/chef/chef/blob/master/LICENSE) to strike a balance between open contribution and allowing you to use the software however you would like to.
+Chef uses [the Apache 2.0 license](https://github.com/chef/chef/blob/main/LICENSE) to strike a balance between open contribution and allowing you to use the software however you would like to.
The license tells you what rights you have that are provided by the copyright holder. It is important that the contributor fully understands what rights they are licensing and agrees to them. Sometimes the copyright holder isn't the contributor, such as when the contributor is doing work on behalf of a company.
@@ -133,7 +133,7 @@ Our version numbering roughly follows [Semantic Versioning](http://semver.org/)
- Y is a minor release, which adds both new features and bug fixes
- Z is a patch release, which adds just bug fixes
-After shipping a release of Chef we bump the `Minor` version by one to start development of the next minor release. All merges to master trigger an increment of the `Patch` version, and a build through our internal testing pipeline. We do a `Minor` release approximately every month, which consist of shipping one of the already auto-incremented and tested `Patch` versions. For example after shipping 12.10.24, we incremented Chef to 12.11.0\. From there 18 commits where merged bringing the version to 12.11.18, which we shipped as an omnibus package.
+After shipping a release of Chef we bump the `Minor` version by one to start development of the next minor release. All merges to `main` trigger an increment of the `Patch` version, and a build through our internal testing pipeline. We do a `Minor` release approximately every month, which consist of shipping one of the already auto-incremented and tested `Patch` versions. For example after shipping 12.10.24, we incremented Chef to 12.11.0\. From there 18 commits where merged bringing the version to 12.11.18, which we shipped as an omnibus package.
Announcements of releases are made to the [chef mailing list](https://discourse.chef.io/c/chef-release) when they are available and are mirrored to the #announcements channel on the [Chef Community Slack](https://community-slack.chef.io/).
diff --git a/Gemfile.lock b/Gemfile.lock
index 9862aa4967..1d772ea441 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -1,6 +1,6 @@
GIT
remote: https://github.com/chef/chefstyle.git
- revision: d3050865f4c7b4be668397007d9964ce2d54e6ee
+ revision: de278c0906b397de4b67bbb6d1cf19ab29f9c190
branch: main
specs:
chefstyle (2.2.0)
@@ -8,12 +8,12 @@ GIT
GIT
remote: https://github.com/chef/ohai.git
- revision: e86d186661a599703fe929497b33c5f7a3257d49
+ revision: d3767223cc4c236967550c16d3e519bbfcb8ea4c
branch: main
specs:
- ohai (17.9.1)
- chef-config (>= 14.12, < 18)
- chef-utils (>= 16.0, < 18)
+ ohai (18.0.1)
+ chef-config (>= 14.12, < 19)
+ chef-utils (>= 16.0, < 19)
ffi (~> 1.9)
ffi-yajl (~> 2.2)
ipaddress
@@ -35,12 +35,12 @@ GIT
PATH
remote: .
specs:
- chef (17.9.30)
+ chef (18.0.1)
addressable
aws-sdk-s3 (~> 1.91)
aws-sdk-secretsmanager (~> 1.46)
- chef-config (= 17.9.30)
- chef-utils (= 17.9.30)
+ chef-config (= 18.0.1)
+ chef-utils (= 18.0.1)
chef-vault
chef-zero (>= 14.0.11)
corefoundation (~> 0.3.4)
@@ -58,7 +58,7 @@ PATH
mixlib-log (>= 2.0.3, < 4.0)
mixlib-shellout (>= 3.1.1, < 4.0)
net-sftp (>= 2.1.2, < 4.0)
- ohai (~> 17.0)
+ ohai (~> 18.0)
plist (~> 3.2)
proxifier (~> 1.0)
syslog-logger (~> 1.6)
@@ -66,12 +66,12 @@ PATH
train-winrm (>= 0.2.5)
uuidtools (>= 2.1.5, < 3.0)
vault (~> 0.16)
- chef (17.9.30-universal-mingw32)
+ chef (18.0.1-universal-mingw32)
addressable
aws-sdk-s3 (~> 1.91)
aws-sdk-secretsmanager (~> 1.46)
- chef-config (= 17.9.30)
- chef-utils (= 17.9.30)
+ chef-config (= 18.0.1)
+ chef-utils (= 18.0.1)
chef-vault
chef-zero (>= 14.0.11)
corefoundation (~> 0.3.4)
@@ -90,7 +90,7 @@ PATH
mixlib-log (>= 2.0.3, < 4.0)
mixlib-shellout (>= 3.1.1, < 4.0)
net-sftp (>= 2.1.2, < 4.0)
- ohai (~> 17.0)
+ ohai (~> 18.0)
plist (~> 3.2)
proxifier (~> 1.0)
syslog-logger (~> 1.6)
@@ -112,15 +112,15 @@ PATH
PATH
remote: chef-bin
specs:
- chef-bin (17.9.30)
- chef (= 17.9.30)
+ chef-bin (18.0.1)
+ chef (= 18.0.1)
PATH
remote: chef-config
specs:
- chef-config (17.9.30)
+ chef-config (18.0.1)
addressable
- chef-utils (= 17.9.30)
+ chef-utils (= 18.0.1)
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 (17.9.30)
+ chef-utils (18.0.1)
concurrent-ruby
GEM
@@ -142,8 +142,8 @@ GEM
mixlib-shellout (>= 2.0, < 4.0)
ast (2.4.2)
aws-eventstream (1.2.0)
- aws-partitions (1.544.0)
- aws-sdk-core (3.125.1)
+ aws-partitions (1.547.0)
+ aws-sdk-core (3.125.2)
aws-eventstream (~> 1, >= 1.0.2)
aws-partitions (~> 1, >= 1.525.0)
aws-sigv4 (~> 1.1)
@@ -151,7 +151,7 @@ GEM
aws-sdk-kms (1.53.0)
aws-sdk-core (~> 3, >= 3.125.0)
aws-sigv4 (~> 1.1)
- aws-sdk-s3 (1.111.0)
+ aws-sdk-s3 (1.111.1)
aws-sdk-core (~> 3, >= 3.125.0)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.4)
@@ -252,7 +252,7 @@ GEM
inspec-core (= 4.52.9)
ipaddress (0.8.3)
iso8601 (0.13.0)
- jmespath (1.4.0)
+ jmespath (1.5.0)
json (2.6.1)
libyajl2 (2.1.0)
license-acceptance (2.1.13)
@@ -290,7 +290,7 @@ GEM
net-ssh (6.1.0)
nori (2.6.0)
parallel (1.21.0)
- parser (3.0.3.2)
+ parser (3.1.0.0)
ast (~> 2.4.1)
parslet (1.8.2)
pastel (0.8.0)
@@ -353,7 +353,7 @@ GEM
strings-ansi (0.2.0)
structured_warnings (0.4.0)
syslog-logger (1.6.8)
- thor (1.1.0)
+ thor (1.2.1)
tomlrb (1.3.0)
train-core (3.8.6)
addressable (~> 2.5)
diff --git a/README.md b/README.md
index 6c3373a2af..1c7361c2b6 100644
--- a/README.md
+++ b/README.md
@@ -1,16 +1,16 @@
# Chef Infra
[![Code Climate](https://codeclimate.com/github/chef/chef.svg)](https://codeclimate.com/github/chef/chef)
-[![Build Status](https://badge.buildkite.com/c82093430ceec7d27af05febb9dcafe3aa331fff9d74c0ab9d.svg?branch=master)](https://buildkite.com/chef-oss/chef-chef-master-verify)
+[![Build Status](https://badge.buildkite.com/c82093430ceec7d27af05febb9dcafe3aa331fff9d74c0ab9d.svg?branch=main)](https://buildkite.com/chef-oss/chef-chef-main-verify)
[![Gem Version](https://badge.fury.io/rb/chef.svg)](https://badge.fury.io/rb/chef)
-[![](https://img.shields.io/badge/Release%20Policy-Cadence%20Release-brightgreen.svg)](https://github.com/chef/chef/blob/master/docs/dev/design_documents/client_release_cadence.md)
+[![](https://img.shields.io/badge/Release%20Policy-Cadence%20Release-brightgreen.svg)](https://github.com/chef/chef/blob/main/docs/dev/design_documents/client_release_cadence.md)
-**Umbrella Project**: [Chef Infra](https://github.com/chef/chef-oss-practices/blob/master/projects/chef-infra.md)
+**Umbrella Project**: [Chef Infra](https://github.com/chef/chef-oss-practices/blob/main/projects/chef-infra.md)
-**Project State**: [Active](https://github.com/chef/chef-oss-practices/blob/master/repo-management/repo-states.md#active)
+**Project State**: [Active](https://github.com/chef/chef-oss-practices/blob/main/repo-management/repo-states.md#active)
-**Issues [Response Time Maximum](https://github.com/chef/chef-oss-practices/blob/master/repo-management/repo-states.md)**: 14 days
+**Issues [Response Time Maximum](https://github.com/chef/chef-oss-practices/blob/main/repo-management/repo-states.md)**: 14 days
-**Pull Request [Response Time Maximum](https://github.com/chef/chef-oss-practices/blob/master/repo-management/repo-states.md)**: 14 days
+**Pull Request [Response Time Maximum](https://github.com/chef/chef-oss-practices/blob/main/repo-management/repo-states.md)**: 14 days
## Getting Started
@@ -23,7 +23,7 @@ For Chef Infra usage, please refer to [Learn Chef](https://learn.chef.io/), our
Other useful resources for Chef Infra users:
- Documentation: <https://docs.chef.io/>
-- Source: <https://github.com/chef/chef/tree/master>
+- Source: <https://github.com/chef/chef/tree/main>
- Tickets/Issues: <https://github.com/chef/chef/issues>
- Slack: [Chef Community Slack](https://community-slack.chef.io/)
- Mailing list/Forum: <https://discourse.chef.io>
diff --git a/VERSION b/VERSION
index 51e6b2f393..1bb332bc46 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-17.9.30 \ No newline at end of file
+18.0.1 \ 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 4d51682e5c..722d914511 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("..", __dir__)
- VERSION = "17.9.30".freeze
+ VERSION = "18.0.1".freeze
end
#
diff --git a/chef-config/lib/chef-config/version.rb b/chef-config/lib/chef-config/version.rb
index 98b05e9df2..870df843c6 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("..", __dir__)
- VERSION = "17.9.30".freeze
+ VERSION = "18.0.1".freeze
end
diff --git a/chef-utils/lib/chef-utils/version.rb b/chef-utils/lib/chef-utils/version.rb
index 70ce042f18..5128f345e7 100644
--- a/chef-utils/lib/chef-utils/version.rb
+++ b/chef-utils/lib/chef-utils/version.rb
@@ -16,5 +16,5 @@
module ChefUtils
CHEFUTILS_ROOT = File.expand_path("..", __dir__)
- VERSION = "17.9.30"
+ VERSION = "18.0.1"
end
diff --git a/chef.gemspec b/chef.gemspec
index cd815b2535..8b36cef57a 100644
--- a/chef.gemspec
+++ b/chef.gemspec
@@ -35,7 +35,7 @@ Gem::Specification.new do |s|
s.add_dependency "mixlib-authentication", ">= 2.1", "< 4"
s.add_dependency "mixlib-shellout", ">= 3.1.1", "< 4.0"
s.add_dependency "mixlib-archive", ">= 0.4", "< 2.0"
- s.add_dependency "ohai", "~> 17.0"
+ s.add_dependency "ohai", "~> 18.0"
s.add_dependency "inspec-core", "~> 4.23"
s.add_dependency "ffi", ">= 1.5.0"
@@ -70,7 +70,7 @@ Gem::Specification.new do |s|
s.metadata = {
"bug_tracker_uri" => "https://github.com/chef/chef/issues",
- "changelog_uri" => "https://github.com/chef/chef/blob/master/CHANGELOG.md",
+ "changelog_uri" => "https://github.com/chef/chef/blob/main/CHANGELOG.md",
"documentation_uri" => "https://docs.chef.io/",
"homepage_uri" => "https://www.chef.io",
"mailing_list_uri" => "https://discourse.chef.io/",
diff --git a/docs/dev/design_documents/event_handler_recipe_dsl.md b/docs/dev/design_documents/event_handler_recipe_dsl.md
index ec6adbc165..da9d2b09d6 100644
--- a/docs/dev/design_documents/event_handler_recipe_dsl.md
+++ b/docs/dev/design_documents/event_handler_recipe_dsl.md
@@ -4,7 +4,7 @@ Allow cookbook authors to easily add custom logic on Chef events.
## Motivation
-Chef has an extensive [event dispatch mechanism](https://github.com/chef/chef/blob/master/lib/chef/event_dispatch/base.rb).
+Chef has an extensive [event dispatch mechanism](https://github.com/chef/chef/blob/main/lib/chef/event_dispatch/base.rb).
But incorporating some custom logic against any of the events is an onerous process, which involves
subclassing the based event handler and adding it via the config. This RFC
proposes a recipe DSL method to ease this. For new Chef users, this will reduce
diff --git a/docs/dev/design_documents/how_chef_is_tested_and_built.md b/docs/dev/design_documents/how_chef_is_tested_and_built.md
index fda2ac6156..edd0aefbad 100644
--- a/docs/dev/design_documents/how_chef_is_tested_and_built.md
+++ b/docs/dev/design_documents/how_chef_is_tested_and_built.md
@@ -15,14 +15,14 @@ We can't just merge any old change, so we run various checks against your submit
- Unit, functional, and integration tests on all supported Ruby releases. These run on Ubuntu, CentOS and openSUSE so we can make sure our functional / integration tests run on the platforms where users consume Chef Infra.
- Chefstyle Ruby linting
- Unit tests from chef-sugar, chef-zero, cheffish, chefspec, and knife-windows against the chef code in your PR
- - Full Test Kitchen integration tests that covers common Chef usage on various different Linux Distros. Those integration tests run using the kitchen-dokken plugin and the dokken-images Docker containers, which do their best to replicate a real Linux system. You can see exactly what we test here: https://github.com/chef/chef/blob/master/kitchen-tests/cookbooks/end_to_end/recipes/default.rb
+ - Full Test Kitchen integration tests that covers common Chef usage on various different Linux Distros. Those integration tests run using the kitchen-dokken plugin and the dokken-images Docker containers, which do their best to replicate a real Linux system. You can see exactly what we test here: https://github.com/chef/chef/blob/main/kitchen-tests/cookbooks/end_to_end/recipes/default.rb
- **Appveyor**: Buildkite does a great job of testing PRs against Linux hosts, but many rspec tests require a Windows system to run, and for this, we test in Appveyor. In Appveyor, we run our unit, integration, and functional specs against our supported Ruby releases, but this time, we do it on Windows.
## PR is Reviewed and Merged
-Once your pull request passes the above tests, it will need to be reviewed by at least two members of the Chef Infra project owners, approvers, or reviewers groups. For a list of owners, approvers, and reviewers, see https://github.com/chef/chef-oss-practices/blob/master/projects/chef-infra.md. GitHub will automatically assign these groups as reviewers. Reviews will happen ad hoc as members in those groups have time, or during our weekly issue triage. Check the above team doc link for information on when that review takes place.
+Once your pull request passes the above tests, it will need to be reviewed by at least two members of the Chef Infra project owners, approvers, or reviewers groups. For a list of owners, approvers, and reviewers, see https://github.com/chef/chef-oss-practices/blob/main/projects/chef-infra.md. GitHub will automatically assign these groups as reviewers. Reviews will happen ad hoc as members in those groups have time, or during our weekly issue triage. Check the above team doc link for information on when that review takes place.
-Your PR will be reviewed for Chef and Ruby correctness, overall design, and likelihood of impact on the community. We do our best to make sure all the changes made to Chef are high quality and easy to maintain going forward, while also having the lowest chance of negatively impacting our end users. If your PR meets that criteria, we'll merge the change into our master branch.
+Your PR will be reviewed for Chef and Ruby correctness, overall design, and likelihood of impact on the community. We do our best to make sure all the changes made to Chef are high quality and easy to maintain going forward, while also having the lowest chance of negatively impacting our end users. If your PR meets that criteria, we'll merge the change into our main branch.
## Version Bump and Changelog Update
diff --git a/docs/dev/how_to/adding_new_platforms_to_infra.md b/docs/dev/how_to/adding_new_platforms_to_infra.md
index 99a2544710..a2a8e4a01b 100644
--- a/docs/dev/how_to/adding_new_platforms_to_infra.md
+++ b/docs/dev/how_to/adding_new_platforms_to_infra.md
@@ -16,13 +16,13 @@ For major new Linux or Windows distribution releases, you'll want to add these t
Note: Windows builds can't be built on DockerHub and have to be pushed manually from your workstation instead.
-Once you've added the distro to RubyDistros and the image is pushed to DockerHub, you can add that new distro to the `chef/chef` [verify.pipeline.yml](https://github.com/chef/chef/blob/master/.expeditor/verify.pipeline.yml).
+Once you've added the distro to RubyDistros and the image is pushed to DockerHub, you can add that new distro to the `chef/chef` [verify.pipeline.yml](https://github.com/chef/chef/blob/main/.expeditor/verify.pipeline.yml).
#### Kitchen Dokken Images
We utilize the kitchen-dokken Test Kitchen plugin to test the contents of `chef/chef` against various Linux distributions. This works best when run against containers that look more like VMs and less like slim containers. The [dokken-images](https://github.com/test-kitchen/dokken-images) repository defines many Docker images for common Linux distributions. These are all based on the official distro Docker images but contain additional packages to make them behave more like full systems.
-Similar to the RubyDistros setup, these are defined in GitHub and built-in DockerHub. You'll need to be a member of the [dokken DockerHub organization](https://hub.docker.com/orgs/dokken). If you don't have access to that please ask #releng-support to add you. Once you've added a distro to the GitHub repo you can add a new repository to that DockerHub Organization. Make sure to copy the automated builds settings and specify the correct path to the Dockerfile. Once that is complete and the image is pushed to DockerHub you can add the new test to `chef/chef`. You'll need to edit the [kitchen-test/kitchen.yml](https://github.com/chef/chef/blob/master/kitchen-tests/kitchen.yml) file and then add that new platform to the [verify.pipeline.yml](https://github.com/chef/chef/blob/master/.expeditor/verify.pipeline.yml) config.
+Similar to the RubyDistros setup, these are defined in GitHub and built-in DockerHub. You'll need to be a member of the [dokken DockerHub organization](https://hub.docker.com/orgs/dokken). If you don't have access to that please ask #releng-support to add you. Once you've added a distro to the GitHub repo you can add a new repository to that DockerHub Organization. Make sure to copy the automated builds settings and specify the correct path to the Dockerfile. Once that is complete and the image is pushed to DockerHub you can add the new test to `chef/chef`. You'll need to edit the [kitchen-test/kitchen.yml](https://github.com/chef/chef/blob/main/kitchen-tests/kitchen.yml) file and then add that new platform to the [verify.pipeline.yml](https://github.com/chef/chef/blob/main/.expeditor/verify.pipeline.yml) config.
#### Azure Pipelines tests
@@ -40,17 +40,17 @@ With builds in place, we also want to make sure we support this new platform wit
#### chef-utils
-chef-utils provides a large number of helpers for making cookbook authoring simpler. One of the most useful sets of helpers is helpers for platforms and platform families, which will need to be updated if we added new distros. Make sure new platform are supported in `platform.rb` / `platform_family.rb` files in [chef-utils/lib/chef-utils/dsl](https://github.com/chef/chef/tree/master/chef-utils/lib/chef-utils/dsl). In order to test these changes you'll most likely need to update the Fauxhai data. See the section below for instructions on updating that data.
+chef-utils provides a large number of helpers for making cookbook authoring simpler. One of the most useful sets of helpers is helpers for platforms and platform families, which will need to be updated if we added new distros. Make sure new platform are supported in `platform.rb` / `platform_family.rb` files in [chef-utils/lib/chef-utils/dsl](https://github.com/chef/chef/tree/main/chef-utils/lib/chef-utils/dsl). In order to test these changes you'll most likely need to update the Fauxhai data. See the section below for instructions on updating that data.
#### Ohai
-Ohai powers all system configuration detection for Chef Infra Client. New distributions have pretty far-reaching impacts on Ohai and should be evaluated carefully. The most basic task when adding a new distro is to make sure that the platform is properly mapped to the appropriate platform_family value. On Linux systems this is performed in the [Linux Platform Plugin](https://github.com/chef/ohai/blob/master/lib/ohai/plugins/linux/platform.rb).
+Ohai powers all system configuration detection for Chef Infra Client. New distributions have pretty far-reaching impacts on Ohai and should be evaluated carefully. The most basic task when adding a new distro is to make sure that the platform is properly mapped to the appropriate platform_family value. On Linux systems this is performed in the [Linux Platform Plugin](https://github.com/chef/ohai/blob/main/lib/ohai/plugins/linux/platform.rb).
## Additional Ecosystem Updates
### Bento Boxes
-Bento boxes are used by the kitchen-vagrant driver by customers for cookbook testing. When we add a new platform we need to make sure that customers can use it in their testing processes. The [bento repository](https://github.com/chef/bento/) contains packer templates for each platform / platform version, a [builds.yml](https://github.com/chef/bento/blob/master/builds.yml) file which defines the systems to build, and a ruby application which helps with building systems. Bento boxes are generally build for VirtualBox, VMware Fusion, Parallels Desktop, and Hyper-V so you will need both a macOS and Windows system to build all the systems. Once this is complete you can use the `bento upload` command to push these to Vagrant Cloud. You'll need to be added to the Bento Vagrant Cloud org, which #releng-support can assist you with.
+Bento boxes are used by the kitchen-vagrant driver by customers for cookbook testing. When we add a new platform we need to make sure that customers can use it in their testing processes. The [bento repository](https://github.com/chef/bento/) contains packer templates for each platform / platform version, a [builds.yml](https://github.com/chef/bento/blob/main/builds.yml) file which defines the systems to build, and a ruby application which helps with building systems. Bento boxes are generally build for VirtualBox, VMware Fusion, Parallels Desktop, and Hyper-V so you will need both a macOS and Windows system to build all the systems. Once this is complete you can use the `bento upload` command to push these to Vagrant Cloud. You'll need to be added to the Bento Vagrant Cloud org, which #releng-support can assist you with.
### Fauxhai Dumps
diff --git a/docs/dev/how_to/branching_and_backporting.md b/docs/dev/how_to/branching_and_backporting.md
index 8929c926e9..ab601cadba 100644
--- a/docs/dev/how_to/branching_and_backporting.md
+++ b/docs/dev/how_to/branching_and_backporting.md
@@ -2,16 +2,16 @@
## Branch Structure
-We develop and ship the current release of Chef off the master branch of this repository. Our goal is that `master` should always be in a shippable state. Previous stable releases of Chef are developed on their own branches named by the major version (ex: chef-14 or chef-13). We do not perform direct development on these stable branches, except to resolve build failures. Instead, we backport fixes from our master branch to these stable branches. Stable branches receive critical bugfixes and security releases, and stable Chef releases are made as necessary for security purposes.
+We develop and ship the current release of Chef off the `main` branch of this repository. Our goal is that `main` should always be in a shippable state. Previous stable releases of Chef are developed on their own branches named by the major version (ex: chef-16 or chef-15). We do not perform direct development on these stable branches, except to resolve build failures. Instead, we backport fixes from our main branch to these stable branches. Stable branches receive critical bugfixes and security releases, and stable Chef releases are made as necessary for security purposes.
## Backporting Fixes to Stable Releases
-If there is a critical fix that you believe should be backported from master to a stable branch, please follow these steps to backport your change:
+If there is a critical fix that you believe should be backported from main to a stable branch, please follow these steps to backport your change:
1. Ask in the #chef-dev channel on [Chef Community Slack](https://community-slack.chef.io/) if this is an appropriate change to backport.
3. Inspect the Git history and find the `SHA`(s) associated with the fix.
4. Backport the fix to a branch via cherry-pick:
- 1. Check out the stable release branch: `git checkout chef-14`
+ 1. Check out the stable release branch: `git checkout chef-16`
2. Create a branch for your backport: `git checkout -b my_great_bug_backport`
3. Cherry Pick the SHA with the fix: `git cherry-pick SHA`
4. Address any conflicts (if necessary)
diff --git a/docs/dev/how_to/bumping_minor_or_major_versions.md b/docs/dev/how_to/bumping_minor_or_major_versions.md
index 79cfa9075e..b8164ea1bf 100644
--- a/docs/dev/how_to/bumping_minor_or_major_versions.md
+++ b/docs/dev/how_to/bumping_minor_or_major_versions.md
@@ -4,7 +4,7 @@
After performing the monthly minor release of Chef, we should wait several days, and then bump the version for the next month's release. Why wait? We don't want to bump the version until we are sure we do not need to perform an emergency release for a regression. Once we're fairly confident we won't be performing a regression release, we want all new builds for the current channel to have the next month's version. This makes it very clear what version of Chef users are testing within the current channel.
-Bumping for the yearly major release is a bit different. We can bump for the new major release once we create a stable branch for the current major version number. Once this branch and version bump occurs, all development on master will be for the upcoming major release, and anything going into the stable release will need to be backported. See [Branching and Backporting](branching_and_backporting.md) for more information on how we branch and backport to stable.
+Bumping for the yearly major release is a bit different. We can bump for the new major release once we create a stable branch for the current major version number. Once this branch and version bump occurs, all development on main will be for the upcoming major release, and anything going into the stable release will need to be backported. See [Branching and Backporting](branching_and_backporting.md) for more information on how we branch and backport to stable.
See [Bumping The Major Version](bumping_the_major_version.md) for the major version bump process.
diff --git a/docs/dev/how_to/bumping_the_major_version.md b/docs/dev/how_to/bumping_the_major_version.md
index c03663ee37..12d7435dbb 100644
--- a/docs/dev/how_to/bumping_the_major_version.md
+++ b/docs/dev/how_to/bumping_the_major_version.md
@@ -14,7 +14,7 @@ Chef consumes Ohai from GitHub as both a runtime dependency and a testing depend
2. Edit all the GitHub action workflows in .github/workflows/ to point to your new stable branch
-3. On your local machine fork the current master branch to a new stable branch. For example: `git checkout -b 16-stable`.
+3. On your local machine fork the current main branch to a new stable branch. For example: `git checkout -b 16-stable`.
4. Push the branch `git push --set-upstream origin 16-stable`
@@ -27,38 +27,40 @@ Starting from the main branch create a PR which:
## Update chef/chef
-### Prep master branch for forking
+### Prep main branch for forking
-- In ./expeditor/config.yml add the version_constraint for the new branch, update the version_constraint for master to match the new planned major version and add a constraint for the new stable version / branch
+- In ./expeditor/config.yml add the version_constraint for the new branch, update the version_constraint for main to match the new planned major version and add a constraint for the new stable version / branch.
-### Fork Chef master to a stable branch
+### Fork Chef main to a stable branch
-Before bumping the major version of Chef Infra we want to fork off the current master to a new stable branch, which will be used to build hotfix releases. We support the N-1 version of Chef Infra Client for a year after the release of a new major version. For example Chef Infra Client 16 was released in April 2020, at which point Chef Infra Client 15 became the N-1 release. Chef Infra Client 15 will then be maintained with critical bug and security fixes until April 2021.
+Before bumping the major version of Chef Infra we want to fork off the current main to a new stable branch, which will be used to build hotfix releases. We support the N-1 version of Chef Infra Client for a year after the release of a new major version. For example Chef Infra Client 17 was released in April 2021, at which point Chef Infra Client 16 became the N-1 release. Chef Infra Client 16 will then be maintained with critical bug and security fixes until April 2022.
-On your local machine fork the current master branch to a new stable branch. For example: `git checkout -b chef-15` and `git push --set-upstream origin chef-15`, which can then be pushed up to GitHub.
+On your local machine fork the current main branch to a new stable branch. For example: `git checkout -b chef-17` and `git push --set-upstream origin chef-17`, which can then be pushed up to GitHub.
### Create a branch to fixup your new stable branch for release
-Once you've forked to a new stable branch such as `chef-15` you'll want to create a new branch so you can build a PR, which will get this branch ready for release:
+Once you've forked to a new stable branch such as `chef-17` you'll want to create a new branch so you can build a PR, which will get this branch ready for release:
-- In ./expeditor/config.yml remove all the update_dep.sh subscriptions which don't work against stable branches.
-- In readme.md update the buildkite badge to point to the new stable branch image and link instead of pointing to master.
+- In ./expeditor/config.yml remove the update_dep.sh subscriptions which don't work against stable branches such as chefstyle and ohai.
+- In readme.md update the buildkite badge to point to the new stable branch image and link instead of pointing to main.
- In kitchen-tests/Gemfile update the Ohai branch to point to the new Ohai stable
- In kitchen-tests/kitchen.yml update chef_version to be your new stable version and not current. Ex: 15
- In tasks/bin/run_external_test update the ohai branch to point to your new stable ohai branch
- In Gemfile set ohai to pull from the ohai stable branch
-- Run `rake dependencies:update`
+- In Gemfile set cheffish to match the stable release of chef
+- Update .github/dependabot.yml with the new branch
+- Run `rake dependencies:update` to generate a new gemfile.lock
Example PR for Chef 15: https://github.com/chef/chef/pull/9236
-Note: Make sure you're making this PR against the new stable branch and not master!
+Note: Make sure you're making this PR against the new stable branch and not main!
## Bump main for the new major release
Create a PR that performs the following:
- Update the version in the VERSION file
-- Update chef.gemspec to point to the new ohai major release
+- Update `chef.gemspec` and `knife.gemspec` to point to the new ohai major release
- run `rake dependencies:update`
## Update Ohai stable for the Chef stable branch
diff --git a/docs/dev/how_to/releasing_chef_infra.md b/docs/dev/how_to/releasing_chef_infra.md
index b0db85432e..6e6f926395 100644
--- a/docs/dev/how_to/releasing_chef_infra.md
+++ b/docs/dev/how_to/releasing_chef_infra.md
@@ -37,7 +37,7 @@ If there are any new or updated resources, the docs site will need to be updated
Chef employees can promote a build to stable from Slack. This is done with expeditor using a chatops command in the following format:
-`/expeditor promote chef/chef:master 17.1.9`
+`/expeditor promote chef/chef:main 17.1.9`
or for a previous release branch:
diff --git a/docs/dev/license_acceptance.md b/docs/dev/license_acceptance.md
index bb6e8a4e07..6e295c090b 100644
--- a/docs/dev/license_acceptance.md
+++ b/docs/dev/license_acceptance.md
@@ -8,6 +8,6 @@ The overall goal is that the license acceptance flow is invoked as early as poss
execution. Failure to accept the license causes the binary to immediately exit with code `172`.
For an explanation of how this is achieved please see the [Ruby
-README](https://github.com/chef/license-acceptance/tree/master/components/ruby) in the license-acceptance repo. For an
+README](https://github.com/chef/license-acceptance/tree/main/components/ruby) in the license-acceptance repo. For an
overall view of how the license-acceptance gem works, its specification, how marker files are stored, etc. please see
the [repo README](https://github.com/chef/license-acceptance).
diff --git a/knife/knife.gemspec b/knife/knife.gemspec
index d121343211..445ab92b44 100644
--- a/knife/knife.gemspec
+++ b/knife/knife.gemspec
@@ -23,7 +23,7 @@ Gem::Specification.new do |s|
s.add_dependency "license-acceptance", ">= 1.0.5", "< 3"
s.add_dependency "mixlib-cli", ">= 2.1.1", "< 3.0"
s.add_dependency "mixlib-archive", ">= 0.4", "< 2.0"
- s.add_dependency "ohai", "~> 17.0"
+ s.add_dependency "ohai", ">= 17.0", "< 19"
s.add_dependency "ffi", ">= 1.15" # 1.14 versions are broken on i386 windows
s.add_dependency "ffi-yajl", "~> 2.2"
s.add_dependency "net-ssh", ">= 5.1", "< 7"
diff --git a/knife/lib/chef/knife/bootstrap.rb b/knife/lib/chef/knife/bootstrap.rb
index e2b9993e60..01825132b1 100644
--- a/knife/lib/chef/knife/bootstrap.rb
+++ b/knife/lib/chef/knife/bootstrap.rb
@@ -973,7 +973,7 @@ class Chef
# for this. We will also set keys_only to false only if there are keys
# and no password.
# If both are present, train(via net/ssh) will prefer keys, falling back to password.
- # Reference: https://github.com/chef/chef/blob/master/lib/chef/knife/ssh.rb#L272
+ # Reference: https://github.com/chef/chef/blob/main/lib/chef/knife/ssh.rb#L272
opts[:keys_only] = config.key?(:connection_password) == false
else
opts[:key_files] = []
diff --git a/knife/lib/chef/knife/version.rb b/knife/lib/chef/knife/version.rb
index b293723960..b5aef497da 100644
--- a/knife/lib/chef/knife/version.rb
+++ b/knife/lib/chef/knife/version.rb
@@ -17,7 +17,7 @@
class Chef
class Knife
KNIFE_ROOT = File.expand_path("../..", __dir__)
- VERSION = "17.9.30".freeze
+ VERSION = "18.0.1".freeze
end
end
diff --git a/lib/chef/application/exit_code.rb b/lib/chef/application/exit_code.rb
index 4cc579e83a..b912c1d8f6 100644
--- a/lib/chef/application/exit_code.rb
+++ b/lib/chef/application/exit_code.rb
@@ -19,8 +19,8 @@
class Chef
class Application
- # These are the exit codes defined in Chef RFC 062
- # https://github.com/chef/chef-rfc/blob/master/rfc062-exit-status.md
+ # These are the exit codes defined in the exit codes design document
+ # https://github.com/chef/chef/blob/main/docs/dev/design_documents/client_exit_codes.md
class ExitCode
require "chef-utils/dist" unless defined?(ChefUtils::Dist)
@@ -140,7 +140,7 @@ class Chef
def non_standard_exit_code_warning(exit_code)
"#{ChefUtils::Dist::Infra::CLIENT} attempted to exit with a non-standard exit code of #{exit_code}." \
- " The #{ChefUtils::Dist::Infra::PRODUCT} Exit Codes design document (https://github.com/chef/chef-rfc/blob/master/rfc062-exit-status.md)" \
+ " The #{ChefUtils::Dist::Infra::PRODUCT} Exit Codes design document (https://github.com/chef/chef/blob/main/docs/dev/design_documents/client_exit_codes.md)" \
" defines the exit codes that should be used with #{ChefUtils::Dist::Infra::CLIENT}. Chef::Application::ExitCode defines" \
" valid exit codes Non-standard exit codes are redefined as GENERIC_FAILURE."
end
diff --git a/lib/chef/version.rb b/lib/chef/version.rb
index bb09b9a9ee..0e48ae87d8 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("..", __dir__)
- VERSION = Chef::VersionString.new("17.9.30")
+ VERSION = Chef::VersionString.new("18.0.1")
end
#
diff --git a/omnibus/Gemfile.lock b/omnibus/Gemfile.lock
index bc892b1569..52f4f9dbfb 100644
--- a/omnibus/Gemfile.lock
+++ b/omnibus/Gemfile.lock
@@ -1,6 +1,6 @@
GIT
remote: https://github.com/chef/omnibus-software.git
- revision: b6dd27a6456aa6a19bb81e2dd65c8438067b46e9
+ revision: 94ef29b62a6d0a60480a910cddfc01d61b7205d4
branch: main
specs:
omnibus-software (4.0.0)
@@ -33,8 +33,8 @@ GEM
artifactory (3.0.15)
awesome_print (1.9.2)
aws-eventstream (1.2.0)
- aws-partitions (1.544.0)
- aws-sdk-core (3.125.0)
+ aws-partitions (1.546.0)
+ aws-sdk-core (3.125.1)
aws-eventstream (~> 1, >= 1.0.2)
aws-partitions (~> 1, >= 1.525.0)
aws-sigv4 (~> 1.1)
@@ -42,12 +42,12 @@ GEM
aws-sdk-kms (1.53.0)
aws-sdk-core (~> 3, >= 3.125.0)
aws-sigv4 (~> 1.1)
- aws-sdk-s3 (1.110.0)
+ aws-sdk-s3 (1.111.1)
aws-sdk-core (~> 3, >= 3.125.0)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.4)
- aws-sdk-secretsmanager (1.54.0)
- aws-sdk-core (~> 3, >= 3.122.0)
+ aws-sdk-secretsmanager (1.55.0)
+ aws-sdk-core (~> 3, >= 3.125.0)
aws-sigv4 (~> 1.1)
aws-sigv4 (1.4.0)
aws-eventstream (~> 1, >= 1.0.2)
@@ -68,12 +68,12 @@ GEM
solve (~> 4.0)
thor (>= 0.20)
builder (3.2.4)
- chef (17.8.25)
+ chef (17.9.26)
addressable
aws-sdk-s3 (~> 1.91)
aws-sdk-secretsmanager (~> 1.46)
- chef-config (= 17.8.25)
- chef-utils (= 17.8.25)
+ chef-config (= 17.9.26)
+ chef-utils (= 17.9.26)
chef-vault
chef-zero (>= 14.0.11)
corefoundation (~> 0.3.4)
@@ -99,12 +99,12 @@ GEM
train-winrm (>= 0.2.5)
uuidtools (>= 2.1.5, < 3.0)
vault (~> 0.16)
- chef (17.8.25-universal-mingw32)
+ chef (17.9.26-universal-mingw32)
addressable
aws-sdk-s3 (~> 1.91)
aws-sdk-secretsmanager (~> 1.46)
- chef-config (= 17.8.25)
- chef-utils (= 17.8.25)
+ chef-config (= 17.9.26)
+ chef-utils (= 17.9.26)
chef-vault
chef-zero (>= 14.0.11)
corefoundation (~> 0.3.4)
@@ -142,9 +142,9 @@ GEM
win32-taskscheduler (~> 2.0)
wmi-lite (~> 1.0)
chef-cleanroom (1.0.4)
- chef-config (17.8.25)
+ chef-config (17.9.26)
addressable
- chef-utils (= 17.8.25)
+ chef-utils (= 17.9.26)
fuzzyurl
mixlib-config (>= 2.2.12, < 4.0)
mixlib-shellout (>= 2.0, < 4.0)
@@ -152,7 +152,7 @@ GEM
chef-telemetry (1.1.1)
chef-config
concurrent-ruby (~> 1.0)
- chef-utils (17.8.25)
+ chef-utils (17.9.26)
concurrent-ruby
chef-vault (4.1.5)
chef-zero (15.0.11)
@@ -205,7 +205,7 @@ GEM
hashie (4.1.0)
httpclient (2.8.3)
iniparse (1.5.0)
- inspec-core (4.50.3)
+ inspec-core (4.52.9)
addressable (~> 2.4)
chef-telemetry (~> 1.0, >= 1.0.8)
faraday (>= 0.9.0, < 1.5)
@@ -367,7 +367,7 @@ GEM
winrm (~> 2.0)
winrm-elevated (~> 1.0)
winrm-fs (~> 1.1)
- thor (1.1.0)
+ thor (1.2.1)
toml-rb (2.1.0)
citrus (~> 3.0, > 3.0)
tomlrb (1.3.0)