Skip to content

rpk: add 'rpk sql debug bundle' for Oxla diagnostics#31078

Open
Bixkog wants to merge 1 commit into
redpanda-data:devfrom
Bixkog:sql-debug-bundle
Open

rpk: add 'rpk sql debug bundle' for Oxla diagnostics#31078
Bixkog wants to merge 1 commit into
redpanda-data:devfrom
Bixkog:sql-debug-bundle

Conversation

@Bixkog

@Bixkog Bixkog commented Jul 13, 2026

Copy link
Copy Markdown

Adds a new standalone rpk sql debug bundle command that collects a read-only
diagnostic bundle from an Oxla (SQL) cluster over its admin API
(oxla.admin.v1.DebugService).

The command seeds from --admin-hosts (default localhost:9090), discovers the
cluster via GetClusterNodes, and fans out per-node collection — config, logs,
startup logs, crash reports, host probes (unpacked Redpanda-style into
proc/* / linux-utils/*), resource usage, and a Prometheus /metrics time
series (scraped twice ~1s apart) — plus cluster-wide artifacts (topology, catalog
head). Results are written as a ZIP under an sql/ subtree with a manifest.json
and a per-RPC errors.txt roll-up; one failing RPC or unreachable node does not
fail the bundle. --upload-url PUTs the finished bundle in addition to the local
copy.

It reuses the existing debugbundle.SanitizeName and debugbundle.UploadBundle
helpers. The admin client is a small stdlib-only Connect-unary JSON client, so the
command adds no new dependencies and is cross-platform, and it constructs no Kafka
client. It is intentionally a separate command from rpk debug bundle.

Backports Required

  • none - not a bug fix

Release Notes

Features

  • rpk sql debug bundle collects a diagnostic bundle from an Oxla (SQL) cluster.

@CLAassistant

CLAassistant commented Jul 13, 2026

Copy link
Copy Markdown

CLA assistant check
All committers have signed the CLA.

@Bixkog Bixkog force-pushed the sql-debug-bundle branch from 779125f to f493ace Compare July 13, 2026 14:07
@Bixkog Bixkog marked this pull request as ready for review July 13, 2026 16:54
@Bixkog Bixkog requested review from a team, kbatuigas and r-vasquez as code owners July 13, 2026 16:54
New standalone command that collects a read-only debug bundle from an Oxla (SQL) cluster over the oxla.admin.v1.DebugService admin API. It seeds from --admin-hosts (default localhost:9090), discovers the cluster via GetClusterNodes, and fans out per-node collection (config, logs, host probes, resource usage, a Prometheus /metrics time series) plus cluster-wide artifacts (topology, catalog head), writing a ZIP under an sql/ subtree with a manifest.json and a per-RPC errors.txt roll-up; one failing RPC or unreachable node does not fail the bundle.

Reuses rpk's debugbundle.SanitizeName and debugbundle.UploadBundle (--upload-url). The admin client is a stdlib-only Connect-unary JSON client, so it adds no dependencies and is cross-platform.

Part of OXLA-9616 (Oxla debug-bundle epic OXLA-9528).
@vbotbuildovich

Copy link
Copy Markdown
Collaborator

CI test results

test results on build#87061
test_status test_class test_method test_arguments test_kind job_url passed reason test_history
FLAKY(PASS) ShadowLinkTopicFailoverTests test_producer_ids_failover {"storage_mode": "cloud"} integration https://buildkite.com/redpanda/redpanda/builds/87061#019f5fc9-c5a7-4fd6-921d-9d1c7ca4d08b 10/11 Test PASSES after retries.No significant increase in flaky rate(baseline=0.0031, p0=1.0000, reject_threshold=0.0100. adj_baseline=0.1000, p1=0.3487, trust_threshold=0.5000) https://redpanda.metabaseapp.com/dashboard/87-tests?tab=142-dt-individual-test-history&test_class=ShadowLinkTopicFailoverTests&test_method=test_producer_ids_failover
FLAKY(PASS) NodeWiseRecoveryTest test_recovery_local_data_missing {"wait_for_final_manifest_uploads": false} integration https://buildkite.com/redpanda/redpanda/builds/87061#019f5fc9-c5a5-416a-8c61-b59ec2e4b792 10/11 Test PASSES after retries.No significant increase in flaky rate(baseline=0.0667, p0=1.0000, reject_threshold=0.0100. adj_baseline=0.1870, p1=0.1262, trust_threshold=0.5000) https://redpanda.metabaseapp.com/dashboard/87-tests?tab=142-dt-individual-test-history&test_class=NodeWiseRecoveryTest&test_method=test_recovery_local_data_missing

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants