Commit acabe44
authored
Release artifacts for release v1.0.0 (#22)
Release artifacts for `backup-controller` version `v1.0.0`.
Opened by `ack-workspace release`.
---
## Soak Test Summary
Soak testing is a prerequisite for cutting a new major version. This release was
validated against the soak run on the `ack-soak-backup` cluster using controller
image `backup-controller:0.3.0`. Criteria and the summary format follow the
[soak test checklist](https://github.com/aws-controllers-k8s/test-infra/blob/main/soak/SOAK_TEST_CHECKLIST.md).
> **Window note:** verdict captured at a **~12h checkpoint** of an in-progress run
> (controller pod up 12h, **0 restarts**; runner Job still `Running`, 218 e2e
> iterations completed). All required and recommended checks are clean on the
> data available so far.
**Result: PASS** — all required and recommended checks passing at the 12h checkpoint.
### Verdict table
| # | Check | Required | Result |
|---|-------|----------|--------|
| 1 | No panics / restarts | ✅ | PASS |
| 2 | No reconcile errors | ✅ | PASS |
| 3 | No infinite loops | ✅ | PASS |
| 4 | No leaks (mem/goroutine/fd) | ✅ | PASS |
| 5 | e2e all passing | ✅ | PASS |
| 6 | No 5xx / unexpected 4xx | ✅ | PASS |
| 7 | Latency stable | ⬜ | PASS |
| 8 | No dangling resources | ⬜ | PASS |
| 9 | CPU bounded | ⬜ | PASS |
| 10 | API volume reasonable | ⬜ | PASS |
<details>
<summary><b>Evidence log</b> (what we looked at, commands run, observed values, conclusion)</summary>
```
#1 No panics / restarts [PASS]
Looked at: reconcile/webhook panic counters; controller + runner pod restarts
Observed: reconcile_panics_total=0 (backupplan/backupselection/backupvault/fieldexport),
webhook_panics_total=0; up{job="ack-controller-backup"}=1;
controller pod RESTARTS=0 (up 12h), runner RESTARTS=0
Conclusion: all zero -> PASS
#2 No reconcile errors [PASS]
Looked at: controller_runtime_reconcile_errors_total (counter + rate)
Observed: backupplan=0, backupselection=0, backupvault=0, fieldexport=0; rate=0
Conclusion: zero errors -> PASS
#3 No infinite reconcile loops [PASS]
Looked at: reconcile-rate shape; workqueue depth + longest-running processor
Observed: workqueue_depth{backupplan,backupselection,backupvault}=0; longest_running=0s;
reconcile rate steady ~0.25/s (0.23-0.30) while the e2e runner is still active
(expected; not a stuck plateau). Queues drain.
Conclusion: queues drained, no stuck loop -> PASS
(full "rate decays to 0 after runner stops" applies at end-of-run; runner still active)
#4 No leaks (memory / goroutine / fd) [PASS]
Looked at: RSS, heap objects, goroutines, threads, fds as trends (job=ack-controller-backup)
Observed: RSS 67.2 -> 68.0 MiB (min 66.9 / max 69.7); heap_objects 42k-118k saw-tooth;
goroutines 118-121; os_threads 8 (flat); open_fds 11-14
Conclusion: no monotonic ramp anywhere -> PASS
#5 e2e all passing [PASS]
Looked at: pytest summary lines across all iterations in the runner log
Observed: 218 iterations, each "11 passed"; 0 failed; 0 errors
Conclusion: zero failures across 218 iterations -> PASS
#6 No 5xx / unexpected 4xx AWS faults [PASS]
Looked at: ack_outbound_api_requests_error_total by op + fault enum
(status_code is a smithy FAULT ENUM: 1=server, 2=client -- NOT an HTTP code)
Observed: status_code="1" (server): none.
status_code="2" (client): 218, ALL on CreateBackupVault. This matches 1:1 the
218 runs of the intentional negative test
test_backup_vault.py::test_terminal_condition_invalid_encryption_key
(creates a vault with an invalid KMS key; controller sets a terminal condition;
test asserts it and PASSED 218x). reconcile_errors stayed 0 (terminal != reconcile error).
Conclusion: no server faults; all client faults are expected negative-test faults -> PASS
#7 Reconcile latency stable [PASS]
Observed: p90 ~294 ms; p100 peak 3000 ms (single max); no growing tail
Conclusion: bounded -> PASS
#8 No dangling resources [PASS]
Looked at: (8a) apiserver ACK object count; (8b) AWS-side resources for THIS run
Observed: 8a apiserver_storage_objects: backupvaults max 7, backupplans max 3,
backupselections max 1, fieldexports/iamroleselectors 0 -- bounded, no climb.
8b two AWS snapshots 90s apart show backup-0.3.0 vaults being created AND deleted
continuously (churn); no accumulation from this run.
Conclusion: current-run resources churn and clean up -> PASS
(NOTE: the shared soak account also holds pre-existing leftovers from OLDER
backup builds [tags backup-v0.1.1-*, backup-3dd4d02-*, backup-unknown; dated
Mar/Apr] and unrelated controllers -- those predate this run and are an account
-hygiene item, not a v0.3.0 backup regression.)
#9 CPU bounded [PASS]
Observed: peak ~0.0036 cores; idles between iterations
Conclusion: nowhere near a limit -> PASS
#10 API volume reasonable [PASS]
Observed: 28,775 total outbound AWS calls scaling with iterations; GetBackupVault read-heavy
(read-before-create); no single op exploding disproportionately
Conclusion: proportional to load -> PASS
```
</details>
**AWS API faults note:** for aws-sdk-go-v2 controllers the `status_code` label on
`ack_outbound_api_requests_error_total` is a smithy fault enum (`1`=server,
`2`=client), not an HTTP status -- so checks query `status_code="1"`/`"2"` rather
than the dashboard's `4..`/`5..` panels.1 parent 85a6cd1 commit acabe44
4 files changed
Lines changed: 5 additions & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
9 | | - | |
| 9 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
4 | | - | |
5 | | - | |
| 4 | + | |
| 5 | + | |
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | | - | |
| 2 | + | |
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
7 | | - | |
| 7 | + | |
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
| |||
0 commit comments