Skip to content

Revert "Merge pull request #717 from coreos/update-4.22"#718

Open
yasminvalim wants to merge 5 commits into
coreos:mainfrom
yasminvalim:revert-717-changes
Open

Revert "Merge pull request #717 from coreos/update-4.22"#718
yasminvalim wants to merge 5 commits into
coreos:mainfrom
yasminvalim:revert-717-changes

Conversation

@yasminvalim

@yasminvalim yasminvalim commented Jun 26, 2026

Copy link
Copy Markdown
Contributor

Summary

Re-applies the OpenShift 4.22.0 rollback from #717, split into separate commits per review feedback on that PR.
OCP 4.22's Machine Config Operator does not support Ignition 3.6.0 (OCPBUGS-90256), so openshift 4.22.0 is rolled back to base/v0_6 (Ignition 3.5.0), undoing the stabilization in #704.

Changes compared to #717:

  • Split into 4 commits (rollback, trees doc fix, setuid transform, breaking-change docs)
  • Document the rollback under Breaking changes instead of Misc
  • Add upgrading guidance in docs/upgrading-openshift.md
  • Fix storage.trees docs for 4.21–4.22 without changing the butane.yaml trees transform bounds

This reverts commit 10436b9, reversing changes made to 5d1a6d7.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates the OpenShift v4.22 configuration to target Ignition spec 3.6.0 (upgraded from 3.5.0) and FCOS v1.7 (upgraded from v1.6), including corresponding updates to tests and documentation. The review feedback correctly identifies that in internal/doc/butane.yaml, the maximum version for OpenShift should be set to 4.21.0 instead of 4.20.0 for directory tree properties. Setting it to 4.20.0 causes the auto-generated documentation for OpenShift v4.21.0 to incorrectly claim support for file_mode and dir_mode, which are not supported in that version.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

Comment thread internal/doc/butane.yaml
max: 1.1.0
- variant: openshift
max: 4.22.0
max: 4.20.0

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The max version for openshift here should be 4.21.0 instead of 4.20.0.

OpenShift 4.21.0 uses FCOS 1.6.0 (which is based on Butane base v0_6). Since file_mode and dir_mode support for directory trees was only introduced in FCOS 1.7.0 (Butane base v0_7), OpenShift 4.21.0 does not support these fields.

Setting max: 4.20.0 causes the documentation for OpenShift 4.21.0 (docs/config-openshift-v4_21.md) to incorrectly state that ownership and custom modes can be specified for trees, even though the fields are not present in the schema.

                  max: 4.21.0

Comment thread internal/doc/butane.yaml
max: 1.1.0
- variant: openshift
max: 4.22.0
max: 4.20.0

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

For consistency with the tree description transform, the max version for openshift here should also be updated to 4.21.0 since dir_mode is unsupported in OpenShift 4.21.0.

                      max: 4.21.0

Comment thread docs/config-openshift-v4_21.md Outdated
* **_cex_** (object): describes the IBM Crypto Express (CEX) card configuration for the luks device.
* **_enabled_** (boolean): whether or not to enable cex compatibility for luks. If omitted, defaults to false.
* **_trees_** (list of objects): a list of local directory trees to be embedded in the config. Symlinks must not be present. Ownership is not preserved. File modes are set to 0755 if the local file is executable or 0644 otherwise. File attributes can be overridden by creating a corresponding entry in the `files` section; such entries must omit `contents`.
* **_trees_** (list of objects): a list of local directory trees to be embedded in the config. Symlinks must not be present. Ownership, file modes (using `file_mode`) and directories modes (using `dir_mode`) can be specified for the tree. If not specified, ownership is not preserved and file modes are set to 0755 if the local file is executable or 0644 otherwise. File attributes can be overridden by creating a corresponding entry in the `files` section; such entries must omit `contents`.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

This file is automatically generated from internal/doc/butane.yaml. The change here incorrectly documents file_mode and dir_mode support for OpenShift 4.21.0, which is not supported because 4.21.0 uses FCOS 1.6.0 (Butane base v0_6).

Please do not edit this file manually; instead, update internal/doc/butane.yaml by setting max: 4.21.0 for openshift in the relevant transforms, and then regenerate the documentation.

@travier

travier commented Jun 26, 2026

Copy link
Copy Markdown
Member

Let's not just revert but re-add the changes from #717 in this PR as split commits.

OCP 4.22's Machine Config Operator does not support Ignition 3.6.0 (OCPBUGS-90256). Revert v4_22 to base/v0_6 (Ignition 3.5.0, undoing the stabilization in coreos#704).
Correct generated docs that still advertised file_mode and dir_mode on storage.trees. Both specs use base/v0_6, which only supports local and path on Tree. The v4_21 doc was missed at stabilization; v4_22 inherited the same incorrect description.
The setuid/setgid/sticky bits are not supported doc transform applied to
4.22.0, but v4_22 now targets Ignition 3.5.0. Transform to 4.23.0-experimental.
Document that 4.22.0 now targets Ignition 3.5.0 instead of 3.6.0, with references to the stabilization (coreos#704) and the MCO limitation (OCPBUGS-90256).
@yasminvalim

Copy link
Copy Markdown
Contributor Author

@travier @prestist CI fails on ./generate because the manual storage.trees doc fix gets reverted while butane.yaml still has max: 4.20.0. It only passes with max: 4.22.0. Should we bump the transform to 4.22.0, or keep the manual doc edits?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants