Sitelet https://github.com/kubernetes/kops/pull/18681
Skip to content

tests/e2e: honor KOPS_EXTRA_FLAGS in the karpenter scenario - #18681

Merged
kubernetes-prow[bot] merged 1 commit into
kubernetes:masterfrom
rifelpet:karpenter-scenario-extra-flags
Aug 13, 2026
Merged

kubernetes-prow[bot] merged 1 commit into
kubernetes:masterfrom
rifelpet:karpenter-scenario-extra-flags

Conversation

@rifelpet

@rifelpet rifelpet commented Aug 12, 2026 •

Copy link
Copy Markdown
Member

tests/e2e/scenarios/karpenter/run-test.sh builds CREATE_ARGS entirely from hardcoded values and never reads any flags supplied by the prow job. That makes the two IPv6 variants of this scenario a no-op:

  • e2e-kops-aws-ipv6-karpenter (periodic, on the kops-ipv6 dashboard)
  • pull-kops-e2e-aws-ipv6-karpenter (presubmit)

Both set OVERRIDES="--ipv6 --topology=private --bastion" in their job config, but nothing in this scenario reads OVERRIDES — the only script that does is splitkcp/run-test.sh, which sets its own value locally. So both jobs have been creating plain IPv4 karpenter clusters, identical to the non-ipv6 jobs, presumably since they were added.

This appends KOPS_EXTRA_FLAGS to CREATE_ARGS, which is the variable build_jobs.py already populates from a scenario job's extra_flags and which upgrade-ab/run-test.sh already consumes. Appending last means a job can also override one of the defaults above it.

The companion test-infra PR, kubernetes/test-infra#37675, switches those two jobs from OVERRIDES to extra_flags (which build_jobs.py renders as KOPS_EXTRA_FLAGS). Until it merges the jobs keep behaving exactly as they do today, so the two can land in either order.

Testing

Verified the expansion is correct in both states:

unset  -> [--networking cilium ]
set    -> [--networking cilium --ipv6 --topology=private --bastion]

The scenario is exercised by pull-kops-e2e-aws-karpenter and pull-kops-e2e-aws-ipv6-karpenter. Worth noting the ipv6 presubmit will be doing real work for the first time once the test-infra side lands, so it may surface pre-existing IPv6+karpenter issues.

🤖 Generated with Claude Code

@kubernetes-prow

Copy link
Copy Markdown
Contributor

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@kubernetes-prow kubernetes-prow Bot added do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. labels Aug 12, 2026
The karpenter scenario hardcodes CREATE_ARGS and ignores any flags the
prow job supplies, so the two ipv6 variants of this job
(e2e-kops-aws-ipv6-karpenter and pull-kops-e2e-aws-ipv6-karpenter) have
never actually created an IPv6 cluster -- they are identical to the
non-ipv6 jobs despite sitting on the kops-ipv6 dashboard.

Append KOPS_EXTRA_FLAGS to CREATE_ARGS, matching how the upgrade-ab
scenario already consumes it. A follow-up test-infra change switches
those jobs from the OVERRIDES env var, which nothing reads, to
KOPS_EXTRA_FLAGS.
@rifelpet
rifelpet force-pushed the karpenter-scenario-extra-flags branch from cccd678 to ef98d4f Compare August 12, 2026 21:58
@kubernetes-prow
kubernetes-prow Bot requested review from hakman and zetaab August 12, 2026 22:00
@rifelpet
rifelpet marked this pull request as ready for review August 12, 2026 22:07
@kubernetes-prow kubernetes-prow Bot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Aug 12, 2026
@kubernetes-prow
kubernetes-prow Bot requested a review from olemarkus August 12, 2026 22:07
@kubernetes-prow kubernetes-prow Bot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Aug 13, 2026
@kubernetes-prow

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: hakman

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@kubernetes-prow kubernetes-prow Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Aug 13, 2026
kubernetes-prow Bot pushed a commit to kubernetes/test-infra that referenced this pull request Aug 13, 2026
e2e-kops-aws-ipv6-karpenter and pull-kops-e2e-aws-ipv6-karpenter set
OVERRIDES="--ipv6 --topology=private --bastion", but the karpenter
scenario never reads OVERRIDES -- the only script that does is
splitkcp/run-test.sh, which sets its own value locally. Both jobs have
therefore been creating plain IPv4 karpenter clusters, identical to the
non-ipv6 jobs, despite sitting on the kops-ipv6 dashboard.

Pass the flags via extra_flags instead. That is the mechanism the
scenario job path already has: build_jobs.py joins extra_flags into
KOPS_EXTRA_FLAGS, which kubernetes/kops#18681 teaches the karpenter
scenario to append to its create args. It also populates the
test.kops.k8s.io/extra_flags annotation, so the job metadata now
reflects what the job actually does.

Needs kubernetes/kops#18681 to merge before these jobs exercise IPv6.
@kubernetes-prow
kubernetes-prow Bot merged commit a1c64fa into kubernetes:master Aug 13, 2026
27 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. lgtm "Looks good to me", indicates that a PR is ready to be merged. size/XS Denotes a PR that changes 0-9 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants