CNTRLPLANE-3115: Add OCP 4.15/4.16 to envtest integration tests#8111
CNTRLPLANE-3115: Add OCP 4.15/4.16 to envtest integration tests#8111JoelSpeed wants to merge 10 commits intoopenshift:mainfrom
Conversation
- Add an envtest setup goal on the Makefile - Add a new unit test using envtest to cover the same as the create cluster e2e test. Signed-off-by: Borja Clemente <bclement@redhat.com>
Introducing envtest requires adding new dependencies, which are being vendored in a separate commit to ease review. Signed-off-by: Borja Clemente <bclement@redhat.com>
Replace the Go-based envtest test with a YAML-driven test framework following the openshift/api tests pattern. The framework: - Loads test suites from tests/<crdname>/ directories matching o/api layout - Resolves CRDs via ../../zz_generated.crd-manifests/ relative paths - Filters by featureGates using payload-manifests/featuregates/ - Per suite, installs/uninstalls the CRD under test - Supports expectedError, expectedStatusError for validation tests - Supports initialCRDPatches for ratcheting validation via yaml-patch - Uses //go:build envtest tag so tests are excluded from go test ./... Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
We know that we currently have 4.15 clusters running HyperShift Operator in some cases. We must ensure cross version testing back to our earliest supported version.
|
Pipeline controller notification For optional jobs, comment This repository is configured in: LGTM mode |
|
Skipping CI for Draft Pull Request. |
|
@JoelSpeed: This pull request references CNTRLPLANE-3115 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.22.0" version, but no target version was set. DetailsIn response to this:
Instructions 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 openshift-eng/jira-lifecycle-plugin repository. |
|
Important Review skippedAuto reviews are limited based on label configuration. 🚫 Review skipped — only excluded labels are configured. (1)
Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository YAML (base), Organization UI (inherited) Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: JoelSpeed 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 |
|
@JoelSpeed: 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. |
|
I now have complete evidence for both failures. Here is the report: Test Failure Analysis CompleteJob Information
Test Failure AnalysisErrorSummaryBoth failures stem from the same PR adding OCP 4.15 (K8s 1.28) and OCP 4.16 (K8s 1.29) to the envtest matrix. The Unit Tests job fails because K8s 1.28's kube-apiserver does not support the CEL optional chaining syntax ( Root CauseUnit Tests — CEL version incompatibility with K8s 1.28: The PR added The HostedCluster CRD (
The Since Verify — Stale featureGate manifests: The Verify job runs Recommendations
Evidence
|
What this PR does / why we need it:
We understand that there are management clusters running HyperShift Operator with openshift versions as old as 4.15.
We must ensure we add integration testing going all the way back to 4.15 to catch any potential breaking API changes that we might make.
Which issue(s) this PR fixes:
Fixes
Special notes for your reviewer:
Checklist: