Repository navigation
Revert "Merge pull request #717 from coreos/update-4.22" - #718
Conversation
There was a problem hiding this comment.
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.
| max: 1.1.0 | ||
| - variant: openshift | ||
| max: 4.22.0 | ||
| max: 4.20.0 |
There was a problem hiding this comment.
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| max: 1.1.0 | ||
| - variant: openshift | ||
| max: 4.22.0 | ||
| max: 4.20.0 |
| * **_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`. |
There was a problem hiding this comment.
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.
|
Let's not just revert but re-add the changes from #717 in this PR as split commits. |
So it's not exactly undoing the stabilization but stabilizing on another version instead. |
For this commit message, let's explicitly link to the full URL for 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).
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:
|
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
|
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
86ab235 to
890b8f9
Compare
prestist
left a comment
There was a problem hiding this comment.
Thank you both for working on this. LGTM.
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
openshift4.22.0 is rolled back to base/v0_6 (Ignition 3.5.0).Changes compared to #717:
docs/upgrading-openshift.mdRevert: Merge pull request #717 from coreos/update-4.22
This reverts commit 10436b9, reversing changes made to 5d1a6d7.
docs: Permissions for
storage.treesnot available in openshift 4.21Extended permissions for
storage.treeswere 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:
storage.treesnot available in openshift 4.22(depends on base/v0_7 & fcos/v1_7, see:
Tree permissions #644)
https://coreos.github.io/ignition/migrating-configs/#from-version-350-to-360)
Fixes: #704
Fixes: https://redhat.atlassian.net/browse/OCPBUGS-90256
internal/doc/butane: Add some notes about support
See: #719