OCPBUGS-47508: Add max-concurrent-reconciles flag to machine actuator - #195
Conversation
|
@RadekManak: This pull request references Jira Issue OCPBUGS-47508, which is invalid:
Comment The bug has been updated to refer to the pull request using the external bug tracker. DetailsIn response to this:
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 openshift-eng/jira-lifecycle-plugin repository. |
WalkthroughThe manager adds a ChangesController concurrency configuration
Estimated code review effort: 2 (Simple) | ~5 minutes Suggested reviewers: 🚥 Pre-merge checks | ✅ 14 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (14 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
Allow the machine-controller to raise MaxConcurrentReconciles via flag, matching Azure and GCP providers.
910a271 to
1dccc61
Compare
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@cmd/manager/main.go`:
- Around line 113-117: After flag.Parse(), validate the value referenced by
maxConcurrentReconciles and fail fast unless it is at least 1. Reject zero and
negative --max-concurrent-reconciles inputs before starting the manager, rather
than relying on controller-runtime’s coercion.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository: openshift/coderabbit/.coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: fb8d805f-97c3-4e6d-b94d-f24676b1f1d5
📒 Files selected for processing (1)
cmd/manager/main.go
|
/jira refresh |
|
@RadekManak: This pull request references Jira Issue OCPBUGS-47508, which is valid. The bug has been moved to the POST state. 3 validation(s) were run on this bug
Requesting review from QA contact: DetailsIn response to this:
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 openshift-eng/jira-lifecycle-plugin repository. |
|
@openshift-ci-robot: GitHub didn't allow me to request PR reviews from the following users: sunzhaohua2. Note that only openshift members and repo collaborators can review this PR, and authors cannot review their own PRs. DetailsIn response to this:
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-sigs/prow repository. |
|
/retest |
damdo
left a comment
There was a problem hiding this comment.
/approve
@RadekManak have we ran some testing with higher concurrency count in CI?
|
@damdo I want to request perfscale team to rerun the 2000 machine scale-up after all 3 PR linked to this bug merge. I am confident this change is safe. I am proposing we merge this with e2e only. openshift/machine-api-operator#1521 PR actually sets this to concurrency=10 |
|
This PR adds only a flag that is not set yet and defaults to 1. |
|
@RadekManak: This PR has been marked as verified by DetailsIn response to this:
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 openshift-eng/jira-lifecycle-plugin repository. |
|
@RadekManak: Overrode contexts on behalf of RadekManak: ci/prow/e2e-aws-serial-2of2 DetailsIn response to this:
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-sigs/prow repository. |
Fine with that, but if the perfscale tests report issues WRT races I expect this will get reverted before branching. Thanks |
|
/approve |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: damdo, mdbooth The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
@RadekManak: all tests passed! Full PR test history. Your PR dashboard. DetailsInstructions 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-sigs/prow repository. I understand the commands that are listed here. |
|
@RadekManak: Jira Issue OCPBUGS-47508: Some pull requests linked via external trackers have merged: The following pull request, linked via external tracker, has not merged: All associated pull requests must be merged or unlinked from the Jira bug in order for it to move to the next state. Once unlinked, request a bug refresh with Jira Issue OCPBUGS-47508 has not been moved to the MODIFIED state. This PR is marked as verified. If the remaining PRs listed above are marked as verified before merging, the issue will automatically be moved to VERIFIED after all of the changes from the PRs are available in an accepted nightly payload. DetailsIn response to this:
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 openshift-eng/jira-lifecycle-plugin repository. |
Summary
Add
--max-concurrent-reconciles(default1) and pass it throughmachine.AddWithActuatorOptsinto controller-runtimeMaxConcurrentReconciles, matching Azure and GCP.What was checked
Thread-safety / concurrency skim of MAPA paths that matter at
MaxConcurrentReconciles=10:regionCacheissync.RWMutex-guarded; shared-credentials file construction is mutexedRunInstances(idempotency guard); same Machine cannot double-create under key serializationResidual ops risk is normal EC2 API pressure/throttling under large waves (same class of risk Azure/GCP already accept at concurrency 10), not memory unsafety.
Summary by CodeRabbit