Skip to content

Bump ignition version to v3.6#58

Merged
travier merged 8 commits into
coreos:mainfrom
fangge1212:v36tov35
Apr 8, 2026
Merged

Bump ignition version to v3.6#58
travier merged 8 commits into
coreos:mainfrom
fangge1212:v36tov35

Conversation

@fangge1212

Copy link
Copy Markdown
Contributor

Bump ignition version to v3.6 and add the v36tov35 translater.

@travier

travier commented Mar 25, 2026

Copy link
Copy Markdown
Member

Please split the go mod vendor changes into their own commit. See #57 for an example.

@travier

travier commented Mar 25, 2026

Copy link
Copy Markdown
Member

Looks like we need to fix #54 first

@travier

travier commented Mar 27, 2026

Copy link
Copy Markdown
Member

Hum, I still vendor changes in the second commit. I'll re-split that.

Signed-off-by: Fangge Jin <fjin@redhat.com>
Signed-off-by: Fangge Jin <fjin@redhat.com>
@travier

travier commented Mar 27, 2026

Copy link
Copy Markdown
Member

I did the re-split but now I don't understand the diff between the v3.6 to v3.5 and the v3.5 to v3.4 files.

@travier

travier commented Mar 27, 2026

Copy link
Copy Markdown
Member

I did the re-split but now I don't understand the diff between the v3.6 to v3.5 and the v3.5 to v3.4 files.

Ah, I was diffing the wrong files. I should diff with the files from Ignition.

@travier

travier commented Mar 27, 2026

Copy link
Copy Markdown
Member

Looks like #61 is missing here.

travier added 4 commits March 27, 2026 15:48
To keep the diff between versions and Ignition code smaller.
To keep the diff between versions and Ignition code smaller.
@travier travier requested review from prestist and yasminvalim March 27, 2026 14:51
@prestist

Copy link
Copy Markdown
Contributor

Ok, there is a PR fixing #61, once it lands we can rebase this

@prestist prestist left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Thank you for working on this; the changes do lgtm. Did we want to rebase my changes directly into this pr or have them land separately and then rebase?

@travier

travier commented Apr 1, 2026

Copy link
Copy Markdown
Member

Let's merge the mode fixes first and then rebase this one.

@travier

travier commented Apr 1, 2026

Copy link
Copy Markdown
Member

Let's merge the mode fixes first and then rebase this one.

Hum, maybe this is not a good idea as we need to move the mode bits errors to the 3.6 -> 3.5 translation.

@prestist

prestist commented Apr 1, 2026

Copy link
Copy Markdown
Contributor

@travier did you want me to just add it to this pr?

@travier

travier commented Apr 1, 2026

Copy link
Copy Markdown
Member

@travier did you want me to just add it to this pr?

Yes, in the end I think it will be easier to review if we do it here as we need to update the check for older releases and move the old check to the new ones.

@prestist

prestist commented Apr 6, 2026

Copy link
Copy Markdown
Contributor

@travier I will work on this now

Previously, the v34tov33 translator would error if special mode bits
(setuid/setgid/sticky) were present in file or directory modes. This
prevented down-translation of valid v3.4 configs.

The translator already had the correct logic to mask out special mode
bits during translation (since v3.3 doesn't support them), but the
validation was preventing that code from running.

This fix removes the validation checks and allows the translation to
proceed, with special mode bits being masked out as intended.

Fixes coreos#61

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Comment thread translate/v35tov34/v35tov34.go Outdated
ret.Version = types.MaxVersion.String()
return
}
func translateFileEmbedded1(old old_types.FileEmbedded1) (ret types.FileEmbedded1) {

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I think this should be in 3.6 to 3.5 as we re-added support in 3.6 so we should mask things when down-translating from that.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Agha thank you

@travier

travier commented Apr 7, 2026

Copy link
Copy Markdown
Member

Maybe we should also update the tests for all versions below 3.6 to always check that the bits are masked (this should be done by ignition but just in case?).

@travier

travier commented Apr 7, 2026

Copy link
Copy Markdown
Member

The only case where we'll preserve those in this code base will be once we start translating from 3.7 to 3.6.

@travier

travier commented Apr 7, 2026

Copy link
Copy Markdown
Member

Arg, my bad, I think I mixed things up again. We should fail when downtranslating with those bits from 3.6 to 3.5, just like the previous code was doing. But all other version should mask them.

Add validation to ensure that special mode bits (setuid/setgid/sticky)
are rejected when down-translating from v3.6 to v3.5.

v3.6 has correct special mode bit support, but v3.5 and earlier have
broken support. We should fail translation rather than silently mask
the bits and break working functionality.

Other translations (v3.4→v3.3) still mask the bits since they were
already broken in v3.4.
@prestist

prestist commented Apr 7, 2026

Copy link
Copy Markdown
Contributor

@travier ok, I thinkk I have updated it appropriately

@travier travier left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Looking good. Thanks. Sorry for the back and forth.

@travier travier merged commit 67a0a34 into coreos:main Apr 8, 2026
2 checks passed
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.

3 participants