Skip to content

fix: prevent maxUnavailable 100% / maxSurge 0 rollout stalls - #1269

Merged
keynslug merged 6 commits into
main-3.xfrom
fix/rollout/no-surge-stall
Sep 18, 2026
Merged

keynslug merged 6 commits into
main-3.xfrom
fix/rollout/no-surge-stall

Conversation

@keynslug

@keynslug keynslug commented Sep 17, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

This PR addresses a subtle rollout edge case that may prevent replicant rollouts from finishing when:

  • Rollout uses maxUnavailable = 100% or a number with the same effect.
  • Rollout maxSurge is 0.
  • No new replicant pod yet.

Also, a couple more minor edge cases around replicant evacuation decisions are addressed.

This commit ensures replicant pods are annotated with scaling-down
annotations _before_ acting on admission decisions. Specifically, this
allows evacuations to avoid considering admitted nodes as migration
targets.
@codecov

codecov Bot commented Sep 17, 2026 •

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 91.07143% with 10 lines in your changes missing coverage. Please review.
✅ Project coverage is 80.17%. Comparing base (f566cf9) to head (8b3001f).
⚠️ Report is 1 commits behind head on main-3.x.

Files with missing lines Patch % Lines
internal/controller/sync_replicant_sets.go 90.27% 5 Missing and 2 partials ⚠️
internal/controller/sync_core_set.go 88.00% 3 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff              @@
##           main-3.x    #1269      +/-   ##
============================================
+ Coverage     79.64%   80.17%   +0.53%     
============================================
  Files            51       52       +1     
  Lines          4504     4514      +10     
============================================
+ Hits           3587     3619      +32     
+ Misses          773      755      -18     
+ Partials        144      140       -4     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

This commit covers few more edge cases, and ties decisions to the cause:
in specific situations decision depend on if it's scale down or rolling
update.
@keynslug
keynslug marked this pull request as ready for review September 17, 2026 18:12
@keynslug
keynslug merged commit 4f06738 into main-3.x Sep 18, 2026
24 checks passed
@keynslug
keynslug deleted the fix/rollout/no-surge-stall branch September 18, 2026 07:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants