ci: add AKS 4.20 e2e job and remove unsupported nodepool versions#80768
ci: add AKS 4.20 e2e job and remove unsupported nodepool versions#80768celebdor wants to merge 2 commits into
Conversation
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: celebdor 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 |
WalkthroughAdds a new ChangesOCP 4.20 AKS E2E Job and Release Wiring
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~5 minutes Suggested labels
Suggested reviewers
🚥 Pre-merge checks | ✅ 15✅ Passed checks (15 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
@celebdor, Interacting with pj-rehearseComment: Once you are satisfied with the results of the rehearsals, comment: |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@ci-operator/config/openshift/hypershift/openshift-hypershift-main.yaml`:
- Around line 190-202: The e2e-aks-4-20 job is missing the explicit OCP_IMAGE_N1
dependency, causing it to default to the unversioned release:latest instead of a
4.20-compatible version. Add OCP_IMAGE_N1: release:latest-420 to the
dependencies section of the e2e-aks-4-20 job (alongside OCP_IMAGE_LATEST and
OCP_IMAGE_PREVIOUS) to ensure N-1 nodepool version compatibility testing uses a
supported 4.20 image, matching the pattern already established in the
e2e-aks-4-21 job.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository: openshift/coderabbit/.coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: 42d97b0d-0a58-49ca-94bb-2eb6d6a9c066
📒 Files selected for processing (1)
ci-operator/config/openshift/hypershift/openshift-hypershift-main.yaml
| - always_run: false | ||
| as: e2e-aks-4-20 | ||
| pipeline_run_if_changed: ^(test/e2e|hypershift-operator) | ||
| steps: | ||
| cluster_profile: hypershift-aks | ||
| dependencies: | ||
| OCP_IMAGE_LATEST: release:latest-420 | ||
| OCP_IMAGE_PREVIOUS: release:initial-420 | ||
| env: | ||
| AUTH_THROUGH_CERTS: "true" | ||
| ENABLE_HYPERSHIFT_CERT_ROTATION_SCALE: "true" | ||
| HYPERSHIFT_AZURE_LOCATION: centralus | ||
| workflow: hypershift-azure-aks-e2e |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Description: Check how hypershift-azure-run-e2e handles OCP_IMAGE_N* variables
# and verify consistency across AKS E2E jobs
# Check the step commands script for OCP_IMAGE_N* usage
echo "=== Checking how OCP_IMAGE_N* variables are used in the step ==="
rg -A 5 -B 5 'OCP_IMAGE_N[1-4]' ci-operator/step-registry/hypershift/azure/run-e2e/hypershift-azure-run-e2e-commands.sh
# Check all e2e-aks* jobs in the config for dependency patterns
echo -e "\n=== Checking dependency patterns in e2e-aks* jobs ==="
ast-grep --pattern $'- $$$
as: e2e-aks$_
$$$
dependencies:
$$$' ci-operator/config/openshift/hypershift/openshift-hypershift-main.yamlRepository: openshift/release
Length of output: 1331
🏁 Script executed:
# Find the step reference to see how OCP_IMAGE_N* variables are declared/defaulted
find ci-operator/step-registry -name "*hypershift-azure-run-e2e*ref.yaml" -exec cat -n {} \;
# Also check the step reference for dependency declarations
echo "=== Step reference for hypershift-azure-run-e2e ==="
find ci-operator/step-registry -path "*hypershift/azure/run-e2e/*" -type f -exec ls -la {} \;Repository: openshift/release
Length of output: 3521
🏁 Script executed:
# Extract e2e-aks-4-21 job configuration to compare with e2e-aks-4-20
echo "=== Checking e2e-aks-4-21 job for comparison ==="
rg -A 15 'as: e2e-aks-4-21' ci-operator/config/openshift/hypershift/openshift-hypershift-main.yaml
# Also check if there's default handling in step-ref.yaml
echo -e "\n=== Looking for step reference metadata ==="
rg -B 5 -A 10 'env:' ci-operator/step-registry/hypershift/azure/run-e2e/ | head -60Repository: openshift/release
Length of output: 4244
Provide explicit N1 dependency to match e2e-aks-4-21 pattern.
The e2e-aks-4-20 job omits explicit OCP_IMAGE_N1 and other N* dependencies, causing them to default to the unversioned release:latest from the step reference—which resolves to the current development release, not a 4.20-compatible image.
The e2e-aks-4-21 job correctly provides OCP_IMAGE_N1: release:latest-420, ensuring N-1 compatibility testing uses a supported version. For consistency and correctness, add the same to e2e-aks-4-20:
dependencies:
OCP_IMAGE_LATEST: release:latest-420
OCP_IMAGE_PREVIOUS: release:initial-420
OCP_IMAGE_N1: release:latest-420This prevents the step from passing an incompatible (unversioned latest) image to the test when checking N-1 nodepool version support, and aligns the configuration with the proven e2e-aks-4-21 pattern.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@ci-operator/config/openshift/hypershift/openshift-hypershift-main.yaml`
around lines 190 - 202, The e2e-aks-4-20 job is missing the explicit
OCP_IMAGE_N1 dependency, causing it to default to the unversioned release:latest
instead of a 4.20-compatible version. Add OCP_IMAGE_N1: release:latest-420 to
the dependencies section of the e2e-aks-4-20 job (alongside OCP_IMAGE_LATEST and
OCP_IMAGE_PREVIOUS) to ensure N-1 nodepool version compatibility testing uses a
supported 4.20 image, matching the pattern already established in the
e2e-aks-4-21 job.
ARO/HCP users are running OCP 4.20 on AKS, and the HyperShift operator runs from main, but no AKS CI job on main tests against a 4.20 hosted cluster. This gap means features backported to 4.20 (like the Azure Workload Identity webhook, hypershift#8323) aren't exercised in our e2es. Add an e2e-aks-4-20 job that creates a primary hosted cluster at 4.20. Also remove sub-4.20 nodepool version references from e2e-aks and e2e-aks-4-22 since AKS does not support versions below 4.20. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
12631bd to
f0dd25b
Compare
Set OCP_IMAGE_N1 to release:latest-420 to match the e2e-aks-4-21 pattern and prevent the step ref default (release:latest) from injecting a mismatched version. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
/pj-rehearse e2e-aks-4-20 |
|
@celebdor: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
|
[REHEARSALNOTIFIER]
A total of 46 jobs have been affected by this change. The above listing is non-exhaustive and limited to 25 jobs. A full list of affected jobs can be found here Interacting with pj-rehearseComment: Once you are satisfied with the results of the rehearsals, comment: |
|
@celebdor: job(s): e2e-aks-4-20 either don't exist or were not found to be affected, and cannot be rehearsed |
|
@celebdor: The following test failed, say
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. |
Summary
e2e-aks-4-20job to test against a 4.20 hosted cluster on AKS from themainbranchinitial-420release ref needed by the new jobe2e-aksande2e-aks-4-21since AKS does not support versions below 4.20Why
ARO/HCP users are running OCP 4.20 on AKS, and the HyperShift operator runs from
main. Without this job, features backported to 4.20 (like the Azure Workload Identity webhook in hypershift#8323) aren't exercised in our e2es at that version.Test plan
e2e-aks-4-20job appears in Prow and can be triggerede2e-aksande2e-aks-4-21still pass without the removed sub-4.20 nodepool versions (tests skip gracefully when release image is empty)🤖 Generated with Claude Code
Summary by CodeRabbit