-
Notifications
You must be signed in to change notification settings - Fork 170
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
feat: specify node for rebuild instance ops #8151
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #8151 +/- ##
==========================================
+ Coverage 61.11% 61.56% +0.45%
==========================================
Files 359 360 +1
Lines 41299 41786 +487
==========================================
+ Hits 25240 25726 +486
+ Misses 13812 13792 -20
- Partials 2247 2268 +21
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
I suspect there's a potential data race in this implementation: The rebuild workflow adds an annotation to the InstanceSet and then deletes the pod, prompting the InstanceSet to recreate the pod. The InstanceSet controller clears the annotation after determining that the pod has been created. If the InstanceSet controller enters reconciliation and completes successfully before the rebuild workflow deletes the pod (which is possible because the InstanceSet CR's annotation has been modified), the annotation would be cleared prematurely (since the pod hasn't been deleted yet), causing this feature to fail. I suggest that only clear the annotation of a pod if |
/cherry-pick release-0.9 |
🤖 says: Error cherry-picking. |
🤖 says: |
Note: I add nodeSelector to pod in a way that won't affect pod's revision hash, because adding nodeSelector happens after calculating hash.