-
Notifications
You must be signed in to change notification settings - Fork 524
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
Collector CRD 0.99.0 requires templated conversion webhook #1167
Comments
Also note that |
Related to #677 (comment) |
There's two solutions I can think of:
I'm leaning towards 1, but we can also delay the decision by doing 2 if we don't want to fall behind too much with operator Helm Chart releases. |
If we go with option 2, do we have clear instructions for how they should install the CRDs themselves? I like the end-user experience of option 1. I believe it will work for a majority of users. We'll need to provide clear paths forward for the users who will be affected by the downsides of option 1. |
I could see there being a combination of these. i.e. we add the CRDs in as templates in the operator chart with a very clear path for disabling (or enabling) that. We probably should also provide explicit instructions for installing the CRDs separately and patching them for people who are using the chart in a more advanced setup. At the least, it would be great to include something in the NOTES.txt and the release notes (or README) about this. |
@jaronoff97 do you have availability to implement your idea? |
Note that with 1 we also run into an upgrade problem. If we try to install templated CRDs when non-templated ones are present in the cluster, Helm will complain about missing ownership annotations:
So some level of manual intervention will be necessary regardless. |
Ya this is basically always true for the operator chart since the CRDs are changing frequently.
But after that manual intervention this time, the next time the CRDs change the template will take care of them. Honestly, option 1 will probably make a lot of people happy (until they run into the downsides, which are complex) |
FYI, the two commits I added on top of Pavol's branch here: https://github.com/swiatekm-sumo/opentelemetry-helm-charts/tree/move-crds-to-templates do make it work without a lot of fuss. The upgrade from the previous version still fails though - not sure what the cleanest solution is. Manually adding the Helm annotations to the existing CRD works, but feels like a hack. |
I think like previous CRD changes, users should manually remove the old CRDs and install the new ones. |
That's a destructive operation that will delete their CRs from the cluster. It'd be much better if we could just instruct users to add the required annotations to fool Helm into believing it owns them. |
+1 to @swiatekm-sumo people can just patch with the annotations, we can guide people with the right command there. |
@swiatekm-sumo in your PR is there a reason we're renaming the operator's service? (i.e. from |
I'm no sure patching is better than removing. Users are used to removing CRDs before installing the chart. In my mind it is clear to:
Then during the next release, the user would simply upgrade the operator and it would take care of removing and repapplying the CRDs. |
okay and to confirm – this would also probably assist in resolving the problem I'm having here At the least, if we had a separate chart for the CRs I could install that prior to everything else. |
As a separate install command yes, but I dont believe helm guarantees any subchart installation order, only the Kind installation order you linked earlier. |
|
I would suggest following as a resolution to this ticket:
|
In my opinion, 2 is a no-go, installing Charts in a user chosen namespace is a very basic feature of Helm. |
Im currently in favor of @jaronoff97's idea here: #1167 (comment) |
Created from #1164
The conversion webhook defined in the collector CRD should be templated because it references the operator webhook service which can be dynamically set:
The text was updated successfully, but these errors were encountered: