Repository navigation
🌱 OPRUN-4795: Cover COD progress-deadline lifecycle - #3171
Open
perdasilva wants to merge 1 commit into
Open
perdasilva wants to merge 1 commit into
perdasilva wants to merge 1 commit into
Conversation
✅ Deploy Preview for olmv1 ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
perdasilva
force-pushed
the
OPRUN-4795-cod-deadline-recovery
branch
from
November 13, 2026 09:58
c4d3b38 to
9cad994
Compare
Add dedicated ConfigMap-key-gated deadline scenarios for recovery before the original deadline and health regression after successful completion. Verify revision identity, ownership, current-generation status, and durable completion throughout a post-deadline observation window. Keep readiness control outside the managed manifest so gate changes neither create revisions nor conflict with reconciliation. Add focused helper regressions without changing the existing Secret-precondition scenarios or runtime behavior. Addresses OPRUN-4795. Signed-off-by: Per G. da Silva <pegoncal@redhat.com>
perdasilva
force-pushed
the
OPRUN-4795-cod-deadline-recovery
branch
from
November 13, 2026 10:26
9cad994 to
85cf989
Compare
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Addresses OPRUN-4795 with two focused, standalone-compatible ClusterObjectDeployment progress-deadline scenarios:
${NAME}-1unready using a ConfigMap data-key probe, verify completion is absent, release the gate, and verify completion before its server-assigned creation timestamp plus the configured one-minute deadline, with exactly one owned revision.completedAtremains present and CODProgressing=False/NewClusterObjectSetProgressedpersists beyond the deadline. Restore readiness and verify completion remains present and health recovers without another revision.The
data.readygate is intentionally omitted from the managed manifest and changed through the existingresource is appliedstep, avoiding image pulls, COD template changes, and a deadline-specific gate step. Existing ownership/count, resource-match, and condition steps express the endpoint assertions. New helpers only check completion presence, compare completion with the configured deadline, and observe completion presence/the expected named and numbered revision/ownership/current health together throughout the unhealthy window. No completion snapshots, remembered UIDs, or incomplete/completed state machine are added. Timestamp immutability/removal are already covered by API validation tests; detecting delete/recreate under the same revision name is outside this E2E's scope. Regression coverage includes deadline boundaries, missing completion timestamps, wrong/extra/foreign revisions, stale conditions, and failures after an initially successful observation.Both scenarios live in
cod_progress_deadline.featureand are selectable with@CODDeadlineLifecycle. Existing Secret-precondition and other feature scenarios are unchanged. No runtime, API/schema, dependency, Makefile, or CI workflow changes are included. The current COD schema already supports a one-minute deadline, so no CRD relaxation is needed. Restart coverage and creation-failure injection remain out of scope.Validation
Passed locally:
make test-unit(including race detection; rerun before publishing)make lint(custom vet plus golangci-lint; zero issues; rerun before publishing)go test -count=1 -race -tags=containers_image_openpgp ./test/internal/e2e/...@CODDeadlineLifecycle: 2 scenarios / 38 steps, all resolved; execution was skipped, so this is registration evidence onlykubectl apply -f -path changesdata.readytrue/false/true and each value survives repeated SSA of the original managed manifest, preserving UID, payload, and labelsLive deployed-controller E2E was not run locally. Docker is stopped, and the saved experimental cluster endpoint (
127.0.0.1:49806) refuses connections. The envtest schema/SSA checks above do not establish a deployed-controller rollout pass. Experimental E2E CI must validate the two new scenarios.Focused live command once an integrated experimental installation is available:
For an isolated object-controller installation, additionally pass
--e2e.object-controller-only; do not pass that flag against the integrated installation.Reviewer Checklist
Summary by CodeRabbit