Battery: wait for monerod before the egress precheck; dedup the wait loops - #916
Merged
Merged
Conversation
Collapse the seven copy-pasted DHCP-lease polls and five setup-page polls in tests/os/run.sh onto two deadline-style helpers (_wait_dhcp_ip, _wait_setup_page), matching the existing _wait_ssh/_dash_marker_served shape. Each call site keeps its own timeout. The Tor-egress backstop leg ran podman exec against monerod before its baked archive had finished loading, misreporting a missing container as "lacks curl" and leaving the #855/#858 assertions unexercised. Add a bounded wait for the monerod container to exist before the precheck, and split the failure message so "container never came up" and "curl missing from the image" are distinguishable. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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.
Closes #887; closes the remaining half of #871 (the wizard.py half landed earlier).
#887 — every provision-phase run reported
monerod lacks curland silently skipped the Tor-egress assertions (the #855/#858 backstop went unexercised in the release gate). Root cause: the precheck ranpodman exec monerodbefore the monerod container existed — its baked archive is the largest and loads last — and a missing container fails exactly like a missing binary. Now: a bounded wait for the container in the phase's own style, and the diagnosis split into "monerod container not present" vs "curl missing in the image".#871 — the seven copy-paste virsh-domifaddr lease loops and five setup-page curl loops collapse onto
_wait_dhcp_ip/_wait_setup_page, deadline-style like_wait_ssh/_dash_marker_served, with each call site keeping its original timeout (tries×interval converted to seconds). The nested_wizard_uphelper folds in too. Net −36 lines; behaviour preserved.Tier-4-only file: validated with shellcheck/shfmt (
make lintgreen); the real proof is the KVM battery run queued right after this merges — it exercises every changed wait plus the fixed egress leg.Ponytail review: net-deletion diff, single-argument helpers, nothing speculative. Lean.
🤖 Generated with Claude Code