-
Notifications
You must be signed in to change notification settings - Fork 275
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
[Meta] OpenSearch / OpenSearch Dashboards - Windows distribution (X64) #33
Comments
The greatest value and the least effort would be a ZIP deliverable. This would be sufficient for windows desktop developers and sysadmins installing on a server. Thanks |
Hello, we would also be interested in an installable Windows version or instructions on how to get this working on Windows. We were about to implement this tech into a project and then saw the lic change and fork. We are eager to get onto the forked version and get something into prod. Thank you for reading this. |
If anyone on this issue wants to contribute I'd start with opensearch-project/dashboards-observability#11. The python build workflow will need a bit of work to execute properly on Windows, it currently assumes a lot of *nix paths. |
We are looking at https://discuss.opendistrocommunity.dev/t/windows-installation/6555/6 which talks about workarounds, but also hoping to get this supported natively with a distribution released. Sad that it moved to target 1.3 (https://github.com/orgs/opensearch-project/projects/1?card_filter_query=windows) but looking for ways to help. |
+1 |
The easiest way to help is to get bundle workflow to succeed on Windows. It think it would require a little bit of python work (we join paths with I can help merging PRs and such and maybe we can get this in earlier? |
+1 too |
For reference, Elasticsearch's windows installation offered admins a set of options for how to run/manage it, including as a service. Let's be sure to understand which of these are important to users on Windows and implement them for the Windows version of OpenSearch. https://www.elastic.co/guide/en/elasticsearch/reference/current/windows.html#msi-installer-windows-service |
Beyond building on Windows, I would be happy to help anyone to write a wix-based installer for the OpenSearch distribution for windows, possibly made faster by using this library of custom actions. Definitely a project that could then be moved and maintained as part of opensearch-project org. It would make it super easy for anyone running Windows to get started with OpenSearch. |
After testing on Windows 2019 server with GUI, I am able to start the Linux x64 Tarball by removing linux jdk, install Windows jdk, remove knn, remove PA.
|
Let's work this POC into our build process. Looking at https://github.com/opensearch-project/opensearch-build/pull/733/files we can make a few minimal changes to produce a Windows zip during the assemble step.
a) If we want to use released artifacts, then we should be using the build manifest that was produced with the released build, and remove the components that don't work on windows from that. If we want to be super clean, add support for exclusions to assemble, e.g. b) If we want to build from source, create another manifest (e.g. opensearch-windows-1.1.0.yml) that doesn't have the components that are currently not supported on Windows and add it to manifests/1.1.0. Calling
Nothing to do, (1).
a) The code that extracts the min tarball needs to also run a custom post-install script that will delete the JDK and install a Windows JDK. We already have custom install scripts run for each plugin, we need to add this same code as a post-step to the min bundle. b) Longer term, we'll want to support building a
Done in (3).
Nothing to do, see (1).
Nothing to do, see (1).
This works.
Can bring any .bat files along the way in (3).
Modify README to say to run Even if we produce a Windows bundle we have no guarantees it works. So I think we want to build Windows from source more than we want what's proposed above, on Windows hardware. Run |
@peternied Do we have a permalink to the public location for the released 1.1.0 build manifest.yml? |
Both the OpenSearch and OpenSearch Dashboards repos have Windows build targets, that produce installable Windows artifacts. Rather than start with the Linux build and reconfigure it for Windows, we should be starting with those build artifacts and adding the plugins and enhancements that we know work in Windows. |
I'm working on fixing this repo to work on Windows in https://github.com/dblock/opensearch-build/tree/fix-windows |
@bbarani / @peterzhuamazon -- What date would we need this by? (flagging for @minalsha) |
I think this is a must have if we're going to be making any official distribution for Windows. We have to ensure that tests pass. |
I am a bit confused if you are talking about windows snapshot in build repo, it is currently commented out because of some bugs I am fixing, but it is able to run tho. if you are talking about core repo then I am not doing anything there. Thanks. |
@peterzhuamazon This is exactly what I am raising - the distribution build for windows is working, but we aren't running tests on windows in OpenSearch core. |
how do you run the jenkins builds on windows? this line here:
doesn't return
though it's probably not an issue as you're explicitly already passing it in here:
nevertheless, it might be worth it to explicitly handle windows in PS: unrelated, but something i just learnt and wanted to share 🙂: you can avoid using |
That build.sh is called from the build workflow which takes an input manifest and supports |
do we have a Dashboards artifact for windows to test ? |
Dashboards core artifact generation for Windows is currently blocked due to below issues opensearch-project/OpenSearch-Dashboards#2554 |
@bbarani @CEHENKLE @davidlago We've got an parity support question for this upcoming release. In the Security Plugin there is support for using OpenSSL instead of the Java's native SSLEngine, this features defaults to off and is only supported when running JDK11. It works with no issues on Linux and MacOS platforms running JDK11. Windows is non-trivially different and we have yet to get the feature working on this platform (~2 dev days of effort). Based on its complexity, and redundancy; I am of the opinion that we should not consider this a release blocker windows platform. We instead will update the feature to be disabled on Windows and update the documentation accordingly. Post 2.4.0 if there is interest, support for OpenSSL could be added. Alternatively, if we focus on supporting OpenSSL for windows on JDK 11 I have low confidence we will deliver this feature for the feature freeze date of 11/03, we can have a better completion estimate for the EOD of Monday 11/01. What do you think of dropping OpenSSL support for the Windows platform in 2.4.0? |
My $0.02 is to not block 2.4 on Windows for this support, as it is something that is not universally supported (across JDK versions) for our other distributions and there is an alternative SSL engine. Also, we never had a Windows release, supporting OpenSSL to begin with, so this is not technically "dropping" support potentially breaking some folks who were already relying on it. |
Circling back, turns out OpenSSL does not work on linux platforms either and hasn't for an indeterminate amount of time, this is not a platform specific issue anymore and so should have no impact on the 2.4.0 release. Thanks! |
We have windows release candidate prepared for release on 2.4.0: Thanks. |
Official Windows 2.4.0 ZIP is released now: Thanks. |
@peterzhuamazon Please close this issue and create separate issues for pending action items. |
Our 1.3.7 Version start supporting Windows ZIP for 1.x line: Thanks. |
Closing this issue as we have added Windows support to both 1.x and 2.x versions. |
Describe the solution you'd like
Provide signed (X64)Windows artifact for OpenSearch / OpenSearch Dashboards
Additional context
Currently there are no Windows artifacts for OpenSearch / OpenSearch Dashboards
Current State (2021/10/28)
You can build on Windows or build cross-platform for Windows on Linux or MacOS.
./build.sh manifests/1.1.0/opensearch-1.1.0.yml --platform windows
./assemble.sh buids/manifest.yml
.opensearch-1.1.0-SNAPSHOT-windows-x64.zip
.C:\Program Files\OpenSearch
bash plugins/opensearch-security/tools/install_demo_configuration.sh
and follow prompts to create demo certificate.mkdir logs
([BUG] Windows package doesn't contain a logs folder and doesn't start OpenSearch#1463)bin\opensearch.bat
, server will start.curl https://localhost:9200 -u admin:admin --insecure
(Old Tasks)
Remaining
Refactor and simplify assembly workflow. #827
Done
Fix windows build (mostly) OpenSearch#1412
Build OpenSearch on Windows #767
Align configurations of black and isort. #768
Refactored TemporaryFile and GitRepository into context managers. #772
Skip tests for common-utils. #807
Design Document
OpenSearch and OpenSearch Dashboards
Plugins Meta Issues
Milestones
MSI Only Issue:
The text was updated successfully, but these errors were encountered: