Repository navigation
fix(ssh): retry WaitForSSH every 500ms instead of 3s - #965
Merged
Merged
Conversation
WaitForSSH polls the guest's SSH port after boot, sleeping a fixed 3s between failed dial attempts. On Firecracker microVMs, sshd typically comes up well under 3s after boot, so the poll loop's coarse interval was adding ~2-2.5s of pure waiting on top of actual boot time. Measured on fc-host with the onctl-4 profile (4vcpu/16GB, baked runner-base-docker.ext4 image): `onctl create` dropped from 4.54s to 2.58s with this change, back-to-back, same VM config.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
WaitForSSH(used by thefcprovider to detect when a freshly-booted microVM's sshd is up) slept a fixed 3s between failed dial attempts. Since sshd on Firecracker microVMs is typically reachable well under 3s after boot, this added ~2-2.5s of pure waiting on top of real boot time on everyonctl create.Test plan
go build ./...andgo test ./internal/tools/...passfc-hostwith theonctl-4profile (4vcpu/16GB, bakedrunner-base-docker.ext4), back-to-back same-config runs:onctl create→ 4.54sonctl create→ 2.58sonctl list/onctl destroythat test VMs were cleaned up and no production runners were disturbedhttps://claude.ai/code/session_01XkRavfuW3YnmPieWTrgffn