Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[RFE] Drop ct support from Mantle #1386

Open
tormath1 opened this issue Mar 5, 2024 · 2 comments
Open

[RFE] Drop ct support from Mantle #1386

tormath1 opened this issue Mar 5, 2024 · 2 comments

Comments

@tormath1
Copy link
Contributor

tormath1 commented Mar 5, 2024

Current situation

While ct is deprecated and not used anymore (even LTS can support Ignition 3 now) - we might be interested to drop ct from Mantle to only use Butane.

Impact

Scaleway test suite can't be implemented without hacks as Mantle flight relies on ct platform -> we can use a ctplatform.Custom but we need then to implement some logic to convert the Scaleway metadata to the expected "custom" format.

Ideal future situation

No more ct configuration inside Mantle, everything relies on Butane or raw Ignition.

Implementation options

  1. Remove ctplatform dependency from ctplatform
  2. Rewrite ct configuration to butane configuration (git grep ContainerLinuxConfig)

See also: coreos/coreos-assembler@f0e4985

@jepio
Copy link
Member

jepio commented Mar 5, 2024

Scaleway test suite can't be implemented without hacks as Mantle flight relies on ct platform -> we can use a ctplatform.Custom but we need then to implement some logic to convert the Scaleway metadata to the expected "custom" format.

Can you link to some code? I don't understand what ctplatform and why it would require hacks to support scaleway.

If we remove ct from mantle we can't be sure that we won't break users who still have old ignition configs. I'm sure they haven't migrated.

@tormath1
Copy link
Contributor Author

tormath1 commented Mar 5, 2024

If we remove ct from mantle we can't be sure that we won't break users who still have old ignition configs. I'm sure they haven't migrated.

In this case, we can replace container linux configuration by raw Ignition v2 configuration in our codebase - it won't impact the test coverage.

ctplatform is the Container Linux platform used during Ignition transpile (as ct is not platform agnostic): https://github.com/flatcar/mantle/blob/eb48031bb90fb147d24b534632a58d6a1d02f39e/platform/flight.go#L55

This is the kind of "hack" we have to do if we want to test platform not supported in CT: https://github.com/flatcar/mantle/blob/eb48031bb90fb147d24b534632a58d6a1d02f39e/platform/machine/esx/cluster.go#L85-L97 except that in our case metadata are already fetched by Afterburn.

hack: flatcar/mantle@2f31317#diff-ab022fe37ee07f3a3ea59dbe5a38076c9bbd7a02316ec29ca95a28a526b0131eR31-R38

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: 📝 Needs Triage
Development

No branches or pull requests

2 participants