From c55e048d1e966095ae98a5d682b3bfe7d3f1f250 Mon Sep 17 00:00:00 2001 From: Craig Perkins Date: Mon, 15 Dec 2025 11:57:58 -0500 Subject: [PATCH 1/3] Ensure all modules are included in INTEG_TEST testcluster distribution Signed-off-by: Craig Perkins --- distribution/archives/build.gradle | 6 +++--- distribution/build.gradle | 23 ++++++++++------------- 2 files changed, 13 insertions(+), 16 deletions(-) diff --git a/distribution/archives/build.gradle b/distribution/archives/build.gradle index b6cb165cb6333..204ff05be4364 100644 --- a/distribution/archives/build.gradle +++ b/distribution/archives/build.gradle @@ -28,7 +28,7 @@ * under the License. */ -import org.opensearch.gradle.JavaPackageType +import org.opensearch.gradle.JavaPackageType apply plugin: 'opensearch.internal-distribution-archive-setup' @@ -103,7 +103,7 @@ CopySpec archiveFiles(CopySpec modulesFiles, String distributionType, String pla distribution_archives { integTestZip { content { - archiveFiles(transportModulesFiles, 'zip', null, 'x64', JavaPackageType.NONE) + archiveFiles(integTestModulesFiles, 'zip', null, 'x64', JavaPackageType.NONE) } } @@ -193,7 +193,7 @@ distribution_archives { } } - + linuxPpc64leTar { archiveClassifier = 'linux-ppc64le' content { diff --git a/distribution/build.gradle b/distribution/build.gradle index a16d436f5603c..65cb518d92cec 100644 --- a/distribution/build.gradle +++ b/distribution/build.gradle @@ -91,7 +91,7 @@ tasks.withType(NoticeTask).configureEach { *****************************************************************************/ String distOutputs = 'build/outputs/dist' String systemdOutputs = 'build/outputs/systemd' -String transportOutputs = 'build/outputs/transport-only' +String integTestOutputs = 'build/outputs/integ-test' String externalTestOutputs = 'build/outputs/external-test' def processOutputsTaskProvider = tasks.register("processOutputs", Sync) { @@ -106,10 +106,9 @@ def processExternalTestOutputsTaskProvider = tasks.register("processExternalTest into externalTestOutputs } -// Integ tests work over the rest http layer, so we need a transport included with the integ test zip. -// All transport modules are included so that they may be randomized for testing -def processTransportOutputsTaskProvider = tasks.register("processTransportOutputs", Sync) { - into transportOutputs +// Copy all modules to integ test build to ensure integ test and min distro behavior is the same since modules are mandatory +def processIntegTestModulesOutputsTaskProvider = tasks.register("processIntegTestOutputs", Sync) { + into integTestOutputs } // these are dummy tasks that can be used to depend on the relevant sub output dir @@ -129,9 +128,9 @@ def buildSystemdModuleTaskProvider = tasks.register("buildSystemdModule") { dependsOn "processSystemdOutputs" outputs.dir "${systemdOutputs}/modules" } -def buildTransportModulesTaskProvider = tasks.register("buildTransportModules") { - dependsOn processTransportOutputsTaskProvider - outputs.dir "${transportOutputs}/modules" +def buildIntegTestModulesTaskProvider = tasks.register("buildIntegTestModules") { + dependsOn processIntegTestModulesOutputsTaskProvider + outputs.dir "${integTestOutputs}/modules" } def buildExternalTestModulesTaskProvider = tasks.register("buildExternalTestModules") { dependsOn "processExternalTestOutputs" @@ -230,9 +229,7 @@ project.rootProject.subprojects.findAll { it.parent.path == ':modules' }.each { } copyModule(processOutputsTaskProvider, module) - if (module.name.startsWith('transport-')) { - copyModule(processTransportOutputsTaskProvider, module) - } + copyModule(processIntegTestModulesOutputsTaskProvider, module) copyLog4jProperties(buildLog4jConfigTaskProvider, module) @@ -407,8 +404,8 @@ configure(subprojects.findAll { ['archives', 'packages'].contains(it.name) }) { } } - transportModulesFiles = copySpec { - from buildTransportModulesTaskProvider + integTestModulesFiles = copySpec { + from buildIntegTestModulesTaskProvider } configFiles = { distributionType, java -> From b02fc6b42faebcaf95783811f6bbc6ea7a5efc06 Mon Sep 17 00:00:00 2001 From: Craig Perkins Date: Mon, 15 Dec 2025 12:59:15 -0500 Subject: [PATCH 2/3] Add CHANGELOG entry Signed-off-by: Craig Perkins --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a70798cc9f309..666414c313b4d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), ### Changed - Handle custom metadata files in subdirectory-store ([#20157](https://github.com/opensearch-project/OpenSearch/pull/20157)) - Add support for missing proto fields in GRPC FunctionScore and Highlight ([#20169](https://github.com/opensearch-project/OpenSearch/pull/20169)) +- Ensure all modules are included in INTEG_TEST testcluster distribution ([#20241](https://github.com/opensearch-project/OpenSearch/pull/20241)) ### Fixed - Fix bug of warm index: FullFileCachedIndexInput was closed error ([#20055](https://github.com/opensearch-project/OpenSearch/pull/20055)) From 709197326cd38d06995ab9153b74054967b1a97b Mon Sep 17 00:00:00 2001 From: Craig Perkins Date: Mon, 15 Dec 2025 15:46:00 -0500 Subject: [PATCH 3/3] Fix test Signed-off-by: Craig Perkins --- .../resources/rest-api-spec/test/painless/71_context_api.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/lang-painless/src/yamlRestTest/resources/rest-api-spec/test/painless/71_context_api.yml b/modules/lang-painless/src/yamlRestTest/resources/rest-api-spec/test/painless/71_context_api.yml index 10fa6fa62ca14..0fb271b0f34c1 100644 --- a/modules/lang-painless/src/yamlRestTest/resources/rest-api-spec/test/painless/71_context_api.yml +++ b/modules/lang-painless/src/yamlRestTest/resources/rest-api-spec/test/painless/71_context_api.yml @@ -2,7 +2,7 @@ - do: scripts_painless_context: {} - match: { contexts.0: aggregation_selector} - - match: { contexts.25: update} + - match: { contexts.26: update} --- "Action to get all API values for score context":