-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Ignition v3.x support #9157
Comments
This issue is currently awaiting triage. If CAPI contributors determines this is a relevant issue, they will accept it by applying the The Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
/priority important-soon |
I've been looking into this a little and concluded that resolving this should be relatively straight forward, at least, on the providers side. Looking at AWS as an example. The only thing it does for ignition is to upload the existing ignition data to s3 and then create a stub ignition which points to the s3 bucket. There are minor differences between v2 and v3, but, it's not hard to create a switch and support this by importing both the v2 and v3 types. For kubeadm this may be a little bit more involved. Does anyone know about the flatcar ignition fork vs the coreos ignition? I was looking at both today and as far as I can tell they are API compatible, but the coreos fork seems to be more active at the moment? |
The PR addressing this issue is currently waiting on progress with #5294 see #9158 (comment) for more details |
I think @pothos might know the answer. |
The forked repo is only used by Flatcar LTS. Flatcar Stable uses the CoreOS upstream repo (with some downstream patches to also support Ignition spec v2). |
Thanks @pothos, based on that, I think we should make sure we move back to the upstream coreos repo to import the types rather than using the forks, thanks for the context |
We should consider this ☝️ in the context of #5294. |
The Kubernetes project currently lacks enough contributors to adequately respond to all issues. This bot triages un-triaged issues according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /lifecycle stale |
/remove-lifecycle stale |
The Kubernetes project currently lacks enough contributors to adequately respond to all issues. This bot triages un-triaged issues according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /lifecycle stale |
/remove-lifecycle stale |
waite this feature) |
FYI Not really sure about what will be the next steps here (even if we keep the issue around) |
Just a note, I think since I last commented here we added ignition 3.x support to CAPA. We are not users of the KubeADM provider but may be able to help with implementation guidance if one of the existing users wants to work on it. |
Hi, Was there any further discussion about taking this forward in slack or CAPI meeting? interested in getting this feature added to CAPI. |
Hi, since the roadmap and timeline of #5294 is not clear, would the community consider revisiting merging #9158? Being stuck with Ignition v2 for another year or two means:
FWIW CAPBK should switch to Ignition v3 by default and base any other redesign work on it. |
In the past a similar decision in this area did not lead to the expected results (see #9157 (comment)) Considering this, and the current bandwidth of the folks actively maintaining the project, I'm personally -1 to continue down the current path just because there are not enough people investing on this feature and in paying down the technical debt related to it. |
@fabriziopandini |
@fabriziopandini Flatcar would be interested in picking up maintenance and also investigate Ignition v3 support. However, a past requirement for introducing new features like v3 support was to re-write the whole bootstrap provider for clearer separation (see #5294) . That's too much for us considering it touches quite a few non-ignition related parts of the code base. If that's not a blocker anymore we'd be happy to look into supporting the Ignition feature. |
Unfortunately, we are in this uncomfortable spot because we did not invested at the beginning, and I really want to get out from this situation. But adding on top of what we have today IMO is not a viable path. I think we should get back to the original need: "I want to reuse some code from CABPK & KCP" and find better ways to address this, and most important quoting our manifest, "without increasing operational and conceptual complexity for Cluster API’s users." . |
I share your concerns - but we don't actually want to add on top. We just want to keep ignition support up to date. Deprecated bits (like v2 support) would be removed. This is much more maintenance work than it is adding a feature. |
If no one is willing to pay down the tech debt, I'm -1 to keep going with what we have now. I understand this might seem too much for PoV of the occasional contributor, but from the PoV of core maintainers, the amount of feature not properly taken care of is getting too much, and WRT to ignition there was prior discussions and decisions we should respect. |
What would you like to be added (User Story)?
As a user I would like to bootstrap Flatcar & FCOS with Ignition v3.x as Ignition v2.x doesn't work with FCOS and is only required for flatcar LTS release.
Detailed Description
The current implementation (Container Linux Config aka clc) is used when setting
format
to "ignition" inKubeadmConfigSpec
.To be able to support both v2.x & v3.x, a new field needs to be added to know which transpiler should be used:
Like in the current implementation, an additional butane config may be provided to extend/override the generated Ignition config.
Anything else you would like to add?
This issue follows this slack conversation: https://kubernetes.slack.com/archives/C8TSNPY4T/p1688643597808979
Label(s) to be applied
/kind feature
/area bootstrap
/area provider/bootstrap-kubeadm
The text was updated successfully, but these errors were encountered: