Skip to content

kit scripts: start.sh.template never checks pod exit code, so aborted runs report success #874

Description

@rustyrazorblade

Problem: No kit's bin/start.sh.template (checked all kits/*/bin/*.sh.template — confirmed project-wide, not sysbench-specific) inspects the benchmark/workload pod's exit code or phase after streaming its logs. kubectl wait --for=condition=ready only waits for the pod to start; after kubectl logs -f | tee | while read finishes, nothing checks kubectl get pod ... -o jsonpath={.status.containerStatuses[0].exitCode} or pod phase.

Concrete example (sysbench): if sysbench aborts early (e.g. FATAL: event queue is full from #839), the FATAL line is echoed to the terminal, but the script still runs to completion, still prints Run summary written to ${LAST_RUN_FILE}, and still exits 0 — indistinguishable from a successful run unless the user spots the FATAL line themselves in scrolling output.

Fix (proposed): after the log-streaming loop, check the pod's actual exit code / phase and have the script exit non-zero (and say so clearly) when the underlying workload process failed, instead of always reporting success.

Found by the architect agent while reviewing #839 (sysbench --rate docs fix).

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions