Skip to content

Update kuttl to v0.28.0 and skip limit import tests with testRunSelector - #1037

Merged
mandre merged 1 commit into
k-orc:mainfrom
chenwng:skip-limit-cases
Nov 12, 2026
Merged

mandre merged 1 commit into
k-orc:mainfrom
chenwng:skip-limit-cases

Conversation

@chenwng

@chenwng chenwng commented Oct 30, 2026

Copy link
Copy Markdown
Contributor

This PR updates kuttl to v0.28.0 and skips limit import test cases with testRunSelector in TestCase.

@github-actions github-actions Bot added the semver:patch No API change label Oct 30, 2026
@chenwng
chenwng marked this pull request as draft October 30, 2026 11:33
@chenwng
chenwng force-pushed the skip-limit-cases branch 3 times, most recently from c39c94b to e3efb18 Compare October 30, 2026 15:02
@chenwng
chenwng marked this pull request as ready for review October 30, 2026 15:59

@mandre mandre left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

I wonder if it's possible to make it a bit more dynamic and list boundaries rather than exact version it's supposed to run on (or not run on). This way, all of the testRunSelector can stay untouched on new openstack release, and we would just need to keep the e2e.sh file up to date, once per release cycle. Let me know what you think.

Comment thread hack/e2e.sh Resolved
- key: openstack-version
operator: NotIn
values:
- flamingo

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

I'd love to have something a bit more dynamic.

What do you think we introduce boundaries, such as we've done in gophercloud?
We could imagine something like:

testRunSelector:
  matchLabels:
    min-2026.1: "true"

Which could be passed from the e2e.sh script with something like:

KNOWN_RELEASES=("2025.1" "2025.2" "2026.1")
labels=""
for release in "${KNOWN_RELEASES[@]}"; do
  if [[ ! "$OS_RELEASE" < "$release" ]]; then
    labels="${labels:+$labels,}min-${release}=true"
  fi
  if [[ ! "$OS_RELEASE" > "$release" ]]; then
    labels="${labels:+$labels,}max-${release}=true"
  fi
done

Where we would only need to update KNOWN_RELEASES when a new test requires new boundaries not yet listed.

@zunken1337

Copy link
Copy Markdown
Contributor

This overlaps with #208: I have a branch with kuttl v0.28 that adds a 00-test-case.yaml to the 143 tests using openstack-admin, with admin NotIn ["false"] and E2E_KUTTL_SKIP_ADMIN=true passing --test-run-labels admin=false (details in #208 (comment)).

Since a TestCase has a single testRunSelector, the two need to share it. With matchExpressions that works, e.g. a limit test that also needs admin:

testRunSelector:
  matchExpressions:
    - {key: admin, operator: NotIn, values: ["false"]}
    - {key: min-2026.1, operator: In, values: ["true"]}

and e2e.sh builds one --test-run-labels from the release labels plus admin=false when set. I'm happy to rebase #208 on this once it merges.

Comment thread hack/e2e.sh Resolved
Comment thread hack/e2e.sh Resolved
Signed-off-by: Winston Chen <winchen@redhat.com>
@mandre
mandre added this pull request to the merge queue Nov 12, 2026
Merged via the queue into k-orc:main with commit c488896 Nov 12, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

semver:patch No API change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants