Skip to content

Count a stand-in only once it is available, honouring minReadySeconds - #9

Merged
kylan11 merged 1 commit into
mitis-cloud:mainfrom
0xmichalis:fix/stand-in-min-ready-seconds
Oct 19, 2026
Merged

kylan11 merged 1 commit into
mitis-cloud:mainfrom
0xmichalis:fix/stand-in-min-ready-seconds

Conversation

@0xmichalis

Copy link
Copy Markdown
Contributor

Summary

  • The reconciler (assessPods) and the webhook (standInReady) counted a stand-in as soon as its Ready condition turned true. The Deployment and Rollout controllers only count a pod as available once it has been Ready for minReadySeconds, and workloads set it to keep the old pod around while the new one finishes warming up. Understudy admitted the eviction before that window ended, so a disruption handover was shorter than the one the workload's own rolling update guarantees.
  • Add Target.PodAvailable, which applies the controllers' rule (Ready since a known time, for longer than the target's spec.minReadySeconds), and use it in both places. Targets without minReadySeconds behave exactly as before.
  • Docs: how-it-works step 4.

Verification

  • Unit table for PodAvailable over Deployment and Rollout targets: no Ready condition, not ready, ready without minReadySeconds, ready for less than / exactly / longer than minReadySeconds, ready since an unknown time.
  • New envtest spec: with minReadySeconds: 30, a freshly Ready stand-in keeps the hold (429, phase Surging); once it has been Ready for 31 s the phase becomes Releasing and the eviction is admitted. On main it released immediately.
  • make test lint build and the ARGO_ROLLOUTS_CRD= "Optional Rollout API" run: passed, no generated-file drift.

🤖 Generated with Claude Code

Copilot AI balanced review requested due to automatic review settings October 17, 2026 19:44

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.

@kylan11
kylan11 merged commit fd81862 into mitis-cloud:main Oct 19, 2026
7 checks passed
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.

3 participants