Repository navigation
[sql_server_input_otel, mysql_input_otel]: Add signal_types to system test configs when elastic-package enables dynamic signal testing #17876
Description
Summary
OTel input packages with dynamic_signal_types: true (sql_server_input_otel, mysql_input_otel) have their system tests skipped because elastic-package previously did not support multisignal inputs (elastic/elastic-package#3298). When elastic-package merges PR #3373 (Add dynamic signal types system test support), these packages will need updates so their system tests pass.
The root cause: the pipeline template always defines both logs and metrics pipelines, but log emission is config-driven (disabled by default). When elastic-package discovers data streams and validates documents, it expects both signals. For default test configs, only metrics are emitted, so the test fails when it tries to validate the logs data stream.
Affected packages
| Package | System test configs | Logs enabled by default? |
|---|---|---|
| sql_server_input_otel | test-default-config.yml, test-datasource-config.yml, test-logs-config.yml | No (default), No, Yes |
| mysql_input_otel | test-default-config.yml | Yes (query_sample); top_query disabled |
Root cause
- Pipeline structure (
agent/input/input.yml.hbs): Both packages definelogsandmetricspipelines unconditionally. - Log emission is optional:
enable_query_sample_eventsandenable_top_query_eventsdefault tofalsein the manifest (sql_server_input_otel); mysql_input_otel has query_sample enabled by default. - elastic-package behavior: With dynamic signal support, elastic-package discovers all data streams from the policy and validates documents in each. For default configs, the logs pipeline exists but no log documents are emitted (sql_server_input_otel).
- Result: Test fails because elastic-package expects documents in the logs data stream but finds none.
Proposed solution
Add the signal_types config field (from elastic-package PR #3373) to each system test config to declare which signals the test expects:
| Test config | Expected signals | signal_types |
|---|---|---|
| sql_server_input_otel: test-default-config.yml | metrics only | [metrics] |
| sql_server_input_otel: test-datasource-config.yml | metrics only | [metrics] |
| sql_server_input_otel: test-logs-config.yml | logs (and metrics) | [logs] or [logs, metrics] |
| mysql_input_otel: test-default-config.yml | logs + metrics | [logs, metrics] (or omit to let discovery find both) |
Implementation steps
- Blocked on: elastic-package PR #3373 merged and released.
- Bump: integrations repo elastic-package dependency to a version that includes
signal_typessupport. - sql_server_input_otel:
- Add
signal_types: [metrics]totest-default-config.ymlandtest-datasource-config.yml. - Add
signal_types: [logs](or[logs, metrics]) totest-logs-config.yml. - Remove the
skipblock from all three test configs.
- Add
- mysql_input_otel:
- Add
signal_types: [logs, metrics]totest-default-config.yml. - Remove the
skipblock fromtest-default-config.yml.
- Add
- Verify: Run
elastic-package test systemfor both packages.
References
- elastic/elastic-package#3298 – Support testing inputs that generate multiple signals
- elastic/elastic-package#3373 – Add dynamic signal types system test support
- elastic/integrations#17794 – Update sql_server_input_otel logs signal test (related PR)
Activity
elasticmachine commentedon Mar 18, 2026
Pinging @elastic/ecosystem (Team:Ecosystem)
github-actions commentedon Mar 18, 2026
tl;dr: This issue is valid and should be implemented as a single follow-up once
elastic-packageships dynamic signal system-test support; right now the repo is still pinned toelastic-package v0.121.0, and only one of four affected system test configs has a draft update in#17794.Recommendation
Proceed with a single consolidated PR after
elastic/elastic-package#3373is merged/released:elastic-packagedependency in this repo,signal_typesto all affected system test configs,skipblocks,Findings
Verified code evidence
Dynamic signal templates are enabled in both packages:
packages/sql_server_input_otel/manifest.yml:29→dynamic_signal_types: truepackages/mysql_input_otel/manifest.yml:29→dynamic_signal_types: trueBoth input templates always define both logs and metrics pipelines:
packages/sql_server_input_otel/agent/input/input.yml.hbs:52-58packages/mysql_input_otel/agent/input/input.yml.hbs:59-66SQL Server log event defaults are disabled, making default config effectively metrics-only:
packages/sql_server_input_otel/manifest.yml:106-119MySQL defaults enable query-sample logs (
true) and disable top-query (false), so default config can emit logs + metrics:packages/mysql_input_otel/manifest.yml:165-177All affected system test configs are still skipped today and do not declare
signal_types:packages/sql_server_input_otel/_dev/test/system/test-default-config.yml:1-3packages/sql_server_input_otel/_dev/test/system/test-datasource-config.yml:1-3packages/sql_server_input_otel/_dev/test/system/test-logs-config.yml:1-3packages/mysql_input_otel/_dev/test/system/test-default-config.yml:1-3Current in-flight PR is partial:
#17794modifies onlypackages/sql_server_input_otel/_dev/test/system/test-logs-config.yml(removes skip, addssignal_types: [logs]).Tooling readiness:
go.mod:9pinsgithub.com/elastic/elastic-package v0.121.0.elastic/elastic-package#3373is still open (not merged/released yet).Verification
Commands run and output
I did not run
elastic-package test systemyet because the required upstreamsignal_typessupport (elastic-package#3373) is still open.Detailed Action Plan
Implementation plan with file targets
Wait for upstream support release
elastic/elastic-package#3373is merged and released.Bump dependency
go.mod(current pin atgo.mod:9) to the first version includingsignal_typessystem-test support.Update SQL Server system tests
packages/sql_server_input_otel/_dev/test/system/test-default-config.ymlskipblock at:1-3signal_types: [metrics]packages/sql_server_input_otel/_dev/test/system/test-datasource-config.ymlskipblock at:1-3signal_types: [metrics]packages/sql_server_input_otel/_dev/test/system/test-logs-config.ymlskipblock at:1-3signal_typesfor log validation ([logs]or[logs, metrics]depending on desired assertion scope)Update MySQL system test
packages/mysql_input_otel/_dev/test/system/test-default-config.ymlskipblock at:1-3signal_types: [logs, metrics]Validate
elastic-package test systeminpackages/sql_server_input_otelelastic-package test systeminpackages/mysql_input_otelClose coordination gap with Update sql_server_input_otel logs signal test #17794
#17794to include all remaining files above, or open a follow-up PR explicitly covering the three still-skipped configs.Related Items
Issues, PRs, and files
signal_typessystem-test supportgo.mod:9v0.121.0)packages/sql_server_input_otel/_dev/test/system/test-default-config.yml:1packages/sql_server_input_otel/_dev/test/system/test-datasource-config.yml:1packages/sql_server_input_otel/_dev/test/system/test-logs-config.yml:1packages/mysql_input_otel/_dev/test/system/test-default-config.yml:1What is this? | From workflow: Issue Triage
Give us feedback! React with 🚀 if perfect, 👍 if helpful, 👎 if not.
mrodm commentedon Apr 27, 2026
As part of this issue it would be good to update the test packages in elastic-package for
sql_server_input_otelandmysql_input_otelto match the system and policy tests included here. This would help us to validate in elastic-package these kind of packages too.mrodm commentedon Apr 28, 2026
PRs created for this issue: