Bump ignition version to v3.6#58
Conversation
|
Please split the go mod vendor changes into their own commit. See #57 for an example. |
|
Looks like we need to fix #54 first |
|
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>
|
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. |
|
Looks like #61 is missing here. |
To keep the diff between versions and Ignition code smaller.
To keep the diff between versions and Ignition code smaller.
|
Ok, there is a PR fixing #61, once it lands we can rebase this |
prestist
left a comment
There was a problem hiding this comment.
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?
|
|
Hum, maybe this is not a good idea as we need to move the mode bits errors to the 3.6 -> 3.5 translation. |
|
@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. |
|
@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>
| ret.Version = types.MaxVersion.String() | ||
| return | ||
| } | ||
| func translateFileEmbedded1(old old_types.FileEmbedded1) (ret types.FileEmbedded1) { |
There was a problem hiding this comment.
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.
|
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?). |
|
The only case where we'll preserve those in this code base will be once we start translating from 3.7 to 3.6. |
|
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.
|
@travier ok, I thinkk I have updated it appropriately |
travier
left a comment
There was a problem hiding this comment.
Looking good. Thanks. Sorry for the back and forth.
Bump ignition version to v3.6 and add the v36tov35 translater.