Skip to content

Avoid canary deploy timeouts when proxy autostop overlaps an update - #5106

Draft
tomr-a5 wants to merge 4 commits into
masterfrom
tom/reconcile-canary-target-state
Draft

Avoid canary deploy timeouts when proxy autostop overlaps an update#5106
tomr-a5 wants to merge 4 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 a canary Machine update, flyd can intentionally leave the replacement stopped while flyctl waits for it to start. The deploy then times out even though the update completed in the state selected by the Machine lifecycle.

How:

For canary updates of existing Machines whose request intended a launch, flyctl now honors the optional stopped target returned by Flaps. It waits for the exact returned Machine instance to settle stopped, then skips only the smoke, test-Machine, and health checks that require a started Machine. Explicit skip_launch, new creates, rolling deployments, unknown target states, and older servers retain their existing behavior, and the recovery planner's pre-deploy launch intent remains stable across retries.

Focused normal and race tests cover the legacy and recovery deployment lanes, the excluded modes, and the exact instance_id sent as the Flaps wait-version query.

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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant