opensearch-project / opensearch-project/OpenSearch

[Feature Request] Allow additional cluster settings to be updated in Test clusters

Open
#17,455 2 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

:test enhancement
Dominant language
Java
Stars
13.7k
Forks
3k
Avg merge
2d 23h
Merged PRs (30d)
108

Description

Is your feature request related to a problem? Please describe

Currently in opensearch plugins we can use ./gradlew run to spin a local cluster which has some of the regular default settings that are seen in OpenSearch like using port 9200 for http and 9300 for transport.
However currently we are unable to easily change these settings when running locally. For example I want to easily test out cross cluster search feature by running two clusters locally that have different http ports, transport ports and cluster names. This would also allow me to easily build github actions that utilize this capability. For example the error I would get now if I try to change this are:

> Testclusters does not allow the following settings to be changed:[cluster.name, http.port, transport.port, node.name] for node{::leaderCluster-0}
Describe the solution you'd like

For other settings we have already added them to the list of settings we can update, for example:
https://github.com/opensearch-project/OpenSearch/pull/15906

I wanted to understand why this list of setting is so strict and if there are downside to allowing a lot more updatable settings for testClusters.

Related component

No response

Describe alternatives you've considered

No response

Additional context

No response

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the Testclusters handling used by ./gradlew run and review the setting changes discussed in OpenSearch PR 15906. Determine why cluster.name, http.port, transport.port, and node.name are rejected, then verify that safely allowing the requested settings supports running multiple local clusters.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
distributed-systems, testing-qa
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.