-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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
Add integration tests between the Beats shipper client and the shipper server #33205
Comments
@cmacknz feel free to add your thoughts on this. |
Looks good to me, having this test (and the more advanced tests) will be really valuable. Thanks! |
Related, elastic/elastic-agent-shipper#60 to write the first basic test that communicates with the shipper binary. Could also be done as part of this issue depending on progress and the order things happen in. |
|
|
Re-reading this issue it is written to test filebeat (or any beat really) communicating with the shipper. We should do this but we can start with something simpler like elastic/elastic-agent-shipper#60 which just starts the shipper in isolation. |
Let's write one simple test first as described in elastic/elastic-agent-shipper#60 that doesn't require using the beat shipper client for simplicity, and then follow up with this more complex set of tests. Both tests are now requirements of elastic/elastic-agent-shipper#34 which Denis owns. |
We can have the shipper publish a Docker image as part of it's CI process and just consume that in the beats build as we do for the other outputs we test against. Here's a relatively simple Jenkinsfile demonstrating how to publish a Docker image as an example: https://github.com/elastic/stream/blob/439bc8b880175812ed5441be8237419fba29d877/.ci/Jenkinsfile#L112 |
@leehinman Is there any overlap with your actual work there: elastic/elastic-agent-shipper#60 |
elastic/elastic-agent-shipper#60 is a test of the shipper process in the shipper repository. This issue is a test of the Beats shipper client in the Beats repository. They will need to be two separate implementations. |
It may make sense to wait for the completion of elastic/elastic-agent-shipper#161 before implementing this, as the shipper configuration format is going to change significantly when that issue is completed. If we can completely encapsulate the shipper configuration in a docker container, then we don't necessarily need to wait for elastic/elastic-agent-shipper#161 as we can just update the container we publish as part of that work. |
Hi! We're labeling this issue as |
Closing this one as no more necessary with the strategy change. |
The purpose of this test is to verify that the current version of the shipper client is able to successfully publish events to the shipper server. We could take the following steps:
2.1. filebeat to read a file that has N events
2.2. filebeat to alter the consumed events from the file (simple processing, like adding a field)
2.3. filebeat to publish events from the file to the shipper server
2.4. the shipper server to output these events to a file
wc -l
on the output file.Dependencies:
The text was updated successfully, but these errors were encountered: