Skip to content

VAULT-41529: fix filtering by variant and no scenario name#168

Merged
ryancragun merged 7 commits intomainfrom
ryan/VAULT-41529
Dec 19, 2025
Merged

VAULT-41529: fix filtering by variant and no scenario name#168
ryancragun merged 7 commits intomainfrom
ryan/VAULT-41529

Conversation

@ryancragun
Copy link
Collaborator

@ryancragun ryancragun commented Dec 19, 2025

How to read this pull request

When we rewrote scenario filtering to be a decode time operation we missed a case that resulted in broken filtering. If we given a filter that includes variants but does not include a scenario name the list would return scenarios with matching variants but would also include the scenario name of scenarios that either didn't have a matrix defined or had no matrix variants that matched. This fixes it to exclude scenario blocks that have no matching variants when given such filters.

Before

> enos scenario list arch:arm64 artifact_source:crt artifact_type:bundle backend:raft config_mode:file consul_edition:ce consul_version:1.18.2 distro:sles edition:ent ip_version:6 seal:awskms
NAME                VARIANTS

agent               arch:arm64  artifact_source:crt  artifact_type:bundle  backend:raft  config_mode:file  consul_edition:ce  consul_version:1.18.2  distro:sles  edition:ent  ip_version:6  seal:awskms
autopilot           arch:arm64  artifact_source:crt  artifact_type:bundle  backend:raft  config_mode:file  consul_edition:ce  consul_version:1.18.2  distro:sles  edition:ent  ip_version:6  seal:awskms
benchmark
cloud
dev_pr_replication
dev_single_cluster
dr_replication
pr_replication
proxy               arch:arm64  artifact_source:crt  artifact_type:bundle  backend:raft  config_mode:file  consul_edition:ce  consul_version:1.18.2  distro:sles  edition:ent  ip_version:6  seal:awskms
seal_ha
smoke               arch:arm64  artifact_source:crt  artifact_type:bundle  backend:raft  config_mode:file  consul_edition:ce  consul_version:1.18.2  distro:sles  edition:ent  ip_version:6  seal:awskms
ui                  arch:arm64  artifact_source:crt  artifact_type:bundle  backend:raft  config_mode:file  consul_edition:ce  consul_version:1.18.2  distro:sles  edition:ent  ip_version:6  seal:awskms
upgrade             arch:arm64  artifact_source:crt  artifact_type:bundle  backend:raft  config_mode:file  consul_edition:ce  consul_version:1.18.2  distro:sles  edition:ent  ip_version:6  seal:awskms

After

> enos scenario list arch:arm64 artifact_source:crt artifact_type:bundle backend:raft config_mode:file consul_edition:ce consul_version:1.18.2 distro:sles edition:ent ip_version:6 seal:awskms
NAME       VARIANTS

agent      arch:arm64  artifact_source:crt  artifact_type:bundle  backend:raft  config_mode:file  consul_edition:ce  consul_version:1.18.2  distro:sles  edition:ent  ip_version:6  seal:awskms
autopilot  arch:arm64  artifact_source:crt  artifact_type:bundle  backend:raft  config_mode:file  consul_edition:ce  consul_version:1.18.2  distro:sles  edition:ent  ip_version:6  seal:awskms
proxy      arch:arm64  artifact_source:crt  artifact_type:bundle  backend:raft  config_mode:file  consul_edition:ce  consul_version:1.18.2  distro:sles  edition:ent  ip_version:6  seal:awskms
smoke      arch:arm64  artifact_source:crt  artifact_type:bundle  backend:raft  config_mode:file  consul_edition:ce  consul_version:1.18.2  distro:sles  edition:ent  ip_version:6  seal:awskms
ui         arch:arm64  artifact_source:crt  artifact_type:bundle  backend:raft  config_mode:file  consul_edition:ce  consul_version:1.18.2  distro:sles  edition:ent  ip_version:6  seal:awskms
upgrade    arch:arm64  artifact_source:crt  artifact_type:bundle  backend:raft  config_mode:file  consul_edition:ce  consul_version:1.18.2  distro:sles  edition:ent  ip_version:6  seal:awskms

Checklist

  • The commit message includes an explanation of the changes
  • Manual validation of the changes have been performed (if possible)
  • New or modified code has requisite test coverage (if possible)
  • I have performed a self-review of the changes
  • I have made necessary changes and/or pull requests for documentation
  • I have written useful comments in the code

When we rewrote scenario filtering to be a decode time operation we
missed a case that resulted in broken filtering. If we gave a list of
variants but did not include a scenario name the list would return
scenarnios with matching variants but would also include the scenario
name of scenarios that either didn't have a matrix defined or had no
matrix variants that matched.

Signed-off-by: Ryan Cragun <me@ryan.ec>
@ryancragun ryancragun requested a review from a team as a code owner December 19, 2025 21:05
@ryancragun ryancragun added the changelog/bug Fix for something that wasn't working. Will be included in "Bug Fixes" category in release notes. label Dec 19, 2025
@ryancragun ryancragun requested review from a team, brewgator, charlesn-hc, ej-hashi and raskchanky and removed request for a team December 19, 2025 21:06
Signed-off-by: Ryan Cragun <me@ryan.ec>
… match

Signed-off-by: Ryan Cragun <me@ryan.ec>
Signed-off-by: Ryan Cragun <me@ryan.ec>
Signed-off-by: Ryan Cragun <me@ryan.ec>
Signed-off-by: Ryan Cragun <me@ryan.ec>
Signed-off-by: Ryan Cragun <me@ryan.ec>
@ryancragun ryancragun merged commit e221469 into main Dec 19, 2025
9 checks passed
@ryancragun ryancragun deleted the ryan/VAULT-41529 branch December 19, 2025 22:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog/bug Fix for something that wasn't working. Will be included in "Bug Fixes" category in release notes.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants