scylla: add container-based config discovery support - #24498
Merged
Conversation
Adds a discovery strategy targeting the openmetrics_endpoint on port 9180 (scylla's Prometheus metrics port), generates auto_conf.yaml with ad_identifiers=[scylla], wires get_e2e_discovery_metadata() into the E2E fixture, and adds test_e2e_discovery/test_e2e_discovery_all_candidates tests to validate discovered configs against the real scylla-db container. Environment: Datadog workspace Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Environment: Datadog workspace Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
🎉 All green!🧪 All tests passed 🎯 Code Coverage (details) 🔗 Commit SHA: f945f15 | Docs | Datadog PR Page | Give us feedback! |
Anchor the benign-error exclusion to the specific "rpc - client <addr>: server connection dropped: connection is closed" log shape instead of a bare trailing substring match, per Codex review feedback, so an unrelated error line that happens to contain the same trailing text isn't silently excluded too. Environment: Datadog workspace Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
vitkyrka
marked this pull request as ready for review
July 14, 2026 11:44
sarah-witt
approved these changes
Jul 14, 2026
Contributor
Validation ReportAll 21 validations passed. Show details
|
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.
What does this PR do?
Adds container-based config discovery support to scylla.
We only support the OpenMetrics version and not the legacy implementation.
Port selection rationale: Port 9180 is Scylla's documented Prometheus metrics port (Scylla Monitoring Stack Interfaces).
Container log noise from non-metrics candidates:
port_hintsonly lists 9180, but the discovery framework also generates a fallback candidate for every other port the container exposes (percandidate_ports()), including the internal storage RPC port 7000. Probing that port with a plain HTTP GET makes Scylla's own RPC layer log a benignERROR ... server connection dropped: connection is closedonce it rejects the unrecognized protocol magic.test_e2e_discovery_all_candidatesuses a customized log-pattern list that excludes only that specific benign substring via a negative lookahead, so a real crash or error from any candidate is still caught.Motivation
DSCVR-605.
Review checklist (to be filled by reviewers)
qa/requiredif this PR needs QA validation, orqa/skip-qaif it does not. Exactly one of the two is required.backport/<branch-name>label to the PR and it will automatically open a backport PR once this one is merged