This is an automated email from the ASF dual-hosted git repository.
wu-sheng pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/skywalking-graalvm-distro.git
The following commit(s) were added to refs/heads/main by this push:
new 7976813 Sync upstream to 89624809f0 + adopt swctl admin e2e migration
(#30)
7976813 is described below
commit 7976813d24c04e88657f496ae9f693022b08dbe1
Author: 吴晟 Wu Sheng <[email protected]>
AuthorDate: Thu Jun 4 14:44:50 2026 +0800
Sync upstream to 89624809f0 + adopt swctl admin e2e migration (#30)
Advance the skywalking submodule ad733554b0 -> 89624809f0 (4 commits;
docs + e2e only, no production code). The relevant change is upstream
#13889, which migrated the e2e admin-API calls from raw curl to the new
`swctl admin ...` command tree and bumped skywalking-cli to an
admin-capable build.
- Bump SW_CTL_COMMIT 9a1beab0 -> b447211a (admin-capable swctl).
- Drive the live-debugging admin checks through `swctl admin dsl-debug` /
`runtime-rule` / `oal` alongside the existing raw-curl contract checks:
the distro stub returns HTTP 501, so swctl exits non-zero and logs its
typed error envelope; grep recovers httpStatus + error code + feature
root, proving the official CLI surfaces a clean "unsupported"
(feature_not_available_in_graalvm_native) rather than a confusing 404.
Install swctl in the live-debugging case setup.
- Update version-mapping.md dev row and changes/changes.md.
---
changes/changes.md | 5 ++-
docs/version-mapping.md | 2 +-
skywalking | 2 +-
test/e2e/cases/live-debugging/e2e.yaml | 7 +++-
.../expected/swctl-dsl-debugging-501.yml | 20 ++++++++++
.../expected/swctl-runtime-rule-501.yml | 21 ++++++++++
.../cases/live-debugging/live-debugging-cases.yaml | 46 ++++++++++++++++++++++
test/e2e/script/env | 4 +-
8 files changed, 100 insertions(+), 7 deletions(-)
diff --git a/changes/changes.md b/changes/changes.md
index f0b5fe8..68197e0 100644
--- a/changes/changes.md
+++ b/changes/changes.md
@@ -4,7 +4,7 @@
### Upstream Sync
-- Sync SkyWalking submodule to upstream `ad733554b0` (11.0.0-SNAPSHOT).
+- Sync SkyWalking submodule to upstream `89624809f0` (11.0.0-SNAPSHOT).
- Wire the admin-server family on the admin host (HTTP `:17128`,
admin-internal gRPC `:17129`): `admin-server`, `status` (relocated from the
10.x `status-query` plugin — `/status/*`, `/debugging/*`), `inspect` (SWIP-14
metric catalog, `/inspect/*`), and `ui-management` (dashboard-template REST for
the Horizon UI, `/ui-management/*`). The `status-query` plugin is removed.
- Enable iOS (SWIP-11) and mini-program (SWIP-12) OTel metrics rules and Envoy
AI Gateway MCP rules; add the mini-program log-MAL rules and the
`ai_route_type` searchable log tag.
- Drop the bundled UI templates: upstream 11.0.0 removed
`ui-initialized-templates/` and `UITemplateInitializer`; templates are now
managed via `ui-management`.
@@ -20,7 +20,7 @@
### Documentation
-- Document the admin-server family, the status relocation, and the unsupported
DSL-debugging / runtime-rule features (HTTP 501) in `distro-policy.md` and
`supported-features.md`; add the `0.4.0` → `ad733554b0` row to
`version-mapping.md`.
+- Document the admin-server family, the status relocation, and the unsupported
DSL-debugging / runtime-rule features (HTTP 501) in `distro-policy.md` and
`supported-features.md`; add the `0.4.0` → `89624809f0` row to
`version-mapping.md`.
### Testing
@@ -32,6 +32,7 @@
- Bump `skywalking-infra-e2e` to upstream's pin (`0d917694`) — the synced e2e
expected-output templates use the `containsOnce` verify function, which the
prior pin predated.
- Remove the `menu` e2e case (CI matrix + wrapper): upstream dropped the
bundled UI in 11.0.0 (#13877), deleting `test/e2e-v2/cases/menu/`, so the
distro wrapper referenced a non-existent reuse file.
- Add the `live-debugging` e2e case: boots the native OAP and asserts the
admin-server (`:17128`) returns the structured HTTP 501 for the DSL live
debugger (`/dsl-debugging/*`) and runtime-rule (`/runtime/*`) endpoints. The
first e2e to exercise the admin port — it caught the missing reflection
registration noted above (the stub had been returning 404).
+- Adopt the upstream **swctl admin** migration (#13889): bump the pinned
`skywalking-cli` (`SW_CTL_COMMIT`) to the admin-capable commit (`b447211a`) and
drive the `live-debugging` admin checks through `swctl admin dsl-debug` /
`runtime-rule` / `oal` alongside the existing raw-curl contract checks —
verifying that the official CLI surfaces this distro's structured HTTP 501
(`feature_not_available_in_graalvm_native`) for both the DSL live debugger and
runtime-rule roots, rather than crashi [...]
## 0.3.0
diff --git a/docs/version-mapping.md b/docs/version-mapping.md
index fd03a15..1d135d3 100644
--- a/docs/version-mapping.md
+++ b/docs/version-mapping.md
@@ -8,7 +8,7 @@ Otherwise, it is shown as `{commit-id}-SNAPSHOT` indicating a
development build
<!-- DOC-CHECK: version-mapping-table -->
| Distro Version | Apache SkyWalking Version |
|---|---|
-| 0.4.0-SNAPSHOT (dev) | `ad733554b027`-SNAPSHOT |
+| 0.4.0-SNAPSHOT (dev) | `89624809f078`-SNAPSHOT |
| 0.3.0 | 10.4.0 |
| 0.2.1 | `64a1795d8a58`-SNAPSHOT |
| 0.2.0 | `64a1795d8a58`-SNAPSHOT |
diff --git a/skywalking b/skywalking
index ad73355..8962480 160000
--- a/skywalking
+++ b/skywalking
@@ -1 +1 @@
-Subproject commit ad733554b0273d6165eff7bae4150df83d49ebe8
+Subproject commit 89624809f078b6424b474323ae091f72b9e694b4
diff --git a/test/e2e/cases/live-debugging/e2e.yaml
b/test/e2e/cases/live-debugging/e2e.yaml
index 31f0c3b..739d128 100644
--- a/test/e2e/cases/live-debugging/e2e.yaml
+++ b/test/e2e/cases/live-debugging/e2e.yaml
@@ -19,7 +19,10 @@
# image cannot do. This distro pre-compiles all DSL at build time and serves a
structured
# HTTP 501 for those admin-server endpoints. This case verifies that contract.
# Verify-only (no trigger): infra-e2e's trigger step aborts on a non-2xx
response, so the
-# 501 is asserted through verify cases that curl the admin-server (port 17128)
directly.
+# 501 is asserted through verify cases. Two complementary views: raw curl
against the
+# admin-server (port 17128) pins the exact HTTP-contract body, while `swctl
admin ...`
+# checks that the upstream admin-capable CLI (#13889) surfaces the same 501
cleanly to
+# end users instead of crashing or reporting a confusing 404.
setup:
env: compose
@@ -29,6 +32,8 @@ setup:
steps:
- name: set PATH
command: export PATH=/tmp/skywalking-infra-e2e/bin:$PATH
+ - name: install swctl
+ command: bash
skywalking/test/e2e-v2/script/prepare/setup-e2e-shell/install.sh swctl
verify:
retry:
diff --git a/test/e2e/cases/live-debugging/expected/swctl-dsl-debugging-501.yml
b/test/e2e/cases/live-debugging/expected/swctl-dsl-debugging-501.yml
new file mode 100644
index 0000000..ac6a049
--- /dev/null
+++ b/test/e2e/cases/live-debugging/expected/swctl-dsl-debugging-501.yml
@@ -0,0 +1,20 @@
+# 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.
+
+# `swctl admin dsl-debug ...` against this distro: the official CLI surfaces
the
+# stub's HTTP 501 (feature_not_available_in_graalvm_native) for the
dsl-debugging root.
+httpStatus: 501
+error: feature_not_available_in_graalvm_native
+feature: dsl-debugging
diff --git a/test/e2e/cases/live-debugging/expected/swctl-runtime-rule-501.yml
b/test/e2e/cases/live-debugging/expected/swctl-runtime-rule-501.yml
new file mode 100644
index 0000000..56522e5
--- /dev/null
+++ b/test/e2e/cases/live-debugging/expected/swctl-runtime-rule-501.yml
@@ -0,0 +1,21 @@
+# 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.
+
+# `swctl admin runtime-rule list` / `admin oal files` against this distro: the
official
+# CLI surfaces the stub's HTTP 501 (feature_not_available_in_graalvm_native)
for the
+# runtime-rule root.
+httpStatus: 501
+error: feature_not_available_in_graalvm_native
+feature: runtime-rule
diff --git a/test/e2e/cases/live-debugging/live-debugging-cases.yaml
b/test/e2e/cases/live-debugging/live-debugging-cases.yaml
index 8459563..1f3de02 100644
--- a/test/e2e/cases/live-debugging/live-debugging-cases.yaml
+++ b/test/e2e/cases/live-debugging/live-debugging-cases.yaml
@@ -41,3 +41,49 @@ cases:
expected: expected/http-status-501.yml
- query: "echo httpStatus: $(curl -s -o /dev/null -w '%{http_code}'
http://${oap_host}:${oap_17128}/runtime/rule/list)"
expected: expected/http-status-501.yml
+
+ # --- Same 501 contract, now seen through the official `swctl admin` CLI
----------------
+ # Upstream #13889 moved the e2e admin-API calls from raw curl to the `swctl
admin ...`
+ # command tree (SW_CTL_COMMIT bumped to the admin-capable build). Those same
commands run
+ # against this distro must degrade cleanly: the stub returns HTTP 501, so
swctl exits
+ # non-zero and logs its typed error envelope ("admin API <url>: HTTP 501:
<body>") — the
+ # distro's structured body rides along inside it. `2>&1 || true` captures
the envelope;
+ # grep pulls the stable fields back out (httpStatus + error code + feature
root), proving
+ # the CLI reports a clean "unsupported" rather than crashing or a confusing
404. The
+ # feature root is the first dsl-debugging/runtime-rule token in the envelope
(the path for
+ # dsl-debug, the feature field for runtime-rule — both resolve to the
correct root).
+ - query: |
+ out=$(swctl --display json --admin-url=http://${oap_host}:${oap_17128}
admin dsl-debug status 2>&1 || true)
+ printf 'httpStatus: %s\nerror: %s\nfeature: %s\n' \
+ "$(echo "$out" | grep -oE 'HTTP [0-9]+' | grep -oE '[0-9]+' | head
-1)" \
+ "$(echo "$out" | grep -oE 'feature_not_available_in_graalvm_native' |
head -1)" \
+ "$(echo "$out" | grep -oE 'dsl-debugging|runtime-rule' | head -1)"
+ expected: expected/swctl-dsl-debugging-501.yml
+ - query: |
+ out=$(swctl --display json --admin-url=http://${oap_host}:${oap_17128}
admin dsl-debug sessions 2>&1 || true)
+ printf 'httpStatus: %s\nerror: %s\nfeature: %s\n' \
+ "$(echo "$out" | grep -oE 'HTTP [0-9]+' | grep -oE '[0-9]+' | head
-1)" \
+ "$(echo "$out" | grep -oE 'feature_not_available_in_graalvm_native' |
head -1)" \
+ "$(echo "$out" | grep -oE 'dsl-debugging|runtime-rule' | head -1)"
+ expected: expected/swctl-dsl-debugging-501.yml
+ - query: |
+ out=$(swctl --display json --admin-url=http://${oap_host}:${oap_17128}
admin dsl-debug session start --catalog otel-rules --name vm --rule-name
vm_memory_used 2>&1 || true)
+ printf 'httpStatus: %s\nerror: %s\nfeature: %s\n' \
+ "$(echo "$out" | grep -oE 'HTTP [0-9]+' | grep -oE '[0-9]+' | head
-1)" \
+ "$(echo "$out" | grep -oE 'feature_not_available_in_graalvm_native' |
head -1)" \
+ "$(echo "$out" | grep -oE 'dsl-debugging|runtime-rule' | head -1)"
+ expected: expected/swctl-dsl-debugging-501.yml
+ - query: |
+ out=$(swctl --display json --admin-url=http://${oap_host}:${oap_17128}
admin runtime-rule list 2>&1 || true)
+ printf 'httpStatus: %s\nerror: %s\nfeature: %s\n' \
+ "$(echo "$out" | grep -oE 'HTTP [0-9]+' | grep -oE '[0-9]+' | head
-1)" \
+ "$(echo "$out" | grep -oE 'feature_not_available_in_graalvm_native' |
head -1)" \
+ "$(echo "$out" | grep -oE 'dsl-debugging|runtime-rule' | head -1)"
+ expected: expected/swctl-runtime-rule-501.yml
+ - query: |
+ out=$(swctl --display json --admin-url=http://${oap_host}:${oap_17128}
admin oal files 2>&1 || true)
+ printf 'httpStatus: %s\nerror: %s\nfeature: %s\n' \
+ "$(echo "$out" | grep -oE 'HTTP [0-9]+' | grep -oE '[0-9]+' | head
-1)" \
+ "$(echo "$out" | grep -oE 'feature_not_available_in_graalvm_native' |
head -1)" \
+ "$(echo "$out" | grep -oE 'dsl-debugging|runtime-rule' | head -1)"
+ expected: expected/swctl-runtime-rule-501.yml
diff --git a/test/e2e/script/env b/test/e2e/script/env
index 69b17ba..023f27d 100644
--- a/test/e2e/script/env
+++ b/test/e2e/script/env
@@ -17,11 +17,11 @@
# Update when syncing the skywalking submodule.
SW_AGENT_JAVA_COMMIT=ac0df43d7140e726eba9e5e5b1b75cf364c71dff
SW_BANYANDB_COMMIT=84b919efca3fee3d51df9e97a734a9f10ae6f1d2
-SW_CTL_COMMIT=9a1beab08413ce415a00a8547a238a14691c5655
+SW_CTL_COMMIT=b447211a9319eeb29a445335e9c2536f8c1aa23d
SW_KUBERNETES_COMMIT_SHA=da0e267f877b9b8e5f7728ae4ea7dc7723a2a073
# UI image pin for the istio-als e2e test (ghcr.io/apache/skywalking/ui:<sha>).
-# NOT bumped to the synced submodule commit ad733554b0: 11.0.0 dropped the
bundled UI,
+# NOT bumped to the synced submodule commit 89624809f0: 11.0.0 dropped the
bundled UI,
# so ghcr.io/apache/skywalking/ui is no longer published at recent commits.
Kept at the
# last commit whose UI image exists. The pins below track the sync.
SW_UPSTREAM_COMMIT=f79451d3de23edb15277f5b6e315dc6779e73e1f