mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-07 19:32:17 +00:00
The chaos phase (09 seed -> 10 drain -> 11 assert) assumes the app runs on a worker it can drain. A role declaring `default_placement: manager` (single-node DBs, the edge proxy, ...) only ever runs on the manager, so 09_seed_content.sh's `NODE=$(... | grep -vx "$MGR" | head -1)` matched nothing and, under `set -o pipefail`, killed the script with a silent exit 1 before its own `[ -z NODE ]` handler could report it. _context.sh now derives DEFAULT_PLACEMENT_MANAGER from the role's meta/services.yml and exposes skip_chaos_if_manager_pinned(); 09/10/11 call it and exit 0 (chaos not applicable) for those roles. 09 also appends `|| true` to the NODE pipeline so a genuinely-absent worker task on a non-pinned role reaches the honest failure handler instead of dying silently. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>