Flatcar icon indicating copy to clipboard operation
Flatcar copied to clipboard

[RFE] Drop `ct` support from Mantle

Open tormath1 opened this issue 1 year ago • 2 comments

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: https://github.com/coreos/coreos-assembler/commit/f0e49857931dec827992903c7b335fa9830fb0b9

tormath1 avatar Mar 05 '24 16:03 tormath1

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.

jepio avatar Mar 05 '24 16:03 jepio

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: https://github.com/flatcar/mantle/pull/501/commits/2f3131756616423a2d457ab26d339ab0ae049574#diff-ab022fe37ee07f3a3ea59dbe5a38076c9bbd7a02316ec29ca95a28a526b0131eR31-R38

tormath1 avatar Mar 05 '24 16:03 tormath1