You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by "wu-sheng (via GitHub)" <gi...@apache.org> on 2026/03/29 12:41:30 UTC
[PR] Add BanyanDB cluster mode e2e tests for Istio (ALS + metrics) [skywalking]
wu-sheng opened a new pull request, #13768:
URL: https://github.com/apache/skywalking/pull/13768
### Add BanyanDB as storage for Istio e2e tests
- [x] Tests(including UT, IT, E2E) are added to verify the new feature.
Adds BanyanDB cluster mode variants for Istio ALS and Envoy Metrics Service e2e tests.
**BanyanDB cluster configuration:**
- 2 liaison nodes + 2 data nodes (hot)
- DNS service discovery (no etcd)
- Native metadata storage (property mode)
- Access logs enabled on liaison nodes only
**New files:**
- `test/e2e-v2/cases/istio/als/banyandb/e2e.yaml` — ALS with BanyanDB cluster
- `test/e2e-v2/cases/istio/metrics/banyandb/e2e.yaml` — Envoy metrics service with BanyanDB cluster
- `test/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 changes:**
- `e2e-test-istio` job: added `storage` matrix dimension (ES/BanyanDB) for ALS tests
- `e2e-test` job: added BanyanDB metrics variant for istio 1.29.0
**Verified locally:**
- Helm install creates correct cluster topology (2 liaison + 2 data-hot StatefulSets)
- DNS discovery configured, no etcd dependency
- Access log env vars set on liaison nodes only (not data nodes)
- StatefulSets created without errors
- [ ] If this pull request closes/resolves/fixes an existing issue, replace the issue number. Closes #<issue number>.
- [ ] Update the [`CHANGES` log](https://github.com/apache/skywalking/blob/master/docs/en/changes/changes.md).
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] Add BanyanDB cluster mode e2e tests for Istio (ALS + metrics) [skywalking]
Posted by "wu-sheng (via GitHub)" <gi...@apache.org>.
wu-sheng merged PR #13768:
URL: https://github.com/apache/skywalking/pull/13768
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] Add BanyanDB cluster mode e2e tests for Istio (ALS + metrics) [skywalking]
Posted by "Copilot (via GitHub)" <gi...@apache.org>.
Copilot commented on code in PR #13768:
URL: https://github.com/apache/skywalking/pull/13768#discussion_r3006360058
##########
test/e2e-v2/cases/profiling/ebpf/oncpu/banyandb/e2e.yaml:
##########
@@ -59,12 +59,14 @@ setup:
--set oap.image.repository=skywalking/oap \
--set oap.storageType=banyandb \
--set oap.env.SW_HEALTH_CHECKER=default \
- --set "banyandb.standalone.env[0].name=BYDB_ENABLE_INGESTION_ACCESS_LOG" \
- --set "banyandb.standalone.env[0].value=\"true\"" \
- --set "banyandb.standalone.env[1].name=BYDB_ENABLE_QUERY_ACCESS_LOG" \
- --set "banyandb.standalone.env[1].value=\"true\"" \
- --set "banyandb.standalone.env[2].name=BYDB_ACCESS_LOG_ROOT_PATH" \
- --set "banyandb.standalone.env[2].value=/tmp" \
+ # Uncomment to enable BanyanDB access logs for debugging:
+ # --set "banyandb.standalone.env[0].name=BYDB_ENABLE_INGESTION_ACCESS_LOG" \
+ # Uncomment to enable BanyanDB access logs for debugging:
+ # --set "banyandb.standalone.env[0].value=\"true\"" \
Review Comment:
The inline `# ...` comment lines are placed inside a `helm ... \` line-continued shell command. Because the previous `--set ... \` escapes the newline, the `#` becomes part of the same command line and comments out the remaining arguments (including the `-f ...`), which will break the install step. Move these debug comments outside the `command: |` block, or refactor so comments are on lines that are not preceded by a trailing `\` (e.g., use an `EXTRA_ARGS` variable and append it).
##########
test/e2e-v2/cases/profiling/ebpf/network/banyandb/e2e.yaml:
##########
@@ -62,12 +62,14 @@ setup:
--set oap.image.repository=skywalking/oap \
--set oap.storageType=banyandb \
--set oap.env.SW_HEALTH_CHECKER=default \
- --set "banyandb.standalone.env[0].name=BYDB_ENABLE_INGESTION_ACCESS_LOG" \
- --set "banyandb.standalone.env[0].value=\"true\"" \
- --set "banyandb.standalone.env[1].name=BYDB_ENABLE_QUERY_ACCESS_LOG" \
- --set "banyandb.standalone.env[1].value=\"true\"" \
- --set "banyandb.standalone.env[2].name=BYDB_ACCESS_LOG_ROOT_PATH" \
- --set "banyandb.standalone.env[2].value=/tmp" \
+ # Uncomment to enable BanyanDB access logs for debugging:
+ # --set "banyandb.standalone.env[0].name=BYDB_ENABLE_INGESTION_ACCESS_LOG" \
+ # Uncomment to enable BanyanDB access logs for debugging:
+ # --set "banyandb.standalone.env[0].value=\"true\"" \
Review Comment:
The `helm ... \` command uses backslash line continuations, but the newly added `# Uncomment ...` lines are inserted mid-command. With the preceding trailing `\`, the `#` is concatenated into the same shell line and comments out the rest of the helm arguments, causing the install step to behave incorrectly. Please move these comments outside the continued command or restructure the optional flags so they don't introduce `#` immediately after a continued line.
##########
test/e2e-v2/cases/profiling/ebpf/continuous/banyandb/e2e.yaml:
##########
@@ -59,12 +59,14 @@ setup:
--set oap.image.repository=skywalking/oap \
--set oap.storageType=banyandb \
--set oap.env.SW_HEALTH_CHECKER=default \
- --set "banyandb.standalone.env[0].name=BYDB_ENABLE_INGESTION_ACCESS_LOG" \
- --set "banyandb.standalone.env[0].value=\"true\"" \
- --set "banyandb.standalone.env[1].name=BYDB_ENABLE_QUERY_ACCESS_LOG" \
- --set "banyandb.standalone.env[1].value=\"true\"" \
- --set "banyandb.standalone.env[2].name=BYDB_ACCESS_LOG_ROOT_PATH" \
- --set "banyandb.standalone.env[2].value=/tmp" \
+ # Uncomment to enable BanyanDB access logs for debugging:
+ # --set "banyandb.standalone.env[0].name=BYDB_ENABLE_INGESTION_ACCESS_LOG" \
+ # Uncomment to enable BanyanDB access logs for debugging:
+ # --set "banyandb.standalone.env[0].value=\"true\"" \
Review Comment:
The added `# Uncomment ...` lines are inside a multi-line `helm ... \` command that relies on backslash continuations. Since the previous line ends with `\`, the `#` is treated as an in-line comment on the same shell command, which effectively drops the remaining arguments (including the values file). Please move these comments outside the `helm` command block or refactor the optional flags so they don't appear after a continued line.
##########
test/e2e-v2/cases/istio/metrics/metrics-cases.yaml:
##########
@@ -0,0 +1,126 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Shared verify cases for Istio metrics tests (ES and BanyanDB variants)
+
+cases:
+ # service list
+ - query: swctl --display yaml --base-url=http://${service_skywalking_ui_host}:${service_skywalking_ui_80}/graphql service ls
+ expected: expected/service.yml
+ # service instance list
+ - query: swctl --display yaml --base-url=http://${service_skywalking_ui_host}:${service_skywalking_ui_80}/graphql instance list --service-name=e2e::productpage
+ expected: expected/service-instance.yml
+ - query: swctl --display yaml --base-url=http://${service_skywalking_ui_host}:${service_skywalking_ui_80}/graphql instance list --service-name=e2e::istio-ingressgateway
+ expected: expected/service-instance.yml
+
+ # service instance metrics: e2e::productpage
+ - query: |
+ swctl --display yaml --base-url=http://${service_skywalking_ui_host}:${service_skywalking_ui_80}/graphql metrics exec --expression=envoy_heap_memory_used --service-name=e2e::productpage --instance-name=$( \
+ swctl --display yaml --base-url=http://${service_skywalking_ui_host}:${service_skywalking_ui_80}/graphql instance list --service-name=e2e::productpage | yq e '.[0].name' -
+ )
+ expected: expected/metrics-has-value.yml
+ - query: |
+ swctl --display yaml --base-url=http://${service_skywalking_ui_host}:${service_skywalking_ui_80}/graphql metrics exec --expression=envoy_heap_memory_max_used --service-name=e2e::productpage --instance-name=$( \
+ swctl --display yaml --base-url=http://${service_skywalking_ui_host}:${service_skywalking_ui_80}/graphql instance list --service-name=e2e::productpage | yq e '.[0].name' -
+ )
+ expected: expected/metrics-has-value.yml
+ - query: |
+ swctl --display yaml --base-url=http://${service_skywalking_ui_host}:${service_skywalking_ui_80}/graphql metrics exec --expression=envoy_memory_allocated --service-name=e2e::productpage --instance-name=$( \
+ swctl --display yaml --base-url=http://${service_skywalking_ui_host}:${service_skywalking_ui_80}/graphql instance list --service-name=e2e::productpage | yq e '.[0].name' -
+ )
+ expected: expected/metrics-has-value.yml
+ - query: |
+ swctl --display yaml --base-url=http://${service_skywalking_ui_host}:${service_skywalking_ui_80}/graphql metrics exec --expression=envoy_memory_allocated_max --service-name=e2e::productpage --instance-name=$( \
+ swctl --display yaml --base-url=http://${service_skywalking_ui_host}:${service_skywalking_ui_80}/graphql instance list --service-name=e2e::productpage | yq e '.[0].name' -
+ )
+ expected: expected/metrics-has-value.yml
+ - query: |
+ swctl --display yaml --base-url=http://${service_skywalking_ui_host}:${service_skywalking_ui_80}/graphql metrics exec --expression=envoy_memory_physical_size --service-name=e2e::productpage --instance-name=$( \
+ swctl --display yaml --base-url=http://${service_skywalking_ui_host}:${service_skywalking_ui_80}/graphql instance list --service-name=e2e::productpage | yq e '.[0].name' -
+ )
+ expected: expected/metrics-has-value.yml
+ - query: |
+ swctl --display yaml --base-url=http://${service_skywalking_ui_host}:${service_skywalking_ui_80}/graphql metrics exec --expression=envoy_memory_physical_size_max --service-name=e2e::productpage --instance-name=$( \
+ swctl --display yaml --base-url=http://${service_skywalking_ui_host}:${service_skywalking_ui_80}/graphql instance list --service-name=e2e::productpage | yq e '.[0].name' -
+ )
+ expected: expected/metrics-has-value.yml
+ - query: |
+ swctl --display yaml --base-url=http://${service_skywalking_ui_host}:${service_skywalking_ui_80}/graphql metrics exec --expression=envoy_worker_threads --service-name=e2e::productpage --instance-name=$( \
+ swctl --display yaml --base-url=http://${service_skywalking_ui_host}:${service_skywalking_ui_80}/graphql instance list --service-name=e2e::productpage | yq e '.[0].name' -
+ )
+ expected: expected/metrics-has-value.yml
+ - query: |
+ swctl --display yaml --base-url=http://${service_skywalking_ui_host}:${service_skywalking_ui_80}/graphql metrics exec --expression=envoy_worker_threads_max --service-name=e2e::productpage --instance-name=$( \
+ swctl --display yaml --base-url=http://${service_skywalking_ui_host}:${service_skywalking_ui_80}/graphql instance list --service-name=e2e::productpage | yq e '.[0].name' -
+ )
+ expected: expected/metrics-has-value.yml
+ # service instance metrics: e2e::istio-ingressgateway
+ - query: |
+ swctl --display yaml --base-url=http://${service_skywalking_ui_host}:${service_skywalking_ui_80}/graphql metrics exec --expression=envoy_heap_memory_used --service-name=e2e::istio-ingressgateway --instance-name=$( \
+ swctl --display yaml --base-url=http://${service_skywalking_ui_host}:${service_skywalking_ui_80}/graphql instance list --service-name=e2e::istio-ingressgateway | yq e '.[0].name' -
+ )
+ expected: expected/metrics-has-value.yml
+ - query: |
+ swctl --display yaml --base-url=http://${service_skywalking_ui_host}:${service_skywalking_ui_80}/graphql metrics exec --expression=envoy_heap_memory_max_used --service-name=e2e::istio-ingressgateway --instance-name=$( \
+ swctl --display yaml --base-url=http://${service_skywalking_ui_host}:${service_skywalking_ui_80}/graphql instance list --service-name=e2e::istio-ingressgateway | yq e '.[0].name' -
+ )
+ expected: expected/metrics-has-value.yml
+ - query: |
+ swctl --display yaml --base-url=http://${service_skywalking_ui_host}:${service_skywalking_ui_80}/graphql metrics exec --expression=envoy_memory_allocated --service-name=e2e::istio-ingressgateway --instance-name=$( \
+ swctl --display yaml --base-url=http://${service_skywalking_ui_host}:${service_skywalking_ui_80}/graphql instance list --service-name=e2e::istio-ingressgateway | yq e '.[0].name' -
+ )
+ expected: expected/metrics-has-value.yml
+ - query: |
+ swctl --display yaml --base-url=http://${service_skywalking_ui_host}:${service_skywalking_ui_80}/graphql metrics exec --expression=envoy_memory_allocated_max --service-name=e2e::istio-ingressgateway --instance-name=$( \
+ swctl --display yaml --base-url=http://${service_skywalking_ui_host}:${service_skywalking_ui_80}/graphql instance list --service-name=e2e::istio-ingressgateway | yq e '.[0].name' -
+ )
+ expected: expected/metrics-has-value.yml
+ - query: |
+ swctl --display yaml --base-url=http://${service_skywalking_ui_host}:${service_skywalking_ui_80}/graphql metrics exec --expression=envoy_memory_physical_size --service-name=e2e::istio-ingressgateway --instance-name=$( \
+ swctl --display yaml --base-url=http://${service_skywalking_ui_host}:${service_skywalking_ui_80}/graphql instance list --service-name=e2e::istio-ingressgateway | yq e '.[0].name' -
+ )
+ expected: expected/metrics-has-value.yml
+ - query: |
+ swctl --display yaml --base-url=http://${service_skywalking_ui_host}:${service_skywalking_ui_80}/graphql metrics exec --expression=envoy_memory_physical_size_max --service-name=e2e::istio-ingressgateway --instance-name=$( \
+ swctl --display yaml --base-url=http://${service_skywalking_ui_host}:${service_skywalking_ui_80}/graphql instance list --service-name=e2e::istio-ingressgateway | yq e '.[0].name' -
+ )
+ expected: expected/metrics-has-value.yml
+ - query: |
+ swctl --display yaml --base-url=http://${service_skywalking_ui_host}:${service_skywalking_ui_80}/graphql metrics exec --expression=envoy_worker_threads --service-name=e2e::istio-ingressgateway --instance-name=$( \
+ swctl --display yaml --base-url=http://${service_skywalking_ui_host}:${service_skywalking_ui_80}/graphql instance list --service-name=e2e::istio-ingressgateway | yq e '.[0].name' -
+ )
+ expected: expected/metrics-has-value.yml
+ - query: |
+ swctl --display yaml --base-url=http://${service_skywalking_ui_host}:${service_skywalking_ui_80}/graphql metrics exec --expression=envoy_worker_threads_max --service-name=e2e::istio-ingressgateway --instance-name=$( \
+ swctl --display yaml --base-url=http://${service_skywalking_ui_host}:${service_skywalking_ui_80}/graphql instance list --service-name=e2e::istio-ingressgateway | yq e '.[0].name' -
+ )
+ expected: expected/metrics-has-value.yml
+
+ # service instance labeled metrics: e2e::productpage, label: e2e::details
+ - query: |
+ swctl --display yaml --base-url=http://${service_skywalking_ui_host}:${service_skywalking_ui_80}/graphql metrics exec --expression=envoy_cluster_membership_healthy{cluster_name=\"e2e::details\"} --service-name=e2e::productpage --instance-name=$( \
+ swctl --display yaml --base-url=http://${service_skywalking_ui_host}:${service_skywalking_ui_80}/graphql instance list --service-name=e2e::productpage | yq e '.[0].name' -
+ )
+ expected: expected/metrics-has-value-label.yml
+ # service instance labeled metrics: e2e::productpage, label: e2e::details
Review Comment:
This comment says the labeled metric is for `e2e::productpage`, but the query below uses `--service-name=e2e::istio-ingressgateway`. Please update the comment to match the actual service to avoid confusion when debugging test failures.
```suggestion
# service instance labeled metrics: e2e::istio-ingressgateway, label: e2e::details
```
##########
test/e2e-v2/cases/istio/metrics/banyandb/e2e.yaml:
##########
@@ -0,0 +1,132 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Istio Envoy Metrics Service test with BanyanDB cluster mode (liaison x2, data x2, DNS discovery, native metadata)
+
+setup:
+ env: kind
+ file: ../../kind.k${KUBERNETES_VERSION}.yaml
+ init-system-environment: ../../../../script/env
+ kind:
+ import-images:
+ - skywalking/ui:latest
+ - skywalking/oap:latest
+ expose-ports:
+ - namespace: istio-system
+ resource: service/skywalking-ui
+ port: 80
+ steps:
+ - name: set PATH
+ command: export PATH=/tmp/skywalking-infra-e2e/bin:$PATH
+ - name: install yq
+ command: bash test/e2e-v2/script/prepare/setup-e2e-shell/install.sh yq
+ - name: install swctl
+ command: bash test/e2e-v2/script/prepare/setup-e2e-shell/install.sh swctl
+ - name: install kubectl
+ command: bash test/e2e-v2/script/prepare/setup-e2e-shell/install.sh kubectl
+ - name: install istio
+ command: |
+ bash test/e2e-v2/script/prepare/setup-e2e-shell/install.sh istioctl
+ istioctl install -y --set profile=demo \
+ --set meshConfig.defaultConfig.envoyMetricsService.address=skywalking-oap.istio-system:11800 \
+ --set 'meshConfig.defaultConfig.proxyStatsMatcher.inclusionRegexps[0]=.*membership_healthy.*' \
+ --set 'meshConfig.defaultConfig.proxyStatsMatcher.inclusionRegexps[1]=.*upstream_cx_active.*' \
+ --set 'meshConfig.defaultConfig.proxyStatsMatcher.inclusionRegexps[2]=.*upstream_cx_total.*' \
+ --set 'meshConfig.defaultConfig.proxyStatsMatcher.inclusionRegexps[3]=.*upstream_rq_active.*' \
+ --set 'meshConfig.defaultConfig.proxyStatsMatcher.inclusionRegexps[4]=.*upstream_rq_total.*' \
+ --set 'meshConfig.defaultConfig.proxyStatsMatcher.inclusionRegexps[5]=.*upstream_rq_pending_active.*' \
+ --set 'meshConfig.defaultConfig.proxyStatsMatcher.inclusionRegexps[6]=.*lb_healthy_panic.*' \
+ --set 'meshConfig.defaultConfig.proxyStatsMatcher.inclusionRegexps[7]=.*upstream_cx_none_healthy.*' \
+ --set values.telemetry.v2.enabled=false
+ kubectl label namespace default istio-injection=enabled
+ - name: Install helm
+ command: bash test/e2e-v2/script/prepare/setup-e2e-shell/install.sh helm
+ - name: Install SkyWalking with BanyanDB cluster
+ command: |
+ helm -n istio-system install skywalking \
+ oci://ghcr.io/apache/skywalking-helm/skywalking-helm \
+ --version "0.0.0-${SW_KUBERNETES_COMMIT_SHA}" \
+ --set fullnameOverride=skywalking \
+ --set elasticsearch.enabled=false \
+ --set oap.env.SW_ENVOY_METRIC_ALS_HTTP_ANALYSIS=$ALS_ANALYZER \
+ --set oap.env.SW_ENVOY_METRIC_ALS_TCP_ANALYSIS=$ALS_ANALYZER \
+ --set oap.env.K8S_SERVICE_NAME_RULE='e2e::${service.metadata.name}' \
+ --set oap.env.SW_HEALTH_CHECKER=default \
+ --set oap.replicas=1 \
+ --set ui.image.repository=skywalking/ui \
+ --set ui.image.tag=latest \
+ --set oap.image.tag=latest \
+ --set oap.image.repository=skywalking/oap \
+ --set oap.storageType=banyandb \
+ --set banyandb.enabled=true \
+ --set banyandb.standalone.enabled=false \
+ --set banyandb.cluster.enabled=true \
+ --set banyandb.cluster.liaison.replicas=2 \
+ --set banyandb.cluster.data.nodeTemplate.replicas=2 \
+ --set banyandb.image.tag=${SW_BANYANDB_COMMIT} \
+ --set banyandb.image.repository=ghcr.io/apache/skywalking-banyandb \
+ # Uncomment to enable BanyanDB access logs for debugging:
+ # --set "banyandb.cluster.liaison.env[0].name=BYDB_ENABLE_INGESTION_ACCESS_LOG" \
+ # --set "banyandb.cluster.liaison.env[0].value=\"true\"" \
Review Comment:
The debug `# Uncomment to enable BanyanDB access logs...` lines are inserted into a backslash-continued `helm ... \` command. Since the previous line ends with `\`, the `#` becomes part of the same shell line and comments out the remaining helm args (including the `-f ...` values file), which will break this setup step. Please move these comments outside the continued command or restructure the optional args (e.g., use an env var holding extra flags).
##########
test/e2e-v2/cases/profiling/ebpf/access_log/banyandb/e2e.yaml:
##########
@@ -58,12 +58,14 @@ setup:
--set oap.image.repository=skywalking/oap \
--set oap.storageType=banyandb \
--set oap.env.SW_HEALTH_CHECKER=default \
- --set "banyandb.standalone.env[0].name=BYDB_ENABLE_INGESTION_ACCESS_LOG" \
- --set "banyandb.standalone.env[0].value=\"true\"" \
- --set "banyandb.standalone.env[1].name=BYDB_ENABLE_QUERY_ACCESS_LOG" \
- --set "banyandb.standalone.env[1].value=\"true\"" \
- --set "banyandb.standalone.env[2].name=BYDB_ACCESS_LOG_ROOT_PATH" \
- --set "banyandb.standalone.env[2].value=/tmp" \
+ # Uncomment to enable BanyanDB access logs for debugging:
+ # --set "banyandb.standalone.env[0].name=BYDB_ENABLE_INGESTION_ACCESS_LOG" \
+ # Uncomment to enable BanyanDB access logs for debugging:
+ # --set "banyandb.standalone.env[0].value=\"true\"" \
+ # --set "banyandb.standalone.env[1].name=BYDB_ENABLE_QUERY_ACCESS_LOG" \
+ # --set "banyandb.standalone.env[1].value=\"true\"" \
+ # --set "banyandb.standalone.env[2].name=BYDB_ACCESS_LOG_ROOT_PATH" \
+ # --set "banyandb.standalone.env[2].value=/tmp" \
-f test/e2e-v2/cases/profiling/ebpf/kubernetes-values.yaml
Review Comment:
The optional BanyanDB access-log `# ...` lines were inserted into a `helm ... \` command that uses backslash-newline continuations. With the preceding `\`, the `#` becomes part of the same command line and comments out subsequent helm args, which can break the install. Move the comments outside the continued helm command or restructure how the optional args are toggled.
```suggestion
-f test/e2e-v2/cases/profiling/ebpf/kubernetes-values.yaml
# Uncomment to enable BanyanDB access logs for debugging:
# --set "banyandb.standalone.env[0].name=BYDB_ENABLE_INGESTION_ACCESS_LOG"
# Uncomment to enable BanyanDB access logs for debugging:
# --set "banyandb.standalone.env[0].value=\"true\""
# --set "banyandb.standalone.env[1].name=BYDB_ENABLE_QUERY_ACCESS_LOG"
# --set "banyandb.standalone.env[1].value=\"true\""
# --set "banyandb.standalone.env[2].name=BYDB_ACCESS_LOG_ROOT_PATH"
# --set "banyandb.standalone.env[2].value=/tmp"
```
##########
test/e2e-v2/cases/istio/als/banyandb/e2e.yaml:
##########
@@ -0,0 +1,128 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Istio ALS test with BanyanDB cluster mode (liaison x2, data x2, DNS discovery, native metadata)
+
+setup:
+ env: kind
+ file: ../../kind.k${KUBERNETES_VERSION}.yaml
+ init-system-environment: ../../../../script/env
+ kind:
+ import-images:
+ - skywalking/ui:latest
+ - skywalking/oap:latest
+ expose-ports:
+ - namespace: istio-system
+ resource: service/skywalking-ui
+ port: 80
+ steps:
+ - name: set PATH
+ command: export PATH=/tmp/skywalking-infra-e2e/bin:$PATH
+ - name: install yq
+ command: bash test/e2e-v2/script/prepare/setup-e2e-shell/install.sh yq
+ - name: install swctl
+ command: bash test/e2e-v2/script/prepare/setup-e2e-shell/install.sh swctl
+ - name: install kubectl
+ command: bash test/e2e-v2/script/prepare/setup-e2e-shell/install.sh kubectl
+ - name: install istio
+ command: |
+ bash test/e2e-v2/script/prepare/setup-e2e-shell/install.sh istioctl
+ istioctl install -y --set profile=demo \
+ --set meshConfig.defaultConfig.envoyAccessLogService.address=skywalking-oap.istio-system:11800 \
+ --set meshConfig.enableEnvoyAccessLogService=true
+ kubectl label namespace default istio-injection=enabled
+ - name: Install helm
+ command: bash test/e2e-v2/script/prepare/setup-e2e-shell/install.sh helm
+ - name: Install SkyWalking with BanyanDB cluster
+ command: |
+ helm -n istio-system install skywalking \
+ oci://ghcr.io/apache/skywalking-helm/skywalking-helm \
+ --version "0.0.0-${SW_KUBERNETES_COMMIT_SHA}" \
+ --set fullnameOverride=skywalking \
+ --set elasticsearch.enabled=false \
+ --set oap.env.SW_ENVOY_METRIC_ALS_HTTP_ANALYSIS=$ALS_ANALYZER \
+ --set oap.env.SW_ENVOY_METRIC_ALS_TCP_ANALYSIS=$ALS_ANALYZER \
+ --set oap.env.K8S_SERVICE_NAME_RULE='e2e::${service.metadata.name}' \
+ --set oap.env.SW_HEALTH_CHECKER=default \
+ --set oap.envoy.als.enabled=true \
+ --set oap.replicas=1 \
+ --set ui.image.repository=skywalking/ui \
+ --set ui.image.tag=latest \
+ --set oap.image.tag=latest \
+ --set oap.image.repository=skywalking/oap \
+ --set oap.storageType=banyandb \
+ --set banyandb.enabled=true \
+ --set banyandb.standalone.enabled=false \
+ --set banyandb.cluster.enabled=true \
+ --set banyandb.cluster.liaison.replicas=2 \
+ --set banyandb.cluster.data.nodeTemplate.replicas=2 \
+ --set banyandb.image.tag=${SW_BANYANDB_COMMIT} \
+ --set banyandb.image.repository=ghcr.io/apache/skywalking-banyandb \
+ # Uncomment to enable BanyanDB access logs for debugging:
+ # --set "banyandb.cluster.liaison.env[0].name=BYDB_ENABLE_INGESTION_ACCESS_LOG" \
+ # --set "banyandb.cluster.liaison.env[0].value=\"true\"" \
Review Comment:
The `helm -n istio-system install skywalking \` command uses backslash continuations, but the inserted `# Uncomment ...` lines are placed mid-command. Because the preceding line ends with `\`, the `#` is concatenated into the same shell line and comments out the remaining helm arguments (including `-f test/e2e-v2/cases/istio/values.yaml`). This will break the install step. Move these debug comments outside the `command: |` block or refactor the optional flags so no `#` appears after a continued line.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org