Repository navigation
fix: prepare backup workers before quiesce and bound CSI captures - #836
Conversation
Signed-off-by: Baylem <zelathis@gmail.com>
Signed-off-by: Baylem <zelathis@gmail.com>
Signed-off-by: Baylem <zelathis@gmail.com>
Signed-off-by: Baylem <zelathis@gmail.com>
Signed-off-by: Baylem <zelathis@gmail.com>
Signed-off-by: Baylem <zelathis@gmail.com>
Signed-off-by: Baylem <zelathis@gmail.com>
Signed-off-by: Baylem <zelathis@gmail.com>
Signed-off-by: Baylem <zelathis@gmail.com>
Signed-off-by: Baylem <zelathis@gmail.com>
Signed-off-by: Baylem <zelathis@gmail.com>
Signed-off-by: Baylem <zelathis@gmail.com>
Signed-off-by: Baylem <zelathis@gmail.com>
Signed-off-by: Baylem <zelathis@gmail.com>
Signed-off-by: Baylem <zelathis@gmail.com>
Signed-off-by: Baylem <zelathis@gmail.com>
Signed-off-by: Baylem <zelathis@gmail.com>
Signed-off-by: Baylem <zelathis@gmail.com>
Signed-off-by: Baylem <zelathis@gmail.com>
Signed-off-by: Baylem <zelathis@gmail.com>
Signed-off-by: Baylem <zelathis@gmail.com>
Signed-off-by: Baylem <zelathis@gmail.com>
Signed-off-by: Baylem <zelathis@gmail.com>
Signed-off-by: Baylem <zelathis@gmail.com>
Signed-off-by: Baylem <zelathis@gmail.com>
Revoke unverified worker gates while retaining lifecycle and cleanup obligations. Reserve disk for the Garrys Mod CI image before starting kind. Signed-off-by: Baylem <zelathis@gmail.com>
Signed-off-by: Baylem <zelathis@gmail.com>
Signed-off-by: Baylem <zelathis@gmail.com>
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 6 minutes. View limit details
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. |
CI Report - 0b3e472run 42325850315 - attempt 1 0 failed - 33 passed - 0 skipped - 32m3s elapsed Test selection: full (selection-rule change) - per-suite table Coverage
Changed
Slowest jobs
e2e buckets run
|
Signed-off-by: Baylem <zelathis@gmail.com>
Signed-off-by: Baylem <zelathis@gmail.com>
Signed-off-by: Baylem <zelathis@gmail.com>
Signed-off-by: Baylem <zelathis@gmail.com>
Signed-off-by: Baylem <zelathis@gmail.com>
Probe the API-to-Service CGI path with a separate French sink before checking language payloads. Keep actual send assertions and production timeouts unchanged, and retain bounded receiver diagnostics before cleanup when a test fails. Signed-off-by: Baylem <zelathis@gmail.com>
Signed-off-by: Baylem <zelathis@gmail.com>
Signed-off-by: Baylem <zelathis@gmail.com>
… budgets Signed-off-by: Baylem <zelathis@gmail.com>
Signed-off-by: Baylem <zelathis@gmail.com>
Signed-off-by: Baylem <zelathis@gmail.com>
Failed readiness deliveries consume the shared notification test-send burst. Retry only pre-delivery HTTP 429 responses after the advertised cooldown, within bounded contexts, while preserving the separate readiness probe and French/default payload assertions. Add CI coverage for cooldown timing, prompt cancellation, and non-retryable responses. Compile the E2E test sources without executing local tests. Signed-off-by: Baylem <zelathis@gmail.com>
Use the established TestAPI_I18n_ prefix in the test function and operator bucket so the existing component-selection patterns include the notification retry regression. Signed-off-by: Baylem <zelathis@gmail.com>
Follow the fixture response-close convention at each new retry helper call and mark unused HTTP request parameters explicitly. Preserve retry timing, cancellation, and response assertions. Signed-off-by: Baylem <zelathis@gmail.com>
The merge-base changed after approval.
Supersedes #772 using the same reviewed commits on an upstream branch, enabling GitHub's native stacking. Prior review discussion remains on that PR. Current-head CI passed.
Native stack, bottom to top: #833 → #834 → #835 → #836.
Backup preparation could disable saving while a worker was still waiting for storage or repository access, and a stalled CSI capture could hold quiesce indefinitely. This prepares and verifies the real worker before save-off, then applies persisted deadlines to preparation, live copying and CSI capture.
Includes controller, worker-script and snapshot regressions plus a dedicated two-node RWO preparation/restore CI drill. The Kind fixture does not claim qualification of attachable CSI drivers. Worker expiry assumes synchronized clocks; restoring saving after an operator outage still requires operator/agent recovery.
Dependencies included: #760 lifecycle exclusion, #833 stopped-server preparation, #767 capture metadata, #835 staged templates and its security/resource dependencies, #756 snapshot authorization, and #759 shared web build prerequisite. Review the commits for this issue group after those prerequisites. Shared restore cleanup retains ownership until failed startup drains, including force-deletion recovery. The preparation, placement and Restricted workload buckets remain registered in upstream change-based test selection.
Validation: production and regression-source compilation passed; required actionlint/offline zizmor and whitespace checks passed. Runtime unit, envtest and E2E execution remains in CI under the repository's compile-only local policy.
Closes #717.
Closes #719.
Issue coordination: #717 and #719 build on #718's exclusive ownership (#760) and #716's stopped-source path (#833).
The dependency stack now includes verified effective-template API redaction, clone password protection and diagnostics namespace isolation. Backup detail UI follows Pencil nodes
zhLZN(achieved consistency and legacy volume coverage) andbHJy6(recorded per-volume coverage), with saved JSON/PNG exports and screenshot coverage inherited from #835.Final integrated API/operator builds and handler/controller regression-source compilation passed.
Transient source API errors retry within the persisted copy deadlines while unverified worker authorization is revoked. Confirmed identity changes still abort. Cleanup retains lifecycle ownership and quiesce obligations until workers drain. The Garry’s Mod CI job releases unused hosted-runner SDKs and its already-loaded image archive before Kind starts, preserving the real game image and test assertions.
Inherited password protection now covers creation, cloning and unpinned edits plus unsafe template retyping. The finalized Pencil references include corrected drawer spacing, typography and centered action labels. CI uses the shared checksum-verified Trivy release installer; current runtime results are recorded below.
Visual verification on
0a976382passed all 115 design comparisons and expanded-text clipping checks without relaxing thresholds (visual run).November 6 follow-up: Source-change errors now preserve both the sentinel and JSON cause. The postcheck retry regression waits for persisted capture metadata before injecting a transient read failure, and asserts that injection occurred. Includes the API and initial-pin fixture repairs from #835. All six affected standalone Go modules now select
github.com/klauspost/compressv1.20.2 to fix GO-2026-6865. Module and workspace checksums are included. The patch was independently reviewed; standalone Linux builds, affected feature builds and controller regression-source compilation passed. Runtime tests and security scans run in CI under repository policy.Current validation: all 106 main CI jobs passed on
0b3e472d(CI run). All other applicable workflows passed. Owner-delete E2E retries only HTTP 409 through fresh authorization, preserves the created object's UID, and requires HTTP 204 plus deletion of that object. The webhook fixture verifies a separate French readiness send through the API-to-Service CGI path and retains bounded failure diagnostics. Both corrected scenarios passed on AMD64 and ARM64; actual language/status/payload assertions and the production timeout remain unchanged.The notification-language CI fixture now honors Retry-After when readiness attempts consume its rate-limit allowance, while preserving readiness and delivery/language assertions. Its new retry/cancellation regression and the notification-language scenario passed on both AMD64 and ARM64.