Add BanyanDB cluster mode e2e tests for Istio (ALS + metrics)#13768
Merged
Add BanyanDB cluster mode e2e tests for Istio (ALS + metrics)#13768
Conversation
BanyanDB cluster: liaison x2, data x2, DNS discovery, native metadata. Access logs enabled on liaison nodes only. - istio/als/banyandb/e2e.yaml — ALS with BanyanDB cluster - istio/metrics/banyandb/e2e.yaml — Envoy metrics service with BanyanDB cluster - Extract shared verify cases into als-cases.yaml and metrics-cases.yaml - Add storage matrix (ES/BanyanDB) to e2e-test-istio job - Add BanyanDB metrics variant to e2e-test job matrix Verified locally: helm install creates correct cluster topology (2 liaison + 2 data-hot StatefulSets, DNS discovery, access log env vars on liaison only).
Access log activation commented out in all BanyanDB configs: - Docker Compose: base-compose, storage, tls, data-generate - Kind standalone: all 4 eBPF profiling tests - Kind cluster: both istio als/metrics BanyanDB tests Collect config (/tmp/accesslog/) kept in all e2e YAMLs so data is captured when access logs are manually enabled for debugging.
There was a problem hiding this comment.
Pull request overview
Adds BanyanDB cluster mode variants to the Istio e2e suite (ALS + Envoy Metrics Service) and refactors shared verification cases to be reused across ES/BanyanDB runs, while also reducing BanyanDB access-log noise by default in various e2e configs.
Changes:
- Added new Istio e2e scenarios that install SkyWalking with BanyanDB cluster topology and collect BanyanDB pod data on failures.
- Extracted shared
verify.casesfor Istio ALS and metrics tests into reusable*-cases.yamlincludes. - Updated CI workflow matrices/names to run Istio ALS tests against both ES and BanyanDB, and added a BanyanDB metrics-service entry.
Reviewed changes
Copilot reviewed 15 out of 15 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| test/e2e-v2/script/docker-compose/base-compose.yml | Disables BanyanDB access logs by default in base compose (debug-only comments). |
| test/e2e-v2/cases/storage/banyandb/tls/docker-compose.yml | Removes access-log flags from TLS compose command. |
| test/e2e-v2/cases/storage/banyandb/docker-compose.yml | Removes access-log flags from BanyanDB compose command (auth config). |
| test/e2e-v2/cases/storage/banyandb/data-generate/docker-compose.yml | Removes access-log flags from data-generate compose command. |
| test/e2e-v2/cases/profiling/ebpf/oncpu/banyandb/e2e.yaml | Comments out access-log Helm flags (but currently breaks the continued shell command). |
| test/e2e-v2/cases/profiling/ebpf/network/banyandb/e2e.yaml | Comments out access-log Helm flags (but currently breaks the continued shell command). |
| test/e2e-v2/cases/profiling/ebpf/continuous/banyandb/e2e.yaml | Comments out access-log Helm flags (but currently breaks the continued shell command). |
| test/e2e-v2/cases/profiling/ebpf/access_log/banyandb/e2e.yaml | Comments out access-log Helm flags (but currently breaks the continued shell command). |
| test/e2e-v2/cases/istio/metrics/metrics-cases.yaml | New shared verify cases for Istio metrics tests (ES/BanyanDB). |
| test/e2e-v2/cases/istio/metrics/e2e.yaml | Refactors verify section to include shared metrics cases. |
| test/e2e-v2/cases/istio/metrics/banyandb/e2e.yaml | New Istio metrics-service e2e using BanyanDB cluster mode + failure collection (but Helm command currently broken by inline comments). |
| test/e2e-v2/cases/istio/als/e2e.yaml | Refactors verify section to include shared ALS cases. |
| test/e2e-v2/cases/istio/als/banyandb/e2e.yaml | New Istio ALS e2e using BanyanDB cluster mode + failure collection (but Helm command currently broken by inline comments). |
| test/e2e-v2/cases/istio/als/als-cases.yaml | New shared verify cases for Istio ALS tests (ES/BanyanDB). |
| .github/workflows/skywalking.yaml | Expands Istio e2e workflow coverage with ES/BanyanDB storage matrix and adds a BanyanDB metrics-service run. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
… comment Access log flags placed as YAML comments before the command: | block to avoid breaking shell line continuations. Also fix wrong service name in metrics-cases.yaml comment (productpage → istio-ingressgateway).
- e2e-test: name: ${{ matrix.test.name }} (was E2E test with all matrix fields)
- e2e-test-java-versions: Java ${{ matrix.java-version }}
- e2e-test-banyandb-stages: ${{ matrix.test.name }}
- e2e-test-istio: Istio ALS (already done)
- e2e-test-istio-ambient: Istio Ambient ALS (already done)
Job names now show only the meaningful test identifier,
not the e2e YAML path or env vars.
wankai123
approved these changes
Mar 30, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add BanyanDB cluster mode as storage for Istio e2e tests
Adds BanyanDB cluster mode variants for Istio ALS and Envoy Metrics Service e2e tests.
BanyanDB cluster configuration:
New files:
test/e2e-v2/cases/istio/als/banyandb/e2e.yaml— ALS with BanyanDB clustertest/e2e-v2/cases/istio/metrics/banyandb/e2e.yaml— Envoy metrics service with BanyanDB clustertest/e2e-v2/cases/istio/als/als-cases.yaml— shared verify cases (extracted from als/e2e.yaml)test/e2e-v2/cases/istio/metrics/metrics-cases.yaml— shared verify cases (extracted from metrics/e2e.yaml)Workflow improvements:
e2e-test-istiojob: addedstoragematrix dimension (ES/BanyanDB) for ALS testse2e-testjob: addedIstio Metrics Service BanyanDB 1.29.0to matrix(JDK 11/17 compatibility covered by
e2e-test-java-versionsonly)e2e-test: uses${{ matrix.test.name }}directly (e.g.,Cluster ZK ES,Agent PHP)e2e-test-istio:Istio ALS (k8s-mesh, ES, 1.29.0, 28)e2e-test-istio-ambient:Istio Ambient ALS (k8s-mesh, 1.29.0, 28)e2e-test-java-versions:Java 11,Java 17,Java 25e2e-test-banyandb-stages:BanyanDB Stageswith instructions for enabling during debugging
Data collection on failure:
Collects from all BanyanDB pods via
label-selector: app.kubernetes.io/name=banyandb:skywalking-banyandb-liaison-{0,1}/tmp/accesslog/(when access logs enabled)skywalking-banyandb-data-hot-{0,1}/tmp/{trace,stream,measure,property,schema-property}/CI results (first run):
All 18 new BanyanDB ALS tests passed (k8s-mesh x 9 + mx-mesh x 9) ✅
BanyanDB Metrics Service 1.29.0 passed ✅
All existing BanyanDB tests passed ✅
If this pull request closes/resolves/fixes an existing issue, replace the issue number. Closes #.
Update the
CHANGESlog.