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

Container Linux migration tools #48

Closed
dm0- opened this issue Sep 12, 2018 · 7 comments
Closed

Container Linux migration tools #48

dm0- opened this issue Sep 12, 2018 · 7 comments

Comments

@dm0-
Copy link

dm0- commented Sep 12, 2018

The Container Linux distro currently has a planned EOL in 2020, and users will need to migrate to Fedora CoreOS to remain supported. We'll need to decide on what tooling can be built to automate parts of the transition, and document the differences to make the migration is as painless as possible.

@ajeddeloh
Copy link
Contributor

Tools we will need:

  • Ignition 2.x -> 3.0.0 "best effort" translator: Perfect translation between Ignition spec 2.x and 3.0.0 is not possible for all cases, but we can get 95% of the way there. At bare minimum we'll want a tool that does a mechanical translation and ignores weird edge cases. We may also want it to try to detect differences between the OSs it targets and make recommendations (e.g. path x/y/z on CL is a/b/c on FCOS, consider changing that) or that automatically makes those changes.
  • CLC -> FCOSC "best effort" translator: Similar to how perfect translation for Ignition is not possible, perfect translation for CLCs is not possible. However we can do better than with Ignition since the higher level sugar can stay the same between OSs (just will result in different Ignition configs).

Things we should not build:

  • CLC -> Ignition 3.0.0 tool. Use the CLC->FCOSC tool then FCOSCT to generate Ignition 3.0.0.

@bgilbert
Copy link
Contributor

Should we provide a best-effort translator for CL cloud-configs? There appears to still be a significant userbase.

@ajeddeloh
Copy link
Contributor

I'm less inclined to support that because:

  1. Cloud configs tend to have hacks to work around the limitations of coreos-cloudinit. This means we wouldn't be able to do as good a job.
  2. It'd be somewhat of an attractive nuisance to upstream cloudinit users

@bgilbert
Copy link
Contributor

FWIW, the FAQ apparently says that we'll provide "tooling to help convert existing cloud-configs and Ignition configs for use on Fedora CoreOS".

@ajeddeloh
Copy link
Contributor

That's... less than ideal, but I still think we ought to not. At most just build a tool that knows how to translate very specific sections and fail/not convert others. The CLC->FCOSC and Ignition 2.x->3.0.0 converters are much higher priority imo.

@bgilbert bgilbert added this to Proposed in Fedora CoreOS preview via automation Jan 22, 2019
@bgilbert
Copy link
Contributor

bgilbert commented Mar 9, 2019

Spinning out the docs portion to #159 so this issue can focus on tooling.

@bgilbert bgilbert changed the title Container Linux migration tools and documentation Container Linux migration tools Mar 9, 2019
@bgilbert bgilbert added this to Proposed in Fedora CoreOS stable via automation May 24, 2019
@bgilbert bgilbert moved this from Proposed to Selected in Fedora CoreOS stable May 24, 2019
@bgilbert bgilbert removed this from Proposed in Fedora CoreOS preview May 24, 2019
@bgilbert
Copy link
Contributor

bgilbert commented Sep 9, 2021

Closing as moot.

@bgilbert bgilbert closed this as completed Sep 9, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
No open projects
Development

No branches or pull requests

4 participants