This guide explains how to customize the test matrix to focus on specific configurations or expand coverage.
Conformance EE generates test scenarios by combining:
The total number of scenarios is the product of all these dimensions, after deduplication.
Use the included and excluded fields to filter the test matrix:
included:
clusterDescriptions:
- "with cni plugin set to canal"
- "with proxy mode set to ipvs"
machineDescriptions:
- "with ubuntu"
When included is non-empty, only scenarios matching at least one description are kept.
excluded:
clusterDescriptions:
- "with mla-logging enabled"
- "with opa integration enabled"
Excluded descriptions are applied after includes and remove any matching scenarios.
Reduce the matrix by limiting resource combinations:
# Minimal: single resource size
resources:
cpu: [2]
memory: ["4Gi"]
diskSize: ["20Gi"]
# Full: multiple resource sizes (4x more scenarios)
resources:
cpu: [2, 4]
memory: ["4Gi", "8Gi"]
diskSize: ["20Gi", "50Gi"]
releases:
- "1.31"
# Add more versions to expand testing
- "1.32"
enableDistributions:
- ubuntu
- flatcar
- rhel
- rockylinux
# Or exclude specific ones
excludeDistributions:
- rhel
When running as a Kubernetes Job, you can further narrow the test scope using runtime flags in the Job spec’s args without changing the config file:
args:
- --datacenters=dc-1
- --kube-versions=1.31
To preview all generated scenarios without executing them, use a dry-run. When running in-cluster, add the following to the Job spec’s args:
args:
- --ginkgo.dry-run
- --ginkgo.v
This lists every spec that would run, helping you estimate the size of your test matrix and verify your filters are working correctly.