Skip to content
This repository was archived by the owner on Aug 25, 2026. It is now read-only.

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

Merged
prestist merged 4 commits into
coreos:mainfrom
yasminvalim:revert-717-changes
Jun 30, 2026
Merged

prestist merged 4 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).

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

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

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


docs: Permissions for storage.trees not available in openshift 4.21

Extended permissions for storage.trees were added in
#644 to the base 0.7-exp spec.

The openshift 4.21 spec was stabilized on the fcos 1.6 & base 0.6 spec,
thus it did not include support for those. Unfortunately, we missed that
in #674.


openshift/v4_22: Roll back to Ignition spec 3.5.0

OpenShift 4.22's Machine Config Operator does not fully support Ignition
3.6.0 yet (OCPBUGS-90256).

Move v4_22 back to base/v0_6 and fcos/v1_6 and ignition/v3_5.

We are doing this breaking change in a minor release as the stabilized
spec that was released was unfortunately not working and thus there
should be no configuration from this spec in use so far.

What was moved back:

Fixes: #704
Fixes: https://redhat.atlassian.net/browse/OCPBUGS-90256


internal/doc/butane: Add some notes about support

  • Note dependency on base 0.7 for storage.trees permissions
  • Note dependency on external MCO support for GRUB config

See: #719

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 Outdated
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 Outdated
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.

@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?

@travier

travier commented Jun 29, 2026

Copy link
Copy Markdown
Member

undoing the stabilization in #704.

So it's not exactly undoing the stabilization but stabilizing on another version instead.

@travier

travier commented Jun 29, 2026 •

Copy link
Copy Markdown
Member

openshift/v4_22: roll back to Ignition spec 3.5.0

For this commit message, let's explicitly link to the full URL for OCPBUGS-90256:

See: https://redhat.atlassian.net/browse/OCPBUGS-90256

Same note about "undoing" as well.

We may squash the commit "docs: note openshift 4.22.0 Ignition rollback breaking change" with this one as this is a single logical change (the docs changes are part of the code change).


docs: fix storage.trees description for openshift 4.21–4.22

This should be included in the commit that adds the related code change as the docs are automatically generated.

This should reference the PRs/commits where we missed that change.


So I would do this in a different order:

  • Revert (OK as is)
  • First, fix what's incorrect in 4.21 only and explain what we missed and why. Can we figure out a way to not miss it in the future?
  • Then do the 4.22 rollback to 3.5.0. It might be a single commit here in the end that would include notes about all the changes in its description.

@travier travier self-assigned this Jun 29, 2026
Extended permissions for `storage.trees` were added in
coreos#644 to the base 0.7-exp spec.

The openshift 4.21 spec was stabilized on the fcos 1.6 & base 0.6 spec,
thus it did not include support for those. Unfortunately, we missed that
in coreos#674.
OpenShift 4.22's Machine Config Operator does not fully support Ignition
3.6.0 yet (OCPBUGS-90256).

Move v4_22 back to base/v0_6 and fcos/v1_6 and ignition/v3_5.

We are doing this breaking change in a minor release as the stabilized
spec that was released was unfortunately not working and thus there
should be no configuration from this spec in use so far.

What was moved back:
- Permissions for `storage.trees` not available in openshift 4.22
  (depends on base/v0_7 & fcos/v1_7, see:
  coreos#644)
- Remove support for special mode bits (ignition/v3_6, see
  https://coreos.github.io/ignition/migrating-configs/#from-version-350-to-360)

Fixes: coreos#704
Fixes: https://redhat.atlassian.net/browse/OCPBUGS-90256
@travier

travier commented Jun 29, 2026

Copy link
Copy Markdown
Member

I've created #719 to track what is not supported by the MCO and must be removed on each stabilization from the openshift spec.

- Note dependency on base 0.7 for storage.trees permissions
- Note dependency on external MCO support for GRUB config

See: coreos#719
@travier
travier force-pushed the revert-717-changes branch from 86ab235 to 890b8f9 Compare June 29, 2026 19:47
@travier
travier requested a review from prestist June 29, 2026 19:47

@prestist prestist left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Thank you both for working on this. LGTM.

@prestist
prestist merged commit 202e190 into coreos:main Jun 30, 2026
8 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants