A fallback dry run wrote real reboot-surviving state, and a failed tier writeback reported itself as a dry run
This commit is contained in:
@@ -325,6 +325,27 @@ else
|
||||
warn "No state file found — assuming NORMAL (first run)"
|
||||
fi
|
||||
|
||||
# fallback.sh must actually be RUNNING, not merely enabled
|
||||
#
|
||||
# Every phase after this one waits for the daemon to change state. FALLBACK_ENABLED=true says
|
||||
# it is allowed to run; it does not say array_started.sh launched it, or that it is still alive.
|
||||
# Without this the test passes pre-flight, drops a real iptables rule on the partner, waits
|
||||
# FALLBACK_TEST_BLOCK_WAIT for a transition nothing is there to make, and fails Phase 3 blaming
|
||||
# fallback detection. Only the EXIT trap gets connectivity back.
|
||||
#
|
||||
# In --dry-run nothing is blocked and nothing is waited on, so a dead daemon is worth saying but
|
||||
# not worth aborting for — the walkthrough still shows the operator the shape of the run.
|
||||
if pgrep -f "Fallback/fallback\.sh" >/dev/null 2>&1; then
|
||||
log "fallback.sh daemon is running"
|
||||
elif [[ "$DRY_RUN" == true ]]; then
|
||||
warn "fallback.sh is NOT running — a real test would abort here"
|
||||
else
|
||||
error "fallback.sh is not running — nothing would detect the outage this test creates"
|
||||
error "Start it with array_started.sh, or run with --dry-run to walk the phases"
|
||||
phase_fail "Pre-flight"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Tier 1 containers configured
|
||||
if [[ ${#TIER1_CONTAINERS[@]} -eq 0 ]]; then
|
||||
error "No Tier 1 containers configured for $MY_ID → $REMOTE_ID"
|
||||
|
||||
Reference in New Issue
Block a user