|
|
@@ -238,15 +238,25 @@ def step5_dlq_invariant(samples: list[dict]) -> int:
|
|
|
|
|
|
|
|
|
def step6_teardown() -> None:
|
|
|
- """Bring down the loadgen cluster."""
|
|
|
+ """Bring down the loadgen cluster.
|
|
|
+
|
|
|
+ CRITICAL: Do NOT pass `-v` here. `docker compose down -v` removes
|
|
|
+ ALL named volumes declared in the compose file (pgdata, natsdata,
|
|
|
+ chdata) regardless of profile, which destroys the postgres /
|
|
|
+ nats / clickhouse state. The smoke is a verification tool, not
|
|
|
+ a reset; persistent service data must survive teardown.
|
|
|
+
|
|
|
+ The `down` (no -v) only stops the loadgen containers; the named
|
|
|
+ volumes are preserved for the next run.
|
|
|
+ """
|
|
|
print("\nStep 6 — teardown")
|
|
|
r = subprocess.run(
|
|
|
- ["docker", "compose", "--profile", "loadgen-grpc", "down", "-v"],
|
|
|
+ ["docker", "compose", "--profile", "loadgen-grpc", "down"],
|
|
|
capture_output=True,
|
|
|
cwd="/root/broad-announce",
|
|
|
)
|
|
|
if r.returncode == 0:
|
|
|
- pass_("loadgen cluster torn down")
|
|
|
+ pass_("loadgen cluster torn down (named volumes preserved)")
|
|
|
else:
|
|
|
warn_(f"teardown returned {r.returncode}: {r.stderr.decode().strip()}")
|
|
|
|