Skip to content

Commit acabe44

Browse files
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

File tree

config/controller/kustomization.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,4 @@ kind: Kustomization
66
images:
77
- name: controller
88
newName: public.ecr.aws/aws-controllers-k8s/backup-controller
9-
newTag: 0.3.0
9+
newTag: 1.0.0

helm/Chart.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
apiVersion: v1
22
name: backup-chart
33
description: A Helm chart for the ACK service controller for AWS Backup (Backup)
4-
version: 0.3.0
5-
appVersion: 0.3.0
4+
version: 1.0.0
5+
appVersion: 1.0.0
66
home: https://github.com/aws-controllers-k8s/backup-controller
77
icon: https://raw.githubusercontent.com/aws/eks-charts/master/docs/logo/aws.png
88
sources:

helm/templates/NOTES.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{{ .Chart.Name }} has been installed.
2-
This chart deploys "public.ecr.aws/aws-controllers-k8s/backup-controller:0.3.0".
2+
This chart deploys "public.ecr.aws/aws-controllers-k8s/backup-controller:1.0.0".
33

44
Check its status by running:
55
kubectl --namespace {{ .Release.Namespace }} get pods -l "app.kubernetes.io/instance={{ .Release.Name }}"

helm/values.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
image:
66
repository: public.ecr.aws/aws-controllers-k8s/backup-controller
7-
tag: 0.3.0
7+
tag: 1.0.0
88
pullPolicy: IfNotPresent
99
pullSecrets: []
1010

0 commit comments

Comments
 (0)