From c355b11c2ad71d08a648122efff5b271871ad208 Mon Sep 17 00:00:00 2001 From: Peter Zhu Date: Mon, 23 Sep 2024 16:31:18 -0400 Subject: [PATCH 1/8] Adding MacOS Arm64 Core Snapshot Artifact Blog Post Signed-off-by: Peter Zhu --- ...Development-on-MacOS-with-Apple-Silicon.md | 224 ++++++++++++++++++ 1 file changed, 224 insertions(+) create mode 100644 _posts/2024-09-30-Boosting-OpenSearch-Development-on-MacOS-with-Apple-Silicon.md diff --git a/_posts/2024-09-30-Boosting-OpenSearch-Development-on-MacOS-with-Apple-Silicon.md b/_posts/2024-09-30-Boosting-OpenSearch-Development-on-MacOS-with-Apple-Silicon.md new file mode 100644 index 0000000000..068ba9340e --- /dev/null +++ b/_posts/2024-09-30-Boosting-OpenSearch-Development-on-MacOS-with-Apple-Silicon.md @@ -0,0 +1,224 @@ +--- +layout: post +title: Boosting OpenSearch Development on MacOS with Apple Silicon +authors: +- zhujiaxiang +- ssingh +date: 2024-09-30 +categories: + - releases + - technical-posts +excerpt: We are excited to announce that the OpenSearch core snapshot tarball artifact, specifically designed for MacOS Arm64 machines, is now available to the public. +meta_keywords: opensearch open source, MacOS, Arm64, Apple Silicon, developer friendly, architecture support, platform support +meta_description: Boosting OpenSearch Development on MacOS with Apple Silicon +--- + +OpenSearch is an Apache-2.0 licensed open-source project supported by an engaging community of users across the globe. Building on its commitment to openness and growth, OpenSearch has recently become part of the newly formed [OpenSearch Software Foundation](https://foundation.opensearch.org/), a community-driven initiative under the [Linux Foundation](https://www.linuxfoundation.org/). As part of this move, we have focused on boosting developer experience with more platform and architecture support, particularly for developers using the MacOS Arm64 machines. Previously, setting up OpenSearch cluster and running integration tests required a Linux environment or via Docker container, which added complexity and overhead to the process. Now, you can run and test OpenSearch plugins natively on MacOS, streamline workflows and reduce development time. + +Today, we are excited to announce that the OpenSearch core snapshot tarball artifact, specifically designed for MacOS Arm64 machines, is now available to the public. Developers working on these machines, particularly the latest Mac computers with Apple silicon, are encouraged to try it out. + +In this blog post, we will discuss how to access the new snapshot artifact, and a few ways to utilize it to start development with OpenSearch and OpenSearch Dashboards. + + +### Pre-requisite + +You would need to have a [Mac Computer with Apple Silicon](https://support.apple.com/en-us/116943) (Arm64 architecture). For older models with Intel processor, we have published the [OpenSearch core snapshot artifact for MacOS X64 Host](https://github.com/opensearch-project/opensearch-build/issues/2216) back in 2022. + + +### Directly download the artifact and start OpenSearch cluster + +You can download the artifact tarball through one of the following links: + +```bash +1.3.19 Snapshot Artifact: +https://artifacts.opensearch.org/snapshots/core/opensearch/1.3.19-SNAPSHOT/opensearch-min-1.3.19-SNAPSHOT-darwin-arm64-latest.tar.gz + +2.16.0 Snapshot Artifact: +https://artifacts.opensearch.org/snapshots/core/opensearch/2.16.0-SNAPSHOT/opensearch-min-2.16.0-SNAPSHOT-darwin-arm64-latest.tar.gz + +3.0.0 Snapshot Artifact: +https://artifacts.opensearch.org/snapshots/core/opensearch/3.0.0-SNAPSHOT/opensearch-min-3.0.0-SNAPSHOT-darwin-arm64-latest.tar.gz +``` + +You can use these commands to start the cluster: + +```bash +# Download 3.0.0 core snapshot +wget https://artifacts.opensearch.org/snapshots/core/opensearch/3.0.0-SNAPSHOT/opensearch-min-3.0.0-SNAPSHOT-darwin-arm64-latest.tar.gz + +# Extract the tarball +tar -xzvf opensearch-min-3.0.0-SNAPSHOT-darwin-arm64-latest.tar.gz + +# Start the cluster +cd opensearch-3.0.0-SNAPSHOT +./bin/opensearch +``` + +Once started, you can make some sample API calls: + +```bash +# Check cluster information +curl http://localhost:9200 +...... +{ + "name" : "macos-arm64-host", + "cluster_name" : "opensearch", + "cluster_uuid" : "hOcgbBtrTU-yy48nSvRj5Q", + "version" : { + "distribution" : "opensearch", + "number" : "3.0.0-SNAPSHOT", + "build_type" : "tar", + "build_hash" : "3db252541cc843eb405c6dbb7c42712d3d612146", + "build_date" : "2024-08-12T01:52:54.244207Z", + "build_snapshot" : true, + "lucene_version" : "9.12.0", + "minimum_wire_compatibility_version" : "2.17.0", + "minimum_index_compatibility_version" : "2.0.0" + }, + "tagline" : "The OpenSearch Project: https://opensearch.org/" +} +``` + +Our pipeline will keep publishing new versions whenever they become available. + +### Run Integration Tests for OpenSearch Plugins + +Here, we are using the [OpenSearch Alerting plugin](https://github.com/opensearch-project/alerting) as an example on a M1 Macbook: + +```bash +# Clone alerting repository +git clone https://github.com/opensearch-project/alerting.git +cd alerting +``` + +We first test on an older version (2.14.0) of OpenSearch that doesn’t have the core snapshot available for MacOS Arm64: + +```bash +# Checkout 2.14 +git checkout 2.14 + +# Run integration test +./gradlew integTest +> Task :alerting:integTest FAILED + +FAILURE: Build failed with an exception. + +* What went wrong: +Execution failed for task ':alerting:integTest'. +> Could not resolve all files for configuration ':alerting:opensearch_distro_extracted_testclusters-alerting-integTest-0-2.14.0-SNAPSHOT-'. + > Could not resolve opensearch-distribution-snapshot:opensearch:2.14.0-SNAPSHOT. + Required by: + project :alerting + > Could not resolve opensearch-distribution-snapshot:opensearch:2.14.0-SNAPSHOT. + > Could not get resource 'https://artifacts.opensearch.org/snapshots/core/opensearch/2.14.0-SNAPSHOT/opensearch-min-2.14.0-SNAPSHOT-darwin-arm64-latest.tar.gz'. + > Could not HEAD 'https://artifacts.opensearch.org/snapshots/core/opensearch/2.14.0-SNAPSHOT/opensearch-min-2.14.0-SNAPSHOT-darwin-arm64-latest.tar.gz'. Received status code 403 from server: Forbidden + +* Try: +> Run with --stacktrace option to get the stack trace. +> Run with --info or --debug option to get more log output. +> Run with --scan to get full insights. +> Get more help at https://help.gradle.org. + +Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0. + +You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins. + +For more on this, please refer to https://docs.gradle.org/8.5/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation. + +BUILD FAILED in 1m 31s +14 actionable tasks: 13 executed, 1 up-to-date +``` + +We now switch to version 2.16.0, in which the MacOS Arm64 snapshot has been published, and try again: + +```bash +# Checkout 2.16 +git checkout 2.16 + +# Run integration test +./gradlew integTest +> Task :alerting:integTest +<===========--> 88% EXECUTING [1m 15s] +> :alerting:compileTestKotlin +> :alerting-sample-remote-monitor-plugin:integTest + > Resolve files of :alerting-sample-remote-monitor-plugin:opensearch_distro_extracted_testclusters-alerting-sample-remote-monitor-plugin-integTest-0-2.16.0-SNAPSHOT- + > opensearch-min-2.16.0-SNAPSHOT-darwin-arm64-latest.tar.gz > 80.4 MiB/225.8 MiB downloaded + +...... + +> Task :alerting:integTest +Picked up JAVA_TOOL_OPTIONS: -Dlog4j2.formatMsgNoLookups=true +<============-> 97% EXECUTING [20m 52s] +> :alerting:integTest > 429 tests completed, 81 skipped +> :alerting:integTest > Executing test org...DestinationMigrationUtilServiceIT + + +> Task :alerting:integTest +Picked up JAVA_TOOL_OPTIONS: -Dlog4j2.formatMsgNoLookups=true + +Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0. + +You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins. + +For more on this, please refer to https://docs.gradle.org/8.5/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation. + +BUILD SUCCESSFUL in 22m 48s +28 actionable tasks: 25 executed, 3 up-to-date +``` + +(Note: this also works for 1.3.19 or 3.0.0 version and above when you switch to 1.3 or main branches respectively) + +### Enhanced Development Experience for OpenSearch Dashboards + +For developers working on OpenSearch Dashboards, this new release is equally beneficial. OpenSearch Dashboards requires a running copy of OpenSearch to function as the backend. Thanks to this update, you can now correctly setup the cluster with these commands: + +```bash +# Clone OpenSearch-Dashboards repository +git clone https://github.com/opensearch-project/OpenSearch-Dashboards.git +cd OpenSearch-Dashboards + +# Bootstrap +yarn osd bootstrap + +# Run OpenSearch backend +yarn opensearch snapshot +``` + +Results: + +```bash +yarn run v1.22.22 +$ scripts/use_node scripts/opensearch snapshot + info Installing from snapshot + │ info version: 3.0.0 + │ info install path: /peterzhuamazon/OpenSearch-Dashboards/.opensearch/3.0.0 + │ info license: oss + │ info Verifying snapshot URL at https://artifacts.opensearch.org/snapshots/core/opensearch/3.0.0-SNAPSHOT/opensearch-min-3.0.0-SNAPSHOT-darwin-arm64-latest.tar.gz + │ info downloading artifact from https://artifacts.opensearch.org/snapshots/core/opensearch/3.0.0-SNAPSHOT/opensearch-min-3.0.0-SNAPSHOT-darwin-arm64-latest.tar.gz + │ info downloading artifact checksum from https://artifacts.opensearch.org/snapshots/core/opensearch/3.0.0-SNAPSHOT/opensearch-min-3.0.0-SNAPSHOT-darwin-arm64-latest.tar.gz.sha512 + │ info checksum verified + │ info extracting /peterzhuamazon/OpenSearch-Dashboards/.opensearch/cache/opensearch-min-3.0.0-SNAPSHOT-darwin-arm64-latest.tar.gz + │ info extracted to /peterzhuamazon/OpenSearch-Dashboards/.opensearch/3.0.0 + │ info created /peterzhuamazon/OpenSearch-Dashboards/.opensearch/3.0.0/OPENSEARCH_TMPDIR + info Starting + │ debg bin/opensearch + +...... + + + │ info [o.o.c.c.CoordinationState] [macos-arm64-host] cluster UUID set to [B-bhWFUBTK27hoGxCjdhkA] + │ info [o.o.c.s.ClusterApplierService] [macos-arm64-host] cluster-manager node changed {previous [], current [{macos-arm64-host}{jdix95csSJqLMZCCj6Lt8w}{thqCYSs6QE6mGMwIwuONHQ}{127.0.0.1}{127.0.0.1:9300}{dimr}{shard_indexing_pressure_enabled=true}]}, term: 1, version: 1, reason: Publication{term=1, version=1} + │ info [o.o.d.PeerFinder] [macos-arm64-host] setting findPeersInterval to [1s] as node commission status = [true] for local node [{macos-arm64-host}{jdix95csSJqLMZCCj6Lt8w}{thqCYSs6QE6mGMwIwuONHQ}{127.0.0.1}{127.0.0.1:9300}{dimr}{shard_indexing_pressure_enabled=true}] + │ info [o.o.c.r.a.AllocationService] [macos-arm64-host] Falling back to single shard assignment since batch mode disable or multiple custom allocators set + │ info [o.o.c.r.a.AllocationService] [macos-arm64-host] Falling back to single shard assignment since batch mode disable or multiple custom allocators set + │ info [o.o.h.AbstractHttpServerTransport] [macos-arm64-host] publish_address {127.0.0.1:9200}, bound_addresses {[::1]:9200}, {127.0.0.1:9200} + │ info [o.o.n.Node] [macos-arm64-host] started +...... +``` + +You can now start developing OpenSearch Dashboards on your MacOS Arm64 host with OpenSearch running in the background. + +### Next Steps + +We encourage all developers working on macOS Arm64 machines to test the artifact and provide us with feedback. If you have any questions, join us on our [Public Slack Channel](https://opensearch.org/slack.html) or in the [*GitHub repository*](https://github.com/opensearch-project). + From ba54d8ed3f13eb2f2d5d5b3b13d2c7334b27e766 Mon Sep 17 00:00:00 2001 From: Fanit Kolchina Date: Mon, 14 Oct 2024 10:59:48 -0400 Subject: [PATCH 2/8] Doc review Signed-off-by: Fanit Kolchina --- ...Development-on-MacOS-with-Apple-Silicon.md | 82 +++++++++++-------- 1 file changed, 46 insertions(+), 36 deletions(-) diff --git a/_posts/2024-09-30-Boosting-OpenSearch-Development-on-MacOS-with-Apple-Silicon.md b/_posts/2024-09-30-Boosting-OpenSearch-Development-on-MacOS-with-Apple-Silicon.md index 068ba9340e..ab789c524f 100644 --- a/_posts/2024-09-30-Boosting-OpenSearch-Development-on-MacOS-with-Apple-Silicon.md +++ b/_posts/2024-09-30-Boosting-OpenSearch-Development-on-MacOS-with-Apple-Silicon.md @@ -1,46 +1,44 @@ --- layout: post -title: Boosting OpenSearch Development on MacOS with Apple Silicon +title: Streamline your OpenSearch development workflow on macOS with Apple silicon authors: - zhujiaxiang -- ssingh +- sisurab +- kolchfa date: 2024-09-30 categories: - releases - technical-posts -excerpt: We are excited to announce that the OpenSearch core snapshot tarball artifact, specifically designed for MacOS Arm64 machines, is now available to the public. -meta_keywords: opensearch open source, MacOS, Arm64, Apple Silicon, developer friendly, architecture support, platform support -meta_description: Boosting OpenSearch Development on MacOS with Apple Silicon +excerpt: We're excited to announce that the OpenSearch core snapshot tarball artifact, built specifically for macOS ARM64 machines, is now publicly available. If you're developing on the latest Mac computers with Apple silicon, we encourage you to give it a try and experience the streamlined workflow. +meta_keywords: opensearch open source, MacOS, ARM64, Apple Silicon, developer friendly, architecture support, platform support +meta_description: Learn how to simplify your OpenSearch development workflow on macOS with Apple silicon --- -OpenSearch is an Apache-2.0 licensed open-source project supported by an engaging community of users across the globe. Building on its commitment to openness and growth, OpenSearch has recently become part of the newly formed [OpenSearch Software Foundation](https://foundation.opensearch.org/), a community-driven initiative under the [Linux Foundation](https://www.linuxfoundation.org/). As part of this move, we have focused on boosting developer experience with more platform and architecture support, particularly for developers using the MacOS Arm64 machines. Previously, setting up OpenSearch cluster and running integration tests required a Linux environment or via Docker container, which added complexity and overhead to the process. Now, you can run and test OpenSearch plugins natively on MacOS, streamline workflows and reduce development time. +OpenSearch is an Apache-2.0 licensed open-source project supported by an engaging community of users across the globe. Building on its commitment to openness and growth, OpenSearch recently became part of the newly formed [OpenSearch Software Foundation](https://foundation.opensearch.org/), a community-driven initiative under the [Linux Foundation](https://www.linuxfoundation.org/). This shift has allowed us to enhance the developer experience by expanding platform and architecture support, especially for developers using macOS ARM64 machines. Previously, setting up OpenSearch cluster and running integration tests required a Linux environment or Docker containers, adding complexity and overhead to the process. Now, you can run and test OpenSearch plugins natively on macOS, simplifying workflows and reducing development time. -Today, we are excited to announce that the OpenSearch core snapshot tarball artifact, specifically designed for MacOS Arm64 machines, is now available to the public. Developers working on these machines, particularly the latest Mac computers with Apple silicon, are encouraged to try it out. +We're excited to announce that the OpenSearch core snapshot tarball artifact, built specifically for macOS ARM64 machines, is now publicly available. If you're developing on these machines, especially the latest Mac computers with Apple silicon, we encourage you to give it a try. -In this blog post, we will discuss how to access the new snapshot artifact, and a few ways to utilize it to start development with OpenSearch and OpenSearch Dashboards. +In this blog post, we'll discuss accessing the new snapshot artifact and using it to streamline your OpenSearch and OpenSearch Dashboards development workflow. -### Pre-requisite +## Prerequisite -You would need to have a [Mac Computer with Apple Silicon](https://support.apple.com/en-us/116943) (Arm64 architecture). For older models with Intel processor, we have published the [OpenSearch core snapshot artifact for MacOS X64 Host](https://github.com/opensearch-project/opensearch-build/issues/2216) back in 2022. +You can use the artifact described in this post on a [Mac computer with Apple silicon](https://support.apple.com/en-us/116943) (ARM64 architecture). For older models with the Intel processor, you can use the [OpenSearch core snapshot artifact for macOS X64 Host](https://github.com/opensearch-project/opensearch-build/issues/2216). -### Directly download the artifact and start OpenSearch cluster +## Download the artifact and start an OpenSearch cluster You can download the artifact tarball through one of the following links: -```bash -1.3.19 Snapshot Artifact: -https://artifacts.opensearch.org/snapshots/core/opensearch/1.3.19-SNAPSHOT/opensearch-min-1.3.19-SNAPSHOT-darwin-arm64-latest.tar.gz +- [1.3.19 snapshot artifact](https://artifacts.opensearch.org/snapshots/core/opensearch/1.3.19-SNAPSHOT/opensearch-min-1.3.19-SNAPSHOT-darwin-arm64-latest.tar.gz) -2.16.0 Snapshot Artifact: -https://artifacts.opensearch.org/snapshots/core/opensearch/2.16.0-SNAPSHOT/opensearch-min-2.16.0-SNAPSHOT-darwin-arm64-latest.tar.gz +- [2.16.0 snapshot artifact](https://artifacts.opensearch.org/snapshots/core/opensearch/2.16.0-SNAPSHOT/opensearch-min-2.16.0-SNAPSHOT-darwin-arm64-latest.tar.gz) -3.0.0 Snapshot Artifact: -https://artifacts.opensearch.org/snapshots/core/opensearch/3.0.0-SNAPSHOT/opensearch-min-3.0.0-SNAPSHOT-darwin-arm64-latest.tar.gz -``` +- [3.0.0 snapshot artifact](https://artifacts.opensearch.org/snapshots/core/opensearch/3.0.0-SNAPSHOT/opensearch-min-3.0.0-SNAPSHOT-darwin-arm64-latest.tar.gz) -You can use these commands to start the cluster: +Our pipeline is configured to publish new artifact versions whenever they become available. + +To start the cluster, run the following commands: ```bash # Download 3.0.0 core snapshot @@ -54,12 +52,15 @@ cd opensearch-3.0.0-SNAPSHOT ./bin/opensearch ``` -Once started, you can make some sample API calls: +Once the cluster is started, you can make a test API call to verify that the cluster is working: ```bash -# Check cluster information curl http://localhost:9200 -...... +``` + +The response should look similar to the following: + +```json { "name" : "macos-arm64-host", "cluster_name" : "opensearch", @@ -79,19 +80,18 @@ curl http://localhost:9200 } ``` -Our pipeline will keep publishing new versions whenever they become available. +## Run OpenSearch plugin integration tests -### Run Integration Tests for OpenSearch Plugins +Follow this procedure to run integration tests for an OpenSearch plugin. In this example, you'll run tests for the [OpenSearch Alerting plugin](https://github.com/opensearch-project/alerting) on an M1 MacBook. -Here, we are using the [OpenSearch Alerting plugin](https://github.com/opensearch-project/alerting) as an example on a M1 Macbook: +Clone the alerting repository and change directory to the repository root: ```bash -# Clone alerting repository git clone https://github.com/opensearch-project/alerting.git cd alerting ``` -We first test on an older version (2.14.0) of OpenSearch that doesn’t have the core snapshot available for MacOS Arm64: +First, try running integration tests on an older version of OpenSearch that doesn't contain the core snapshot for macOS ARM64 (in this example, 2.14.0): ```bash # Checkout 2.14 @@ -99,6 +99,11 @@ git checkout 2.14 # Run integration test ./gradlew integTest +``` + +The tests fail with the following error: + +```bash > Task :alerting:integTest FAILED FAILURE: Build failed with an exception. @@ -129,7 +134,7 @@ BUILD FAILED in 1m 31s 14 actionable tasks: 13 executed, 1 up-to-date ``` -We now switch to version 2.16.0, in which the MacOS Arm64 snapshot has been published, and try again: +Then switch to the 2.16.0 version, in which the macOS ARM64 snapshot is available, and try again: ```bash # Checkout 2.16 @@ -137,6 +142,11 @@ git checkout 2.16 # Run integration test ./gradlew integTest +``` + +Integration tests are running: + +```bash > Task :alerting:integTest <===========--> 88% EXECUTING [1m 15s] > :alerting:compileTestKotlin @@ -166,11 +176,11 @@ BUILD SUCCESSFUL in 22m 48s 28 actionable tasks: 25 executed, 3 up-to-date ``` -(Note: this also works for 1.3.19 or 3.0.0 version and above when you switch to 1.3 or main branches respectively) +**Note**: Running integration tests with the new artifact also works for OpenSearch version 1.3.19 (when you switch to the 1.3 branch) or any version 3.0.0 and later (when you switch to main branch). -### Enhanced Development Experience for OpenSearch Dashboards +## Simplify your OpenSearch Dashboards development experience -For developers working on OpenSearch Dashboards, this new release is equally beneficial. OpenSearch Dashboards requires a running copy of OpenSearch to function as the backend. Thanks to this update, you can now correctly setup the cluster with these commands: +If you're developing for OpenSearch Dashboards, this release brings significant benefits. OpenSearch Dashboards relies on a running instance of OpenSearch as its backend. With this update, you can now easily configure the cluster using the following commands: ```bash # Clone OpenSearch-Dashboards repository @@ -184,7 +194,7 @@ yarn osd bootstrap yarn opensearch snapshot ``` -Results: +The output verifies that the latest 3.0.0 snapshot version of OpenSearch is installed and started: ```bash yarn run v1.22.22 @@ -216,9 +226,9 @@ $ scripts/use_node scripts/opensearch snapshot ...... ``` -You can now start developing OpenSearch Dashboards on your MacOS Arm64 host with OpenSearch running in the background. +Now that OpenSearch is running in the background, you can start developing OpenSearch Dashboards on your macOS ARM64 host. -### Next Steps +## Next steps -We encourage all developers working on macOS Arm64 machines to test the artifact and provide us with feedback. If you have any questions, join us on our [Public Slack Channel](https://opensearch.org/slack.html) or in the [*GitHub repository*](https://github.com/opensearch-project). +If you're a developer working on a macOS ARM64 machine, we encourage you to test the artifact and share your feedback. If you have any questions, feel free to join us on our [public slack channel](https://opensearch.org/slack.html) or in the [GitHub repository](https://github.com/opensearch-project). From 7946b532f7cc63dceda8b073e95060b640506f3a Mon Sep 17 00:00:00 2001 From: kolchfa-aws <105444904+kolchfa-aws@users.noreply.github.com> Date: Mon, 14 Oct 2024 13:40:58 -0400 Subject: [PATCH 3/8] Apply suggestions from code review Co-authored-by: Nathan Bower Signed-off-by: kolchfa-aws <105444904+kolchfa-aws@users.noreply.github.com> --- ...Search-Development-on-MacOS-with-Apple-Silicon.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/_posts/2024-09-30-Boosting-OpenSearch-Development-on-MacOS-with-Apple-Silicon.md b/_posts/2024-09-30-Boosting-OpenSearch-Development-on-MacOS-with-Apple-Silicon.md index ab789c524f..599fb8c88e 100644 --- a/_posts/2024-09-30-Boosting-OpenSearch-Development-on-MacOS-with-Apple-Silicon.md +++ b/_posts/2024-09-30-Boosting-OpenSearch-Development-on-MacOS-with-Apple-Silicon.md @@ -14,7 +14,7 @@ meta_keywords: opensearch open source, MacOS, ARM64, Apple Silicon, developer fr meta_description: Learn how to simplify your OpenSearch development workflow on macOS with Apple silicon --- -OpenSearch is an Apache-2.0 licensed open-source project supported by an engaging community of users across the globe. Building on its commitment to openness and growth, OpenSearch recently became part of the newly formed [OpenSearch Software Foundation](https://foundation.opensearch.org/), a community-driven initiative under the [Linux Foundation](https://www.linuxfoundation.org/). This shift has allowed us to enhance the developer experience by expanding platform and architecture support, especially for developers using macOS ARM64 machines. Previously, setting up OpenSearch cluster and running integration tests required a Linux environment or Docker containers, adding complexity and overhead to the process. Now, you can run and test OpenSearch plugins natively on macOS, simplifying workflows and reducing development time. +OpenSearch is an Apache 2.0--licensed open-source project supported by an engaged community of users across the globe. Building on its commitment to openness and growth, OpenSearch recently became part of the newly formed [OpenSearch Software Foundation](https://foundation.opensearch.org/), a community-driven initiative under the [Linux Foundation](https://www.linuxfoundation.org/). This shift has allowed us to enhance the developer experience by expanding platform and architecture support, especially for developers using macOS ARM64 machines. Previously, setting up an OpenSearch cluster and running integration tests required a Linux environment or Docker containers, adding complexity and overhead to the process. Now you can run and test OpenSearch plugins natively on macOS, simplifying workflows and reducing development time. We're excited to announce that the OpenSearch core snapshot tarball artifact, built specifically for macOS ARM64 machines, is now publicly available. If you're developing on these machines, especially the latest Mac computers with Apple silicon, we encourage you to give it a try. @@ -23,7 +23,7 @@ In this blog post, we'll discuss accessing the new snapshot artifact and using i ## Prerequisite -You can use the artifact described in this post on a [Mac computer with Apple silicon](https://support.apple.com/en-us/116943) (ARM64 architecture). For older models with the Intel processor, you can use the [OpenSearch core snapshot artifact for macOS X64 Host](https://github.com/opensearch-project/opensearch-build/issues/2216). +You can use the artifact described in this post on a [Mac computer with Apple silicon](https://support.apple.com/en-us/116943) (ARM64 architecture). For older models with an Intel processor, you can use the [OpenSearch core snapshot artifact for macOS X64 Host](https://github.com/opensearch-project/opensearch-build/issues/2216). ## Download the artifact and start an OpenSearch cluster @@ -58,7 +58,7 @@ Once the cluster is started, you can make a test API call to verify that the clu curl http://localhost:9200 ``` -The response should look similar to the following: +The response should appear similar to the following: ```json { @@ -84,7 +84,7 @@ The response should look similar to the following: Follow this procedure to run integration tests for an OpenSearch plugin. In this example, you'll run tests for the [OpenSearch Alerting plugin](https://github.com/opensearch-project/alerting) on an M1 MacBook. -Clone the alerting repository and change directory to the repository root: +Clone the alerting repository and change the directory to the repository root: ```bash git clone https://github.com/opensearch-project/alerting.git @@ -176,7 +176,7 @@ BUILD SUCCESSFUL in 22m 48s 28 actionable tasks: 25 executed, 3 up-to-date ``` -**Note**: Running integration tests with the new artifact also works for OpenSearch version 1.3.19 (when you switch to the 1.3 branch) or any version 3.0.0 and later (when you switch to main branch). +**Note**: Running integration tests with the new artifact also works for OpenSearch version 1.3.19 (when you switch to the 1.3 branch) or version 3.0.0 and later (when you switch to the main branch). ## Simplify your OpenSearch Dashboards development experience @@ -230,5 +230,5 @@ Now that OpenSearch is running in the background, you can start developing OpenS ## Next steps -If you're a developer working on a macOS ARM64 machine, we encourage you to test the artifact and share your feedback. If you have any questions, feel free to join us on our [public slack channel](https://opensearch.org/slack.html) or in the [GitHub repository](https://github.com/opensearch-project). +If you're a developer working on a macOS ARM64 machine, we encourage you to test the artifact and share your feedback. If you have any questions, feel free to join us on our [public Slack channel](https://opensearch.org/slack.html) or in the [GitHub repository](https://github.com/opensearch-project). From 6de09a3e02e2b7130120518b197d0d2384f4cc93 Mon Sep 17 00:00:00 2001 From: kolchfa-aws <105444904+kolchfa-aws@users.noreply.github.com> Date: Mon, 14 Oct 2024 14:31:42 -0400 Subject: [PATCH 4/8] Apply suggestions from code review Signed-off-by: kolchfa-aws <105444904+kolchfa-aws@users.noreply.github.com> --- ...ting-OpenSearch-Development-on-MacOS-with-Apple-Silicon.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_posts/2024-09-30-Boosting-OpenSearch-Development-on-MacOS-with-Apple-Silicon.md b/_posts/2024-09-30-Boosting-OpenSearch-Development-on-MacOS-with-Apple-Silicon.md index 599fb8c88e..7c6d290ef2 100644 --- a/_posts/2024-09-30-Boosting-OpenSearch-Development-on-MacOS-with-Apple-Silicon.md +++ b/_posts/2024-09-30-Boosting-OpenSearch-Development-on-MacOS-with-Apple-Silicon.md @@ -94,7 +94,7 @@ cd alerting First, try running integration tests on an older version of OpenSearch that doesn't contain the core snapshot for macOS ARM64 (in this example, 2.14.0): ```bash -# Checkout 2.14 +# Check out 2.14 git checkout 2.14 # Run integration test @@ -137,7 +137,7 @@ BUILD FAILED in 1m 31s Then switch to the 2.16.0 version, in which the macOS ARM64 snapshot is available, and try again: ```bash -# Checkout 2.16 +# Check out 2.16 git checkout 2.16 # Run integration test From 20707f57dfa65fdcc8167e375cc316ee10619c1f Mon Sep 17 00:00:00 2001 From: kolchfa-aws <105444904+kolchfa-aws@users.noreply.github.com> Date: Mon, 14 Oct 2024 14:34:22 -0400 Subject: [PATCH 5/8] Update _posts/2024-09-30-Boosting-OpenSearch-Development-on-MacOS-with-Apple-Silicon.md Signed-off-by: kolchfa-aws <105444904+kolchfa-aws@users.noreply.github.com> --- ...osting-OpenSearch-Development-on-MacOS-with-Apple-Silicon.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2024-09-30-Boosting-OpenSearch-Development-on-MacOS-with-Apple-Silicon.md b/_posts/2024-09-30-Boosting-OpenSearch-Development-on-MacOS-with-Apple-Silicon.md index 7c6d290ef2..9da34aaf10 100644 --- a/_posts/2024-09-30-Boosting-OpenSearch-Development-on-MacOS-with-Apple-Silicon.md +++ b/_posts/2024-09-30-Boosting-OpenSearch-Development-on-MacOS-with-Apple-Silicon.md @@ -84,7 +84,7 @@ The response should appear similar to the following: Follow this procedure to run integration tests for an OpenSearch plugin. In this example, you'll run tests for the [OpenSearch Alerting plugin](https://github.com/opensearch-project/alerting) on an M1 MacBook. -Clone the alerting repository and change the directory to the repository root: +Clone the alerting repository and change directory to the repository root: ```bash git clone https://github.com/opensearch-project/alerting.git From d2853657492caafbc96de7f87b617802e394d36d Mon Sep 17 00:00:00 2001 From: Peter Zhu Date: Mon, 21 Oct 2024 13:52:51 -0400 Subject: [PATCH 6/8] Update and rename 2024-09-30-Boosting-OpenSearch-Development-on-MacOS-with-Apple-Silicon.md to 2024-10-21-Boosting-OpenSearch-Development-on-MacOS-with-Apple-Silicon.md Signed-off-by: Peter Zhu --- ...sting-OpenSearch-Development-on-MacOS-with-Apple-Silicon.md} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename _posts/{2024-09-30-Boosting-OpenSearch-Development-on-MacOS-with-Apple-Silicon.md => 2024-10-21-Boosting-OpenSearch-Development-on-MacOS-with-Apple-Silicon.md} (99%) diff --git a/_posts/2024-09-30-Boosting-OpenSearch-Development-on-MacOS-with-Apple-Silicon.md b/_posts/2024-10-21-Boosting-OpenSearch-Development-on-MacOS-with-Apple-Silicon.md similarity index 99% rename from _posts/2024-09-30-Boosting-OpenSearch-Development-on-MacOS-with-Apple-Silicon.md rename to _posts/2024-10-21-Boosting-OpenSearch-Development-on-MacOS-with-Apple-Silicon.md index 9da34aaf10..31833ecd33 100644 --- a/_posts/2024-09-30-Boosting-OpenSearch-Development-on-MacOS-with-Apple-Silicon.md +++ b/_posts/2024-10-21-Boosting-OpenSearch-Development-on-MacOS-with-Apple-Silicon.md @@ -5,7 +5,7 @@ authors: - zhujiaxiang - sisurab - kolchfa -date: 2024-09-30 +date: 2024-10-21 categories: - releases - technical-posts From c48943b59af2d72cdf1895884344d583ccf255a9 Mon Sep 17 00:00:00 2001 From: Peter Zhu Date: Tue, 22 Oct 2024 16:57:13 -0400 Subject: [PATCH 7/8] Update meta values Signed-off-by: Peter Zhu --- ...ting-OpenSearch-Development-on-MacOS-with-Apple-Silicon.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_posts/2024-10-21-Boosting-OpenSearch-Development-on-MacOS-with-Apple-Silicon.md b/_posts/2024-10-21-Boosting-OpenSearch-Development-on-MacOS-with-Apple-Silicon.md index 31833ecd33..c2604592e5 100644 --- a/_posts/2024-10-21-Boosting-OpenSearch-Development-on-MacOS-with-Apple-Silicon.md +++ b/_posts/2024-10-21-Boosting-OpenSearch-Development-on-MacOS-with-Apple-Silicon.md @@ -10,8 +10,8 @@ categories: - releases - technical-posts excerpt: We're excited to announce that the OpenSearch core snapshot tarball artifact, built specifically for macOS ARM64 machines, is now publicly available. If you're developing on the latest Mac computers with Apple silicon, we encourage you to give it a try and experience the streamlined workflow. -meta_keywords: opensearch open source, MacOS, ARM64, Apple Silicon, developer friendly, architecture support, platform support -meta_description: Learn how to simplify your OpenSearch development workflow on macOS with Apple silicon +meta_keywords: OpenSearch core snapshot, macOS ARM64, OpenSearch Dashboards, development workflow on macOS with Apple silicon +meta_description: Learn how to access the new OpenSearch core snapshot artifact for macOS ARM64 and use it to simplify your development process and streamline your workflow on Mac computers with Apple silicon. --- OpenSearch is an Apache 2.0--licensed open-source project supported by an engaged community of users across the globe. Building on its commitment to openness and growth, OpenSearch recently became part of the newly formed [OpenSearch Software Foundation](https://foundation.opensearch.org/), a community-driven initiative under the [Linux Foundation](https://www.linuxfoundation.org/). This shift has allowed us to enhance the developer experience by expanding platform and architecture support, especially for developers using macOS ARM64 machines. Previously, setting up an OpenSearch cluster and running integration tests required a Linux environment or Docker containers, adding complexity and overhead to the process. Now you can run and test OpenSearch plugins natively on macOS, simplifying workflows and reducing development time. From f6d3ec3343e871f401ea7b2ceecd90b5417f7c46 Mon Sep 17 00:00:00 2001 From: kolchfa-aws <105444904+kolchfa-aws@users.noreply.github.com> Date: Tue, 22 Oct 2024 17:09:06 -0400 Subject: [PATCH 8/8] Update _posts/2024-10-21-Boosting-OpenSearch-Development-on-MacOS-with-Apple-Silicon.md Signed-off-by: kolchfa-aws <105444904+kolchfa-aws@users.noreply.github.com> --- ...osting-OpenSearch-Development-on-MacOS-with-Apple-Silicon.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2024-10-21-Boosting-OpenSearch-Development-on-MacOS-with-Apple-Silicon.md b/_posts/2024-10-21-Boosting-OpenSearch-Development-on-MacOS-with-Apple-Silicon.md index c2604592e5..c684be27ac 100644 --- a/_posts/2024-10-21-Boosting-OpenSearch-Development-on-MacOS-with-Apple-Silicon.md +++ b/_posts/2024-10-21-Boosting-OpenSearch-Development-on-MacOS-with-Apple-Silicon.md @@ -5,7 +5,7 @@ authors: - zhujiaxiang - sisurab - kolchfa -date: 2024-10-21 +date: 2024-10-22 categories: - releases - technical-posts