Skip to content

Avoid deploy timeouts when proxy autostop overlaps a Machine update - #5106

Closed
tomr-a5 wants to merge 6 commits into
masterfrom
tom/reconcile-canary-target-state
Closed

Avoid deploy timeouts when proxy autostop overlaps a Machine update#5106
tomr-a5 wants to merge 6 commits into
masterfrom
tom/reconcile-canary-target-state

Conversation

@tomr-a5

@tomr-a5 tomr-a5 commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

Change Summary

What and Why:

When proxy autostop overlaps an in-place Machine update, flyd can intentionally leave the replacement stopped while flyctl waits for it to start. Flyctl now completes against that exact stopped replacement instead of timing out.

How:

Canary and rolling updates use the optional target returned by Flaps to wait for the exact replacement to become started or stopped. Started targets retain their smoke and health checks; stopped targets skip only checks that require a running Machine. Explicit skip_launch, new creates, immediate and blue-green deployments, unknown targets, and older servers retain their existing behavior.

Testing:

  • Focused normal and race tests cover canary and rolling stopped targets, explicit skip_launch, older-server fallback, retry-stable launch intent, and exact-instance waits.
  • The full deploy package passed after rebasing onto current master, and the cross-repository development smoke exercised the stopped-target outcome end to end.

Related to:


Documentation

  • Fresh Produce
  • In superfly/docs, or asked for help from docs team
  • n/a

@tomr-a5 tomr-a5 self-assigned this Aug 20, 2026
@tomr-a5
tomr-a5 force-pushed the tom/reconcile-canary-target-state branch from 6c67f9e to 3071d2a Compare August 21, 2026 18:46
@tomr-a5 tomr-a5 changed the title Avoid canary deploy timeouts when proxy autostop overlaps an update Avoid deploy timeouts when proxy autostop overlaps a Machine update Aug 24, 2026
@tomr-a5 tomr-a5 added the bug Something isn't working label Aug 24, 2026
@tomr-a5
tomr-a5 marked this pull request as ready for review August 24, 2026 21:22
Copilot AI lite review requested due to automatic review settings August 24, 2026 21:22

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

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.

@tomr-a5
tomr-a5 force-pushed the tom/reconcile-canary-target-state branch from cf438de to 0a73550 Compare August 25, 2026 17:09
@tomr-a5
tomr-a5 marked this pull request as draft August 25, 2026 22:43
@tomr-a5

tomr-a5 commented Aug 26, 2026

Copy link
Copy Markdown
Contributor Author

After sitting with the changes above a little longer, I found a simpler way to keep the fix entirely in flyctl. Closing these three drafts and will get the smaller implementation up shortly

@tomr-a5 tomr-a5 closed this Aug 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working enhancement

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants