feat: expose wait_timeout and poll_interval to create_vm()#9
Draft
Koan-Bot wants to merge 1 commit into
Draft
Conversation
Previously the polling timeout (300s) and sleep interval (5s) were only configurable via object attributes. Callers can now override both per-call through the `wait_timeout` and `poll_interval` hash keys, falling back to the object-level defaults when omitted. The timeout die message now includes the server ID and last-known status so orphaned VMs can be identified and cleaned up. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Koan-Bot
force-pushed
the
koan.atoomic/create-vm-timeout-options
branch
from
April 20, 2026 13:22
df23dc6 to
617d091
Compare
7 tasks
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.
What
Adds per-call
wait_timeoutandpoll_intervaloptions tocreate_vm()and enriches the timeout die message with server ID and last-known status.Why
The 300s timeout and 5s poll interval were only configurable at the object level. Callers that spin up heterogeneous VMs (fast tiny instances vs. slow large ones) had no per-call control. When a timeout occurred, the generic die message gave no way to identify the orphaned VM for cleanup.
How
wait_timeoutandpoll_intervalkeys in%optsoverride the object-levelcreate_max_timeout/create_loop_sleepattributes. Legacywait_time_limitkey still works for backward compat.Failed to create server <id>: status '<STATUS>' after <N>s timeoutlast_statusthrough the polling loop; simplified the double$server_status->{status}check.Testing
wait_timeout/poll_intervaloverride object defaults🤖 Generated with Claude Code
Quality Report
Changes: 2 files changed, 51 insertions(+), 14 deletions(-)
Code scan: clean
Tests: passed (OK)
Branch hygiene: clean
Generated by Kōan post-mission quality pipeline