Conversation
01d8ecd to
d461087
Compare
|
Ran a hostile self-review and fixed the findings (pushed): HIGH — the reaper missed most leaks it exists for. The old regex MEDIUM — over-broad match / collateral deletion. The old unanchored substring could force-delete a concurrent related-plan run (e.g. MEDIUM — auth failure masked into a permanent green no-op. Also clarified the |
Add a reusable Concourse task (cleanup-smoke-service.yml + .sh) that tears down leaked smoke-test SERVICE INSTANCES for a given SERVICE_PLAN, engine-agnostic so any RDS/Elasticache/Elasticsearch smoke job can wire it as an `ensure:` step to avoid leaking a live billed instance on failure. Standalone task only; the `ensure:` wiring (and its CF_ORGANIZATION/CF_SPACE + SERVICE_PLAN params, which must target the smoke-test space) is added by the PR that owns the specific smoke job. Matching is anchored and token-aware so it reaps every instance the smoke runners create for THIS plan — both singular `smoke-test-<plan>-*` (task/es runners) and plural `*-smoke-tests-...-<plan>[-<id>]` (rds/redis runners) — without deleting a DIFFERENT plan's instance whose name merely contains the plan as a substring (e.g. plan `redis-dev` will not reap `...-redis-dev-large`). SERVICE_PLAN is escaped to a literal before going into the ERE. A cf login failure is surfaced as a loud WARNING and the reaper exits 0 (best-effort, never fails the build) rather than silently doing nothing.
d461087 to
fcca28b
Compare
|
📋 Merge order: 3️⃣ of 4 (adds |
Split out of #537 (engine-agnostic CI hygiene, not Oracle-specific).
Adds a reusable Concourse task (
ci/cleanup-smoke-service.yml+.sh) that tears down a leaked smoke-test service instance. It's engine-agnostic so any RDS (or other) smoke job can wire it as anensure:step to avoid leaking a live instance when a smoke test fails partway.Standalone task only here; wiring it into a specific job's
ensure:block is done by the PR that owns that job (e.g. the Oracle smoke task in #537).