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

[FEATURE] Testing clients compatibility on different platforms #18

Open
4 of 9 tasks
saratvemulapalli opened this issue Apr 25, 2022 · 3 comments
Open
4 of 9 tasks
Assignees
Labels
enhancement New feature or request

Comments

@saratvemulapalli
Copy link
Member

saratvemulapalli commented Apr 25, 2022

Is your feature request related to a problem?
Coming from: opensearch-project/opensearch-ruby#62 (comment)
We test our clients for Linux platform but we do not know if these clients work smoothly on platforms like windows/mac etc.

What solution would you like?
Test all clients with most popular platforms and CPU architectures:

  • x64
  • ARM
  • Linux
  • Windows
  • MacOS

Tracking for clients:

@shyim
Copy link

shyim commented Aug 13, 2022

Btw its not possible to test ARM on GitHub. They don't offer hosted runners and needs own runners and QEMU is holy buggy to run it in an CI

@dblock
Copy link
Member

dblock commented Aug 17, 2022

@shyim "yet", but it's a good point - we do have our own Jenkins infra, but it's obviously quite a bit of overhead to be running jobs on that for clients (we do for OpenSearch and OpenSearch Dashboards extensively for arm64).

@VachaShah VachaShah self-assigned this Aug 20, 2022
@Xtansia
Copy link
Collaborator

Xtansia commented Sep 1, 2022

I've been doing some investigating into this, and have hit some hurdles due to us needing to spin up a docker container for OpenSearch to run integration tests against:

  1. On the GH-hosted Windows runners, Docker is only setup for Windows containers, not Linux containers. Apparently blocked by the need for enabling Hyper-V to be able to run Linux containers: Add Windows Agent with Docker in Linux container mode actions/runner-images#252
  2. On the GH-hosted MacOS runners, Docker is not installed, as there's only the "Desktop" variant which has licensing issues: [macOS] Add Docker to macOS actions/runner-images#2150

The MacOS one can be worked around by installing Docker at run-time using something like https://github.com/docker-practice/actions-setup-docker/ to hackily install a specific version of Docker Desktop that has a working unattended install. This is slow and somewhat unreliable, and the resulting docker performance is very poor due to Docker having to run a VM, on a runner that's already a VM. For the Rust client, the MacOS integration test run was approximately 3 times as long as the Ubuntu run (~36min vs ~12mins).

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

No branches or pull requests

5 participants