fix: Optionally set provisioning.cattle.io/externally-managed annotation#2176
fix: Optionally set provisioning.cattle.io/externally-managed annotation#2176yiannistri wants to merge 1 commit intorancher:mainfrom
provisioning.cattle.io/externally-managed annotation#2176Conversation
00fc0bc to
56a98da
Compare
There was a problem hiding this comment.
I'm a bit worried about the changes here:
- I think this is a regression of #622 probably leading to registering 2 fleet-agents
- CAAPF is still enabled by default in the providers chart. Having the related Turtles flag off by default creates an inconsistency.
- There is no documentation PR for this new feature.
- There is no e2e test coverage for this new feature.
- Documentation updates are required for this major change, like:
- https://turtles.docs.rancher.com/turtles/stable/en/user/caapf.html
- https://turtles.docs.rancher.com/turtles/stable/en/user/gitops.html
- https://turtles.docs.rancher.com/turtles/stable/en/user/clusterclass.html
- https://github.com/rancher/turtles-product-docs/blob/main/versions/v0.26/modules/en/pages/user/providers.adoc
There was a problem hiding this comment.
1. I think this is a regression of #622 probably leading to registering 2 fleet-agents
As stated in the original issue #2156, this feature and using CAAPF are mutually exclusive and this should be properly documented.
Documentation
There must be proper documentation that informs users of the mutually exclusive nature of these features:
- Default behavior does not support using CAAPF reliably.
- Opting to use CAAPF means that Fleet is no longer managed by Rancher but CAAPF.
One could argue that we had a bug (or a pending change) in Turtles after removing CAAPF from the Turtles chart, since users are no longer getting the Fleet agent installed on their workload clusters.
For any existing user of Turtles+CAAPF (if there are any) that wants to continue using the add-on provider, they should follow the documentation to set the feature gate accordingly.
2. CAAPF is still enabled by default in the providers chart. Having the related Turtles flag off by default creates an inconsistency.
Good catch. This should be disabled by default from now on: only users that explicitly want to use CAAPF should have it installed. #2179
3. There is no documentation PR for this new feature. 4. Documentation updates are required for this major change, like:
This is a valid concern. My suggested approach to documentation here is:
- Document this new feature and the default behavior (including what I mentioned in my response to question 1.).
- Add a note to any example in the documentation that requires CAAPF (technically all of them for now) that the previous point is a requirement to use the add-on provider.
- Progressively we will add new examples that don't rely on CAAPF (and this will probably be given more visibility in the docs) while maintaining the existing CAAPF-specific examples, until the time comes to fully remove them.
Only an idea. Feel free to suggest alternatives.
|
@salasberryfin I believe that everything should be addressed in the same PR. Splitting #2179 is leading to an inconsistent environment. All changes are dependent on each other. Also I don't entirely understand right now the impact of this change on current users. |
Makes sense to me. Can you add this to the current PR @yiannistri?
It's important to note that CAAPF is not removed. Users are free to keep using it (and will be for months) but they will be required to explicitly configure the charts to use the add-on provider:
To increase our confidence on this feature I'm thinking we can extend the existing We have plenty of time until CAAPF is removed to carefully plan a migration strategy for users of CAAPF. |
04afd22 to
2cc2406
Compare
anmazzotti
left a comment
There was a problem hiding this comment.
Removing request for changes to let other people review.
9016989 to
ad1c7a0
Compare
|
#2156 was changed from |
provisioning.cattle.io/externally-managed annotationprovisioning.cattle.io/externally-managed annotation
f34c5e1 to
6e9fc53
Compare
95f1868 to
ee79d2e
Compare
ee79d2e to
1e8488b
Compare
1e8488b to
cae4ac5
Compare
What this PR does / why we need it:
This PR adds a feature gate that controls whether the
provisioning.cattle.io/externally-managedannotation is set in imported clusters. By default, the annotation is not set (disabled) and the user needs to opt-in (enable) in order for the annotation to be added.To test this feature gate, a new test suite was introduced that installs the Providers chart on a new management cluster. The chart has been updated as part of this PR to no longer install CAAPF by default. The test sets the RKE2_CNI env var to
""so that RKE2 defaults to installing Canal as its CNI without relying on CAAPF (usingnonemeans no CNI is installed.Which issue(s) this PR fixes:
Fixes #2156
Fixes #2179
Special notes for your reviewer:
Please also review related docs PR
Checklist: