-
Notifications
You must be signed in to change notification settings - Fork 442
Add support to disable CAPZ components through a manager flag #5552
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
base: main
Are you sure you want to change the base?
Conversation
/assign @nawazkh |
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #5552 +/- ##
==========================================
- Coverage 53.27% 53.25% -0.02%
==========================================
Files 272 273 +1
Lines 29522 29541 +19
==========================================
+ Hits 15727 15732 +5
- Misses 12980 12994 +14
Partials 815 815 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
This is incorrect. The ASOAPI feature gate only enables controllers for the AzureASOManagedControlPlane and the other AzureASO... resources. This ASO secret controller is necessary for all of the resource types that CAPZ manages with ASO, including resource groups and vnets which are created for every AzureCluster and AzureManagedControlPlane. I suspect that if you disable the ASOAPI feature gate in CI, then all of the e2e tests will blow up, not just the ones exercising the AzureASO... APIs. I think I mentioned somewhere, maybe in #5099 or in a Slack thread related to that PR, that a better solution to this general problem IMO would be a generic toggle to enable or disable individual controllers and webhooks with command line flags. Either something like that, or we explicitly disclaim all support for any installation that is not exactly equivalent to the CRDs and other manifests we publish for releases, since we generally assume the controller manager is running when all of the CRDs are installed. Changing the meaning of existing feature gates isn't a sustainable way to solve the general "I didn't install a CRD and now the controller manager is crashing" problem. |
I agree, fwiw created this some time ago to track that effort #5294 |
Thank you for adding more context on this Jon.
I agree also. We could start with updating manager.yaml with a bunch of env variables that enable different controllers and webhooks. So we essentially close out this PR @bryan-cox ? |
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
/test all |
/test all |
I like the idea of being able to toggle controllers, so green flag from me on this approach. However, we need to ensure that the Management cluster is functional despite turning off controller(maybe all in the future?), so maybe we also incorporate an e2e test to validate the functionality. @bryan-cox , what do you say ? |
This commit adds some minor documentation on how to use the new flag, disable-controllers-or-webhooks. Signed-off-by: Bryan Cox <[email protected]>
What type of PR is this?
/kind bug
What this PR does / why we need it:
Adds the ability to disable CAPZ components through a manager flag. Flags added for disabling ASO Secret Controller and disabling Azure JSON Machine Controller.
Which issue(s) this PR fixes:
Fixes #5472
Special notes for your reviewer:
TODOs:
Release note: