Repository navigation
Conversation
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: jatinsu 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 |
|
@jatinsu: all tests passed! Full PR test history. Your PR dashboard. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |

PreviousMinorcannot resolve a source for a target whose minor is zero. This leaves stable major-boundary upgrade verification without a source; openshift/release#86279 removed the affected check from5-scos-stable. The public OKD 5.0 release notes explicitly describe upgrades from 4.22, and the 5.0.0-okd-scos.1 release metadata lists 4.22.0-okd-scos.10 as an upgrade source.Add an opt-in
previousMinorOverridefor verification jobs and release periodics usingPreviousMinor. It specifies a target major.minor, an exact stable stream name, and a source major.minor. For a matching target, choose the highest accepted matching semantic version from that stream in the target's namespace. Patch and prerelease identifiers do not affect target matching. For example, a policy for target5.0, stream4-scos-stable, and source4.22applies to every 5.0.x payload; 5.1+ retains normal previous-minor selection. There are no OKD-specific constants in the selection logic.Missing eligible sources return an error rather than a successful no-op, so a blocking verification cannot accept a matching target without an upgrade source. Runtime and offline configuration validation reject malformed or conflicting policies. Existing acceptance-phase handling, including ReleasePayload condition precedence, is reused. Namespace filtering prevents an architecture-specific target from taking a source from another architecture namespace. Existing job optional/async settings and streams without the policy retain their behavior.
This PR adds controller support and documentation only. Activation requires a subsequent
openshift/releaseconfiguration change after the updated controller is deployed. That configuration is prepared locally, with a blocking amd64 check from accepted 4.22 sources; no release-config PR is included. The existing AWS Prow job consumes controller-supplied initial/latest image overrides and requires no hardcoded source changes. Current arm64 stable streams have no verification jobs and remain unchanged.Validation:
go test ./...make verify(formatting, vet, Go-version and generated-CRD checks)make verify-codegen-scriptmake verify-codegen-crdsgo fix -diff ./...(no changes proposed)golangci-lint run --timeout=20musing version 2.10.1 from the configured CI imageopenshift/releaserelease-config tree, including the locally prepared policyhack/validate-release-controller-config.shin the release worktree; no generated-file changesTests cover initial and later 5.0 payloads, 5.0 patches/prereleases, ordinary 5.1 selection, unrelated streams without opt-in, exact source-stream/minor restrictions, missing/non-accepted/non-stable sources, missing pull specs, ReleasePayload phase precedence, architecture namespace isolation, periodics, and runtime/offline policy validation. Cluster end-to-end upgrade jobs were not run locally.
Summary by CodeRabbit