Skip to content

Battery: wait for monerod before the egress precheck; dedup the wait loops - #916

Merged
VijitSingh97 merged 1 commit into
develop-v2from
fix/887-871-battery-harness
Aug 13, 2026
Merged

Battery: wait for monerod before the egress precheck; dedup the wait loops#916
VijitSingh97 merged 1 commit into
develop-v2from
fix/887-871-battery-harness

Conversation

@VijitSingh97

Copy link
Copy Markdown
Collaborator

Closes #887; closes the remaining half of #871 (the wizard.py half landed earlier).

#887 — every provision-phase run reported monerod lacks curl and silently skipped the Tor-egress assertions (the #855/#858 backstop went unexercised in the release gate). Root cause: the precheck ran podman exec monerod before 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_up helper folds in too. Net −36 lines; behaviour preserved.

Tier-4-only file: validated with shellcheck/shfmt (make lint green); 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

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant