-
Notifications
You must be signed in to change notification settings - Fork 2.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Move the lifecycle tests with to each component module #27849
Comments
#29284 has shown how to do this and we can now extend this work to all exporters, for starters. Adding a task list for all exporters:
For each exporter, you need to take the configuration they expose in cmd/otelcontribcol/exporters_test.go, and move it to a yaml fragment in each of the metadata.yaml of the component under |
…exporters. (open-telemetry#29284) This relates to open-telemetry#27849
Continuation of the work on #27849 - now opening a way to create lifecycle tests for processors.
Continuation of the work on #27849 - now opening a way to create lifecycle tests for receivers.
Continuation of the work on open-telemetry#27849 - now opening a way to create lifecycle tests for receivers.
Continue work on #27849 --------- Co-authored-by: Evan Bradley <11745660+evan-bradley@users.noreply.github.com>
Continue work on open-telemetry#27849 --------- Co-authored-by: Evan Bradley <11745660+evan-bradley@users.noreply.github.com>
Task list for remaining receivers:
|
…31468) Relates to open-telemetry#27849 Co-authored-by: Daniel Jaglowski <jaglows3@gmail.com>
…elemetry#30512) Relates to open-telemetry#27849 --------- Co-authored-by: Antoine Toulme <antoine@lunar-ocean.com>
…ry#30523) Relates to open-telemetry#27849 --------- Co-authored-by: Antoine Toulme <antoine@lunar-ocean.com>
…try#30537) Relates to open-telemetry#27849 --------- Co-authored-by: Antoine Toulme <antoine@lunar-ocean.com>
…etry#30516) Relates to open-telemetry#27849 --------- Co-authored-by: Antoine Toulme <antoine@lunar-ocean.com>
…elemetry#30540) Relates to open-telemetry#27849 --------- Co-authored-by: Antoine Toulme <antoine@lunar-ocean.com>
**Description:** Add generated tests for chrony receiver; move initialization of the chrony client to the start function **Link to tracking Issue:** Relates to open-telemetry#27849
Relates to #27849 --------- Co-authored-by: Antoine Toulme <antoine@lunar-ocean.com>
**Description:** Change the lifecycle of the extension so that the creation of the AWS client happens in the Start method, which helps with supporting component lifecycle. **Link to tracking Issue:** Relates to #27849
I would like to mark this issue as closed. TODO tags exist for each component that needs to satisfy their test requirements, which will become a requirement down the road for component maturation. Please reopen if you see more work is needed, I'd rather follow up individually on each remaining component. |
Relates to open-telemetry/opentelemetry-collector-contrib#27849 duo to `cluster.CreateSession()` func, event if set `skip_lifecycle: true` the Lifecycle test still fail: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/1de0e36f76a5e6a9a9ced094b7b90529ea3beae6/exporter/cassandraexporter/exporter_logs.go#L26-L28 test log: ``` === RUN TestComponentLifecycle === RUN TestComponentLifecycle/logs-shutdown generated_component_test.go:75: Error Trace: /Users/fraps/daocloud/github-code/opentelemetry-collector-contrib/exporter/cassandraexporter/generated_component_test.go:75 Error: Received unexpected error: cannot configure cassandra traces exporter: gocql: unable to create session: unable to discover protocol version: dial tcp 127.0.0.1:9042: connect: connection refused Test: TestComponentLifecycle/logs-shutdown === RUN TestComponentLifecycle/logs-lifecycle === RUN TestComponentLifecycle/traces-shutdown generated_component_test.go:75: Error Trace: /Users/fraps/daocloud/github-code/opentelemetry-collector-contrib/exporter/cassandraexporter/generated_component_test.go:75 Error: Received unexpected error: cannot configure cassandra traces exporter: gocql: unable to create session: unable to discover protocol version: dial tcp 127.0.0.1:9042: connect: connection refused Test: TestComponentLifecycle/traces-shutdown ``` we need more discuss for it @atoulme --------- Co-authored-by: Antoine Toulme <antoine@lunar-ocean.com>
Move lifecycle tests from
cmd/otelcolcontrib
to each module as individual generated tests.mdatagen
tool can be used for to generate the tests. We would need another section in themetadata.yaml
as a source for the generated tests. Sample section:Moving the tests to the components provides us exposure to the internals of the component, which can help us improve the test coverage and eliminate the need for the 'skip_lifecycle' option. Presently, certain components cannot accommodate test configurations that pass lifecycle tests, hence the necessity of retaining the 'skip_lifecycle' option. Looking ahead, we should be able to utilize internal helpers, not accessible through the public config interface, to ensure proper lifecycle validation and consequently eliminate the need for 'skip_lifecycle'."
The text was updated successfully, but these errors were encountered: