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).
Problem: No kit's
bin/start.sh.template(checked allkits/*/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=readyonly waits for the pod to start; afterkubectl logs -f | tee | while readfinishes, nothing checkskubectl get pod ... -o jsonpath={.status.containerStatuses[0].exitCode}or pod phase.Concrete example (sysbench): if sysbench aborts early (e.g.
FATAL: event queue is fullfrom #839), the FATAL line is echoed to the terminal, but the script still runs to completion, still printsRun 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).