Butane merge v2 - #2235
Butane merge v2#2235
Conversation
Sync repo templates ⚙
Sync repo templates ⚙
- Use "layout" in the context path for errors related to the layout entry in the boot_device configuration. - Add tests for those error cases. - Refactor mirror boot_device check for s390x. Fixes: coreos/butane#484
For fcos 1.6.0-exp & openshift 4.18.0-exp specs, expected to be based on stable 3.5.0 spec. See: coreos#1693 See: coreos/fedora-coreos-tracker#1708
add: Support LUKS encryption using IBM CEX secure keys on s390x
Sync repo templates ⚙
Ignition spec bump
Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.9.0 to 1.10.0. - [Release notes](https://github.com/stretchr/testify/releases) - [Commits](stretchr/testify@v1.9.0...v1.10.0) --- updated-dependencies: - dependency-name: github.com/stretchr/testify dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
Stablize fcos v1_6, base v0_6, and bump all other exp to latest
Dockerfile: update to Fedora 41
Rewrite all internal Butane import paths from github.com/coreos/butane/ to github.com/coreos/ignition/v2/butane/ so that Butane's code is part of the single Ignition Go module. Add github.com/clarketm/json as a new dependency required by Butane, and bump go-systemd to v22.7.0. Also fix stray ')' in license headers across Butane files.
Teach Ignition's config parser to accept Butane YAML configs in addition to Ignition JSON. Parse() now tries Ignition JSON first and, on failure, attempts to transpile the input as a Butane config using the integrated butane/ library. This allows users to provide Butane configs directly to instances without a separate transpilation step. Key design decisions: - JSON is tried first for zero behavioral change on existing configs - On both failures, the original Ignition error is returned - source: local properly errors since FilesDir is unavailable at boot - OpenShift variant configs produce MachineConfig YAML which fails Ignition parsing, as those configs go through MCO Related: coreos/fedora-coreos-tracker#2006
- build: Source butane/build to produce butane binary, restore CGO_ENABLED=1 - butane/build: Use module path, accept VERSION from parent - test: Add butane/ to license header check paths - Makefile: Install butane binary to /usr/bin - config: Add unit tests for Butane YAML parsing - config: Use DeserializeOptions (go-systemd v22.7.0) - butane: Fix errcheck lint issues - butane: Remove TMT tests (conflict with ignition TMT discovery)
Remove Butane test cases that reference ErrZeroesWithShouldNotExist, a validation that was deliberately removed from Ignition in commit 76f869a (stages/disks: Allow deleting a partition while creating number 0). The validation was originally present in Ignition but was removed because partition numbers are now resolved to their final values, making the check unnecessary. Butane's vendored copy of Ignition still had this validation, but after merging into Ignition proper, the test cases reference the real errors package which no longer defines this constant.
Adapt the build script to match the subcommand format introduced in coreos#2239. The butane build is now a subcommand (./build butane) instead of being sourced from butane/build. Add butane and butane-cross targets to the Makefile, and add butane to the install target. Also fix the binary-size CI workflow to use make for both PR and base builds, since ./build now requires a subcommand argument.
468a47b to
23a388b
Compare
|
|
||
| ### Changes | ||
|
|
||
| - Merge Butane config transpiler into the Ignition repository; the `butane` CLI is now built from the Ignition source tree ([#2235](https://github.com/coreos/ignition/pull/2235)) |
There was a problem hiding this comment.
CI is not seeing this change, overriding it for this PR. I think its not able to handle this many commits.
|
LGTM |
|
Do we still need Otherwise it LGTM. I don't love the "On both failures, the original Ignition error is returned", but I should have brought that up for discussion during the change proposal. |
Remove butane/build since the butane binary is now built via the top-level ./build butane subcommand. Having two build paths for the same binary is confusing and the standalone script is no longer referenced by any CI, Makefile, or build pipeline.
|
Ah yes dead code, good catch @Rolv-Apneseth (removed). I think regarding the original ignition error being returned we can revisit that later. This is not frozen code if it becomes and issue. |
The butane repository has been archived and merged into ignition (coreos/ignition#2235). Remove butane from all template metadata files so the sync workflow no longer attempts to open PRs against the archived repo.
The butane repository has been archived and merged into ignition (coreos/ignition#2235). Remove butane from all template metadata files so the sync workflow no longer attempts to open PRs against the archived repo.
…ase scripts Butane has been merged into the Ignition repository (coreos/ignition#2235). Update the signing-ticket template to support multiple signing targets so the ignition signing ticket handles both ignition-validate and butane redistributable RPMs in a single ticket. Remove butane from signing-ticket.yaml and tag_release.yaml since butane releases are now part of the ignition release process. Closes coreos/ignition#2254
|
In https://github.com/coreos/ignition/blob/958b26570b0d54f463f87c7cf5ed8751eda7f703/butane/README.md, it now says “This repository has been archived”. That’s appropriate for the original location, but I suppose now that everything has been merged here, the readme needs to be updated. |
The implementation is broken into six commits; reproducible via a shell script (https://gist.github.com/prestist/c3bfc2f3e2050b2d63a2ebb0f64bd066):