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
Activity
- addedIntegration:mysql_input_otelMySQL (OpenTelemetry)MySQL (OpenTelemetry)Integration:sql_server_input_otelSQL Server OpenTelemetry Input PackageSQL Server OpenTelemetry Input PackageTeam:EcosystemPackages Ecosystem team [elastic/ecosystem]Packages Ecosystem team [elastic/ecosystem]
on Mar 18, 2026 Pinging @elastic/ecosystem (Team:Ecosystem)
github-actions commented
on Mar 18, 2026 on Mar 18, 2026 – with GitHub ActionsContributorMore actionstl;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:- bump
elastic-packagedependency in this repo, - add
signal_typesto all affected system test configs, - remove current multisignal
skipblocks, - run system tests for both packages.
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: true
-
Both 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-66
-
SQL Server log event defaults are disabled, making default config effectively metrics-only:
packages/sql_server_input_otel/manifest.yml:106-119
-
MySQL 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-177
-
All 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-3
-
Current 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
$ grep -n "dynamic_signal_types: true" packages/sql_server_input_otel/manifest.yml packages/mysql_input_otel/manifest.yml packages/sql_server_input_otel/manifest.yml:29: dynamic_signal_types: true packages/mysql_input_otel/manifest.yml:29: dynamic_signal_types: true $ grep -nE "^skip:|signal_types|enable_query_sample_events|enable_top_query_events" packages/sql_server_input_otel/_dev/test/system/*.yml packages/mysql_input_otel/_dev/test/system/*.yml packages/sql_server_input_otel/_dev/test/system/test-datasource-config.yml:1:skip: packages/sql_server_input_otel/_dev/test/system/test-default-config.yml:1:skip: packages/sql_server_input_otel/_dev/test/system/test-logs-config.yml:1:skip: packages/sql_server_input_otel/_dev/test/system/test-logs-config.yml:12: enable_query_sample_events: true packages/sql_server_input_otel/_dev/test/system/test-logs-config.yml:13: enable_top_query_events: true packages/mysql_input_otel/_dev/test/system/test-default-config.yml:1:skip: $ grep -n "github.com/elastic/elastic-package" go.mod 9: github.com/elastic/elastic-package v0.121.0
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
- Confirm
elastic/elastic-package#3373is merged and released.
- Confirm
-
Bump dependency
- Update
go.mod(current pin atgo.mod:9) to the first version includingsignal_typessystem-test support.
- Update
-
Update SQL Server system tests
packages/sql_server_input_otel/_dev/test/system/test-default-config.yml- Remove
skipblock at:1-3 - Add
signal_types: [metrics]
- Remove
packages/sql_server_input_otel/_dev/test/system/test-datasource-config.yml- Remove
skipblock at:1-3 - Add
signal_types: [metrics]
- Remove
packages/sql_server_input_otel/_dev/test/system/test-logs-config.yml- Remove
skipblock at:1-3 - Keep/add
signal_typesfor log validation ([logs]or[logs, metrics]depending on desired assertion scope)
- Remove
-
Update MySQL system test
packages/mysql_input_otel/_dev/test/system/test-default-config.yml- Remove
skipblock at:1-3 - Add
signal_types: [logs, metrics]
- Remove
-
Validate
- Run system tests for both packages (and align expected fields if any assertions fail):
elastic-package test systeminpackages/sql_server_input_otelelastic-package test systeminpackages/mysql_input_otel
- Run system tests for both packages (and align expected fields if any assertions fail):
-
Close coordination gap with Update sql_server_input_otel logs signal test #17794
- Either expand
#17794to include all remaining files above, or open a follow-up PR explicitly covering the three still-skipped configs.
- Either expand
Related Items
Issues, PRs, and files
Type Link Relevance Issue #17876 Tracking issue for this work PR #17794 Partial draft implementation (sql_server logs test only) External PR elastic/elastic-package#3373 Adds signal_typessystem-test supportExternal Issue elastic/elastic-package#3298 Parent multisignal system-testing need File go.mod:9Current elastic-package pin ( v0.121.0)File packages/sql_server_input_otel/_dev/test/system/test-default-config.yml:1Currently skipped File packages/sql_server_input_otel/_dev/test/system/test-datasource-config.yml:1Currently skipped File packages/sql_server_input_otel/_dev/test/system/test-logs-config.yml:1Currently skipped File packages/mysql_input_otel/_dev/test/system/test-default-config.yml:1Currently skipped
What is this? | From workflow: Issue Triage
Give us feedback! React with 🚀 if perfect, 👍 if helpful, 👎 if not.
- bump
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.PRs created for this issue:
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
logsandmetricspipelines, 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
Root cause
agent/input/input.yml.hbs): Both packages definelogsandmetricspipelines unconditionally.enable_query_sample_eventsandenable_top_query_eventsdefault tofalsein the manifest (sql_server_input_otel); mysql_input_otel has query_sample enabled by default.Proposed solution
Add the
signal_typesconfig field (from elastic-package PR #3373) to each system test config to declare which signals the test expects:[metrics][metrics][logs]or[logs, metrics][logs, metrics](or omit to let discovery find both)Implementation steps
signal_typessupport.signal_types: [metrics]totest-default-config.ymlandtest-datasource-config.yml.signal_types: [logs](or[logs, metrics]) totest-logs-config.yml.skipblock from all three test configs.signal_types: [logs, metrics]totest-default-config.yml.skipblock fromtest-default-config.yml.elastic-package test systemfor both packages.References