-
Notifications
You must be signed in to change notification settings - Fork 33
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
[FEATURE] Modify integration tests to run with OpenSearch vendors (multi-vendor IT abilities ) #647
Comments
Looks like you want to run open source tests against a vendor-specific distribution. We definitely want to continue running tests here against dockerized open-source OpenSearch. For vendor-specific features we do have some precedent. There's an issue for running tests against vendor-specific distributions or instances in opensearch-project/opensearch-clients#47 for SigV4. One thing to be mindful of is that blocking PRs because of a vendor-specific solution being broken doesn't seem right. |
@ykmr1224 thanks for the Feature request! I am alarmed at the possibility that the vendor-neutral project will be tied down in any way by a vendor-specific one.
This enables the vendor to take control of large portions of open-source code de facto. @ykmr1224 @dblock I am curious if there are positive precedents for this type of dependency out there. This may not be 100% true for this feature, but could be the case for other vendor-owned integrations, or might start to happen once we open the possibility and push a gray line further and further. |
Opened up opensearch-project/.github#229 to discuss the issue at large |
As mentioned above, this issue opensearch-project/.github#229 discusses a better structure. Until that is achieved, there may still be desire to run tests against Spark EMR. This should be a stop gap measure until the OpenSearch Serverless release is better aligned with the OSS release. With some initial testing, I was able to run SQL queries against the Spark EMR docker image. Here is what I needed to do:
This is a serverless image, so it will quickly run and then exit. I tested with a Scala app for Spark. There is still a step missing for including the OpenSearch PPL extension. |
Another consideration is how to actually run tests on the docker image. I have a proposal: Structure the tests with several files:
Create a Spark app. It can do some initial setup, such as creating tables. For each test:
After the Spark app finishes, go over each test and verify that the expected results match the actual results. This means that there will be two components for running the tests:
|
@normanj-bitquill thanks for the suggestions In addition I was hoping for using OpenSearch's Dashboard workbench PPL via a Spark data-source to access a local docker spark cluster which is running the Flint job - can you experiment if this is achievable ? and what are the prerequisites for this ? |
@normanj-bitquill this look good - lets create a tutorial page with all the needed scripts for anyone to experiment with |
@AmiStrn thanks for the feedback We do need to avoid any direct build or runtime dependencies in these contrib components |
Is your feature request related to a problem?
Currently, integration tests are implemented to run with OpenSearch server running in docker.
As we want to make Flint compatible with OpenSearch Serverless, we should make integration tests be able to run against Serverless so that we can verify its functionality easily.
What solution would you like?
We need following changes
queryIndex
stats
API, and usage of DataFrame causes issue due to it. (Another approach is eliminating the usage ofstats
API)What alternatives have you considered?
n/a
Do you have any additional context?
n/a
The text was updated successfully, but these errors were encountered: