Skip to content

Sync conf.yaml.example/config models with ddev + fix redis get_default_config collision - #3127

Merged
philjlee merged 2 commits into
masterfrom
philip.lee/fix-validate-config-models-drift
Aug 25, 2026
Merged

Sync conf.yaml.example/config models with ddev + fix redis get_default_config collision#3127
philjlee merged 2 commits into
masterfrom
philip.lee/fix-validate-config-models-drift

Conversation

@philjlee

@philjlee philjlee commented Aug 24, 2026

Copy link
Copy Markdown
Collaborator

What

Regenerates conf.yaml.example and config_models/{defaults,instance}.py for six integrations whose generated files had drifted out of sync with the ddev version CI now runs, and renames a colliding get_default_config method in redis_cloud/redis_enterprise.

Why

Drift fix: The Validate workflow's pip install ddev is unpinned, so CI validates against whatever the latest ddev release is (18.0.0 as of this PR), while these files were last regenerated with an older ddev. That mismatch has been failing ddev validate config/ddev validate models on master for a while — it's unrelated to any specific PR's content, but any PR that touches one of these directories (even just adding an unrelated file) drags the whole directory into TARGET=changed scope and inherits the failure.

Affected:

  • conf.yaml.example: ocient, qdrant, redis_cloud, redis_enterprise, redpanda
  • config_models: mergify, ocient, qdrant, redis_cloud, redis_enterprise

Method collision fix: OpenMetricsBaseCheckV2.get_config_with_defaults() in a newer datadog_checks_base calls self.get_default_config() to seed scraper config from generated model defaults. RedisCloudCheck/RedisEnterpriseCheck each pre-existing define their own unrelated get_default_config() (returns default metric groups), which shadows the base class's method and causes ValueError: dictionary update sequence element #0 has length N; 2 is required at check init. Renamed both to get_default_metrics to remove the collision — this is a pre-existing bug, unrelated to the drift fix above, but it also lives in redis_cloud/redis_enterprise and hits the same TARGET=changed scoping problem, so it's combined into this PR rather than split into a separate one (see note below).

How

  • Regenerated with ddev validate config <check> -s / ddev validate models <check> -s using ddev 18.0.0 (matching CI), verified each is back in sync. No manual edits — every changed file is fully autogenerated from assets/configuration/spec.yaml.
  • Renamed get_default_configget_default_metrics in redis_cloud/datadog_checks/redis_cloud/check.py and redis_enterprise/datadog_checks/redis_enterprise/check.py, updating the one call site in each. Verified locally with ddev test redis_cloud/redis_enterprise (5/5, 7/7 passing) and ddev validate config/models for both, using ddev 18.0.0.

Note

This PR was originally split into two (this drift fix, plus a separate PR renaming the colliding method). Both touch the same redis_cloud/redis_enterprise directories, so under CI's TARGET=changed scoping neither could pass independently — whichever one didn't carry the other's fix would fail on the other's pre-existing bug when checked standalone. Combined them here; the separate rename PR (#3128) is closed as superseded.

This PR unblocks #3095 (TXP-277 dataflows.yaml backfill, batch 2), which is stacked on top of this branch.

🤖 Generated with Claude Code

`ddev validate config`/`models` drift accumulated in these integrations
because their generated files predate the ddev version CI now runs.
Regenerated via `ddev validate config/models -s` using ddev 18.0.0 (the
version pip installs unpinned in the Validate workflow).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@datadog-prod-us1-6

datadog-prod-us1-6 Bot commented Aug 24, 2026

Copy link
Copy Markdown

Code Coverage

🎯 Code Coverage (details)
Patch Coverage: 78.38%
Overall Coverage: 94.85% (+9.55%)

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: 1a4a70e | Docs | View more details | Give us feedback!

@philjlee
philjlee changed the base branch from master to philip.lee/fix-redis-openmetrics-default-config-collision August 24, 2026 20:50
@philjlee
philjlee force-pushed the philip.lee/fix-validate-config-models-drift branch from 28c2cc3 to 44277f1 Compare August 24, 2026 20:50
@philjlee
philjlee changed the base branch from philip.lee/fix-redis-openmetrics-default-config-collision to master August 24, 2026 20:57
@philjlee
philjlee force-pushed the philip.lee/fix-validate-config-models-drift branch from 44277f1 to 28c2cc3 Compare August 24, 2026 20:57
…_enterprise checks

Both RedisCloudCheck and RedisEnterpriseCheck defined a get_default_config()
method returning a list of metric groups. A newer datadog-checks-base adds
its own get_default_config() to OpenMetricsBaseCheckV2, used internally by
get_config_with_defaults() to seed scraper config from the generated
config_models defaults (expects key/value pairs, not a metrics list). The
override shadows the base method, so get_config_with_defaults() calls the
check's version instead and dict() blows up trying to consume a list of
metric dicts as key/value pairs.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@philjlee philjlee changed the title Sync conf.yaml.example and config models with current ddev codegen Sync conf.yaml.example/config models with ddev + fix redis get_default_config collision Aug 25, 2026
@philjlee
philjlee added this pull request to the merge queue Aug 25, 2026
Merged via the queue into master with commit 501da04 Aug 25, 2026
21 of 22 checks passed
@philjlee
philjlee deleted the philip.lee/fix-validate-config-models-drift branch August 25, 2026 13:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants