diff --git a/CHANGELOG.md b/CHANGELOG.md index 52b89e57c0959..871552fcf8657 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -122,6 +122,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), - [BWC and API enforcement] Introduce checks for enforcing the API restrictions ([#11175](https://github.com/opensearch-project/OpenSearch/pull/11175)) - Create separate transport action for render search template action ([#11170](https://github.com/opensearch-project/OpenSearch/pull/11170)) - Add additional handling in SearchTemplateRequest when simulate is set to true ([#11591](https://github.com/opensearch-project/OpenSearch/pull/11591)) +- Add option to set user for test cluster to perform health checks during run with security enabled ([#11641](https://github.com/opensearch-project/OpenSearch/pull/11641)) ### Dependencies - Bump Lucene from 9.7.0 to 9.8.0 ([10276](https://github.com/opensearch-project/OpenSearch/pull/10276)) diff --git a/buildSrc/src/main/java/org/opensearch/gradle/testclusters/OpenSearchNode.java b/buildSrc/src/main/java/org/opensearch/gradle/testclusters/OpenSearchNode.java index 268de50340cbf..6d710bf46dab6 100644 --- a/buildSrc/src/main/java/org/opensearch/gradle/testclusters/OpenSearchNode.java +++ b/buildSrc/src/main/java/org/opensearch/gradle/testclusters/OpenSearchNode.java @@ -703,7 +703,24 @@ public void extraJarFile(File from) { } @Override - public void user(Map userSpec) {} + public void user(Map userSpec) { + if (userSpec == null) { + return; + } + + if (userSpec.containsKey("username") && userSpec.containsKey("password")) { + this.credentials.get(0).put("username", userSpec.get("username")); + this.credentials.get(0).put("password", userSpec.get("password")); + return; + } + + if (!userSpec.containsKey("username")) { + LOGGER.warn("Unable to set user. userSpec must contain username."); + } + if (!userSpec.containsKey("password")) { + LOGGER.warn("Unable to set user. userSpec must contain password."); + } + } private void runOpenSearchBinScriptWithInput(String input, String tool, CharSequence... args) { if (Files.exists(getDistroDir().resolve("bin").resolve(tool)) == false