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

OpenSearch / OpenSearch Dashboards - macOS distribution (X64) #38

Open
10 of 21 tasks
Tracked by #741
bbarani opened this issue May 18, 2021 · 22 comments
Open
10 of 21 tasks
Tracked by #741

OpenSearch / OpenSearch Dashboards - macOS distribution (X64) #38

bbarani opened this issue May 18, 2021 · 22 comments
Labels
distributions enhancement New Enhancement macos triaged This issue has been reviewed by the triage team

Comments

@bbarani
Copy link
Member

bbarani commented May 18, 2021

Is your feature request related to a problem? Please describe.
No

Describe the solution you'd like
Provide signed macOS (X64) artifact for OpenSearch / OpenSearch Dashboards

Describe alternatives you've considered
Generating the artifact using the source code

Additional context
Currently there are macOS (X64) artifacts for OpenSearch / OpenSearch Dashboards

@skkosuri-amzn
Copy link
Contributor

Please prioritize this to speed up development on mac.

@peternied peternied added the triaged This issue has been reviewed by the triage team label Sep 21, 2021
@dblock dblock mentioned this issue Oct 13, 2021
1 task
@dblock
Copy link
Member

dblock commented Oct 15, 2021

With #751 you can produce a darwin bundle for OpenSearch. This creates bundle/opensearch-1.1.0-darwin-x64.tar.gz.

./build.sh manifests/1.1.0/opensearch-1.1.0.manifest.yml
./assemble.sh artifacts/manifest.yml
cd artifacts
./opensearch-tar-install.sh
$ curl -u admin:admin --insecure https://localhost:9200
{
  "name" : "...",
  "cluster_name" : "opensearch",
  "cluster_uuid" : "04husTTqQi6cd2bPSRvuqw",
  "version" : {
    "distribution" : "opensearch",
    "number" : "1.1.0",
    "build_type" : "tar",
    "build_hash" : "15e9f137622d878b79103df8f82d78d782b686a1",
    "build_date" : "2021-10-15T13:14:16.973135Z",
    "build_snapshot" : false,
    "lucene_version" : "8.9.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "The OpenSearch Project: https://opensearch.org/"
}

All plugins except PA seem to load, opened opensearch-project/performance-analyzer#73

@dbbaughe
Copy link
Contributor

dbbaughe commented Dec 8, 2021

@bbarani @saratvemulapalli @peternied @dblock

Is this scheduled for 1.3 release?

This comment seems to imply it, but the roadmap for infra seemed to not have it on there or scheduled for 1.3 release.

Can we get some clarification on when this is going to be completed?

@saratvemulapalli
Copy link
Member

My comment is based of the roadmap: https://github.com/orgs/opensearch-project/projects/1#column-14092180. Assuming it's up to date.

@dbbaughe
Copy link
Contributor

dbbaughe commented Dec 8, 2021

@saratvemulapalli Thanks Sarat, looks like it is scheduled for 1.3 unless @bbarani mentions otherwise.

@dblock
Copy link
Member

dblock commented Dec 16, 2021

Someone contributed a formulae to Homebrew that builds and runs OpenSearch-min and OpenSearch Dashboards from source.

https://github.com/Homebrew/homebrew-core/blob/master/Formula/opensearch.rb

See #1314 (comment)

@bbarani
Copy link
Member Author

bbarani commented Jan 31, 2022

We are currently working on creating Linux based distributions (RPM and Deb) at this point in time. Please feel free to provide your inputs on this issue #741 to prioritize other non Linux distributions for us to pickup post that effort. As always, we welcome any contribution towards the development of additional distributions.

@msfroh
Copy link

msfroh commented Jan 30, 2023

I have put together a basic script that will:

  1. Fork a repo and clone the fork,
  2. Find any GitHub workflows that run on windows-latest but not macos-latest, and add macos-latest to the matrix.os
  3. Commit + push that change back to the fork. (The commit message has a pointer to this issue.)
  4. Cut a PR against the source repo. (We'll be able to see from the PR checks if the macos-latest build succeeds or fails.)

I'm going to run it against all repositories under opensearch-project.

msfroh added a commit to msfroh/job-scheduler that referenced this issue Jan 31, 2023
This is a test commit to verify whether existing workflow actions can
run on macos-latest.

See opensearch-project/opensearch-build#38
for more details.

Signed-off-by: Michael Froh <[email protected]>
msfroh added a commit to msfroh/security that referenced this issue Jan 31, 2023
This is a test commit to verify whether existing workflow actions can
run on macos-latest.

See opensearch-project/opensearch-build#38
for more details.

Signed-off-by: Michael Froh <[email protected]>
msfroh added a commit to msfroh/anomaly-detection-dashboards-plugin that referenced this issue Jan 31, 2023
This is a test commit to verify whether existing workflow actions can
run on macos-latest.

See opensearch-project/opensearch-build#38
for more details.

Signed-off-by: Michael Froh <[email protected]>
msfroh added a commit to msfroh/k-NN that referenced this issue Jan 31, 2023
This is a test commit to verify whether existing workflow actions can
run on macos-latest.

See opensearch-project/opensearch-build#38
for more details.

Signed-off-by: Michael Froh <[email protected]>
msfroh added a commit to msfroh/dashboards-maps that referenced this issue Jan 31, 2023
This is a test commit to verify whether existing workflow actions can
run on macos-latest.

See opensearch-project/opensearch-build#38
for more details.

Signed-off-by: Michael Froh <[email protected]>
msfroh added a commit to msfroh/oui that referenced this issue Jan 31, 2023
This is a test commit to verify whether existing workflow actions can
run on macos-latest.

See opensearch-project/opensearch-build#38
for more details.

Signed-off-by: Michael Froh <[email protected]>
msfroh added a commit to msfroh/security-analytics-dashboards-plugin that referenced this issue Jan 31, 2023
This is a test commit to verify whether existing workflow actions can
run on macos-latest.

See opensearch-project/opensearch-build#38
for more details.

Signed-off-by: Michael Froh <[email protected]>
msfroh added a commit to msfroh/dashboards-notifications that referenced this issue Jan 31, 2023
This is a test commit to verify whether existing workflow actions can
run on macos-latest.

See opensearch-project/opensearch-build#38
for more details.

Signed-off-by: Michael Froh <[email protected]>
msfroh added a commit to msfroh/notifications that referenced this issue Jan 31, 2023
This is a test commit to verify whether existing workflow actions can
run on macos-latest.

See opensearch-project/opensearch-build#38
for more details.

Signed-off-by: Michael Froh <[email protected]>
msfroh added a commit to msfroh/common-utils that referenced this issue Jan 31, 2023
This is a test commit to verify whether existing workflow actions can
run on macos-latest.

See opensearch-project/opensearch-build#38
for more details.

Signed-off-by: Michael Froh <[email protected]>
msfroh added a commit to msfroh/neural-search that referenced this issue Jan 31, 2023
This is a test commit to verify whether existing workflow actions can
run on macos-latest.

See opensearch-project/opensearch-build#38
for more details.

Signed-off-by: Michael Froh <[email protected]>
@dblock
Copy link
Member

dblock commented Feb 1, 2023

msfroh added a commit to msfroh/k-NN that referenced this issue Feb 14, 2023
This is a test commit to verify whether existing workflow actions can
run on macos-latest.

See opensearch-project/opensearch-build#38
for more details.

Signed-off-by: Michael Froh <[email protected]>
@msfroh
Copy link

msfroh commented Feb 15, 2023

I did an audit of all repos (see https://gist.github.com/msfroh/5071d8be1b5408526b6fce0440fc27c0), cutting some automated PRs to see what would happen if we just add macos-latest everywhere that has ubuntu-latest and windows-latest.

The repos where that "just worked" were common-utils, k-NN, and oui.

Here are the repos that require more complicated actions, with recommendations:

Across the board, I've struggled to get Cypress integration tests passing for OpenSearch Dashboards plugins on MacOS. I've tried several things in opensearch-project/dashboards-search-relevance#143, like increasing start-up time for OSD, but nothing seems to work. In general, the effort for OSD plugins seems to be higher than for OS core plugins.

@msfroh
Copy link

msfroh commented Feb 15, 2023

Oh, also I'm working from the assumption that any MacOS distribution at this point would need ARM support to be useful. My 1.5 year-old Mac laptop uses an M1 processor and I gather that more and more folks will be in the same boat as time goes on.

@peternied
Copy link
Member

Recently the security team dropped support for MacOS builds because builds were slower and network infrastructure was flaky. We should investigate the reliability of this platform as this will have an impact on maintenance of repositories opensearch-project/security#2467

@dblock
Copy link
Member

dblock commented Jun 29, 2023

Looks like we're doing some work in this space with #3670. @gaiksaya is there a plan to make a macos distribution? Are we going to do the items listed above too?

@gaiksaya
Copy link
Member

Not that I know of currently. @bbarani Might be able to get more information. The above PR was to support signing clients and driver and other standalone artifacts that have macos as one of the distribution. 😄

@bbarani
Copy link
Member Author

bbarani commented Jun 29, 2023

@gaiksaya @dblock we haven't prioritized it yet. We are planning to look in to it in Q3 / Q4 of 2023.

@lpsinger
Copy link

lpsinger commented Nov 9, 2023

Naive question: OpenSearch is written in Java, isn't it? Is the bundled JRE/JDK the only platform-dependent part of the distributions?

@msfroh
Copy link

msfroh commented Nov 9, 2023

Naive question: OpenSearch is written in Java, isn't it? Is the bundled JRE/JDK the only platform-dependent part of the distributions?

Unfortunately not, we have some native code in the ml-commons plugin, for example (though I think it can build for MacOS even on ARM). Also, for OpenSearch Dashboards, there's a lot of NodeJS stuff going on.

Looking back at the experimentation I did in February, OpenSearch Dashboards was where most of the headaches came in. (OpenSearch core builds and runs just fine on my M1 laptop, for example.)

@peterzhuamazon
Copy link
Member

With OS core snapshot available for both x64 and arm64, we might need to think about expand into a full bundle:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
distributions enhancement New Enhancement macos triaged This issue has been reviewed by the triage team
Projects
None yet
Development

No branches or pull requests