Skip to content

Comments

chore: incorporate upstream E2E tests#1363

Open
tallaxes wants to merge 6 commits intomainfrom
tallaxes/upstream-e2e
Open

chore: incorporate upstream E2E tests#1363
tallaxes wants to merge 6 commits intomainfrom
tallaxes/upstream-e2e

Conversation

@tallaxes
Copy link
Collaborator

@tallaxes tallaxes commented Jan 21, 2026

Description

This PR adds AWS-style source field support to e2e tests, allowing tests to run from the Azure provider, upstream karpenter-core, or both. It also removes the duplicate Chaos test suite in favor of using the upstream version.

E2E Test Matrix (e2e-matrix.yaml)

  • Converted test suite matrix from simple string array to object array with name and source fields
  • Categorized test suites by source:
    • Azure-only: ACR, BYOK, Consolidation, GPU, InPlaceUpdate, KubernetesUpgrade, Scheduling, Spot, Subnet, Utilization
    • Both (azure + upstream): Drift, Integration, NodeClaim
    • Upstream-only: Chaos, Expiration, StaticCapacity, Termination

E2E Workflow (e2e.yaml)

  • Added source input parameter (azure, upstream, or all)
  • Modified test execution to conditionally run:
    • make e2etests for Azure provider tests
    • make upstream-e2etests for upstream karpenter-core tests
    • Both when source: all

Makefile

  • Updated upstream-e2etests target
  • Supports FOCUS variable to filter specific test suites

Test Cleanup

  • Deleted test/suites/chaos/ - The Azure Chaos tests were functionally identical to upstream (same test cases, same helper functions). The upstream version works with Azure via the --default-nodeclass and --default-nodepool flags.

How was this change tested?

Does this change impact docs?

  • Yes, PR includes docs updates
  • Yes, issue opened: #
  • No

Release Note


@tallaxes tallaxes added area/ci Issues or PRs related to ci area/test Issues or PRs related to testing labels Jan 21, 2026
@tallaxes tallaxes self-assigned this Jan 21, 2026
@tallaxes tallaxes marked this pull request as ready for review February 2, 2026 19:32
Copy link
Member

@matthchr matthchr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think using the wrong upstream-e2etest makefile cmd? We want the az variant, don't we?

upstream-e2etests:
upstream-e2etests: tidy download
# Upstream tests are in test/suites/. Use FOCUS to filter by Describe block name.
# Available upstream tests: Chaos, Drift, Expiration, Integration, NodeClaim, StaticCapacity, Termination
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would a link to upstream test location be better than a static list in this file?

if [[ "$SOURCE" == 'azure' ]]; then
make e2etests
elif [[ "$SOURCE" == 'upstream' ]]; then
FOCUS="$TEST_SUITE" make upstream-e2etests
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not az-upstream-e2etests?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I assume we want the same tainting... no?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In CI install-karpenter step does the tainting. Other steps that az-e2etests does (cleanup and untainting at the end) are only useful for development loops - though I think it won't break anything here. So Yes could make it the same, or just leave it as is - which I think is what I would prefer

source: upstream
- name: Expiration
source: upstream
#- name: StaticCapacity
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why comment this out?

Feels like either:

  1. Remove this entirely.
  2. Uncomment it (I assume it won't work due to fact we aren't on 1.8+ yet)
  3. Leave a short comment here explaining why it is commented out

Co-authored-by: Matthew Christopher <matthchr@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/ci Issues or PRs related to ci area/test Issues or PRs related to testing

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants