Skip to content
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

Allow data stream overrides in system tests for specific integration packages #1917

Open
Tracked by #9607
ShourieG opened this issue Jun 19, 2024 · 11 comments
Open
Tracked by #9607
Labels
enhancement New feature or request Team:Ecosystem Label for the Packages Ecosystem team

Comments

@ShourieG
Copy link

Some integrations like amazon security lake use routing rules to route results to a different data stream from a central data stream. Having such a mechanism the standard system tests fail since it always searches for hits in the central data stream which is generally where the system tests reside. We need a way to dynamically instruct elastic-package to look for hits in a specific data stream during system tests. We could use a new package-spec variable to do this potentially.

This issue has been created following conversations in this PR

@ShourieG ShourieG changed the title Allow data stream overrides in system tests for integration packages Allow data stream overrides in system tests for specific integration packages Jun 19, 2024
@ShourieG ShourieG added enhancement New feature or request Team:Ecosystem Label for the Packages Ecosystem team labels Jun 19, 2024
@ShourieG
Copy link
Author

Hi @jsoriano, any updates as to when or if this will get implemented ?

@jsoriano
Copy link
Member

This task is not planned yet, ccing @kpollich for prioritization.

@kpollich
Copy link
Member

We have a quality sprint in August that would probably be a good time to look into improving the system tests to support this kind of option, but that's probably the soonest we can look into this with other competing priorities considered.

@ShourieG
Copy link
Author

ShourieG commented Aug 9, 2024

Hi @kpollich, I noticed one more thing while locally making some hacks to get this working, it won't be enough to just detect the hits in the re-routed data stream but we also need to validate the tests against the field mappings of the re-routed data stream.

@ShourieG
Copy link
Author

Hi @kpollich, any updates on this ?

@kpollich
Copy link
Member

This unfortunately didn't make it into our quality sprint, and ecosystem bandwidth is pretty low right now with LogsDB and OTel priorities taking up the vast majority of our time. We likely won't get to this for 2-3 months.

@ShourieG
Copy link
Author

@kpollich, Could you share some ideas on how to proceed with this implementation from your end or the philosophies in design that should be considered in implementing this feature, maybe we can take up the development on our end and have the PR reviewed by your team ?

@kpollich
Copy link
Member

maybe we can take up the development on our end and have the PR reviewed by your team ?

This is perfectly acceptable to me, and we'd be happy to help support the implementation. @jsoriano could probably help more with nailing down a proposal for the implementation details here.

@jsoriano
Copy link
Member

On a first thought now, I think a good starting point could be @ShourieG's original PR #1913, but without hard-coding the list of packages.

There are a couple of options I think we could explore for that:

  • If this is needed for all data streams using routing rules, use the override if the data stream has routing rules.
  • If we cannot reliabily auto-detect when the override is needed, we can add a flag to system test configuration files that indicates that.

@ShourieG could you give a try to the first point? It would be to replace dataStreamOverrides[scenario.pkgManifest.Name] with some function that detects if there are routing rules in the data stream being tested.

@ShourieG
Copy link
Author

ShourieG commented Sep 17, 2024

On a first thought now, I think a good starting point could be @ShourieG's original PR #1913, but without hard-coding the list of packages.

There are a couple of options I think we could explore for that:

  • If this is needed for all data streams using routing rules, use the override if the data stream has routing rules.
  • If we cannot reliabily auto-detect when the override is needed, we can add a flag to system test configuration files that indicates that.

@ShourieG could you give a try to the first point? It would be to replace dataStreamOverrides[scenario.pkgManifest.Name] with some function that detects if there are routing rules in the data stream being tested.

@jsoriano, Absolutely, I'll plan a task to take this up in our next sprint and work through the suggestions.

@taylor-swanson
Copy link
Contributor

I'll be interested in leveraging this feature as well for my work for the Syslog Smart Router project. It also uses routing rules to send logs to other data streams which I will need to verify.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request Team:Ecosystem Label for the Packages Ecosystem team
Projects
None yet
Development

No branches or pull requests

4 participants