From 88420cdac06ab7abea6a9b29d1bf7547c5d1afff Mon Sep 17 00:00:00 2001 From: Mark Vieira Date: Tue, 17 Jan 2023 12:45:34 -0800 Subject: [PATCH 1/2] Used a shared repo path for all nodes of a given cluster --- .../SmokeTestMultiNodeClientYamlTestSuiteIT.java | 10 ++-------- .../test/cluster/local/LocalClusterFactory.java | 12 ++++++------ 2 files changed, 8 insertions(+), 14 deletions(-) diff --git a/qa/smoke-test-multinode/src/yamlRestTest/java/org/elasticsearch/smoketest/SmokeTestMultiNodeClientYamlTestSuiteIT.java b/qa/smoke-test-multinode/src/yamlRestTest/java/org/elasticsearch/smoketest/SmokeTestMultiNodeClientYamlTestSuiteIT.java index 5585f6d5f4e8e..6c4de8f6705e1 100644 --- a/qa/smoke-test-multinode/src/yamlRestTest/java/org/elasticsearch/smoketest/SmokeTestMultiNodeClientYamlTestSuiteIT.java +++ b/qa/smoke-test-multinode/src/yamlRestTest/java/org/elasticsearch/smoketest/SmokeTestMultiNodeClientYamlTestSuiteIT.java @@ -25,22 +25,16 @@ @TimeoutSuite(millis = 40 * TimeUnits.MINUTE) // some of the windows test VMs are slow as hell public class SmokeTestMultiNodeClientYamlTestSuiteIT extends ESClientYamlSuiteTestCase { - private static TemporaryFolder repoDirectory = new TemporaryFolder(); - - private static ElasticsearchCluster cluster = ElasticsearchCluster.local() + @ClassRule + public static ElasticsearchCluster cluster = ElasticsearchCluster.local() .nodes(2) .module("mapper-extras") .module("ingest-common") - .setting("path.repo", () -> repoDirectory.getRoot().getPath()) // The first node does not have the ingest role so we're sure ingest requests are forwarded: .node(0, n -> n.setting("node.roles", "[master,data,ml,remote_cluster_client,transform]")) .feature(FeatureFlag.TIME_SERIES_MODE) .build(); - @ClassRule - // Ensure the shared repo dir is created before cluster start - public static TestRule ruleChain = RuleChain.outerRule(repoDirectory).around(cluster); - public SmokeTestMultiNodeClientYamlTestSuiteIT(@Name("yaml") ClientYamlTestCandidate testCandidate) { super(testCandidate); } diff --git a/test/test-clusters/src/main/java/org/elasticsearch/test/cluster/local/LocalClusterFactory.java b/test/test-clusters/src/main/java/org/elasticsearch/test/cluster/local/LocalClusterFactory.java index 2ae7770e9dabf..d85f008727176 100644 --- a/test/test-clusters/src/main/java/org/elasticsearch/test/cluster/local/LocalClusterFactory.java +++ b/test/test-clusters/src/main/java/org/elasticsearch/test/cluster/local/LocalClusterFactory.java @@ -75,7 +75,7 @@ public class Node { private final LocalNodeSpec spec; private final Path workingDir; private final Path distributionDir; - private final Path snapshotsDir; + private final Path repoDir; private final Path dataDir; private final Path logsDir; private final Path configDir; @@ -89,7 +89,7 @@ public Node(LocalNodeSpec spec) { this.spec = spec; this.workingDir = baseWorkingDir.resolve(spec.getCluster().getName()).resolve(spec.getName()); this.distributionDir = workingDir.resolve("distro"); // location of es distribution files, typically hard-linked - this.snapshotsDir = workingDir.resolve("repo"); + this.repoDir = baseWorkingDir.resolve("repo"); this.dataDir = workingDir.resolve("data"); this.logsDir = workingDir.resolve("logs"); this.configDir = workingDir.resolve("config"); @@ -204,7 +204,7 @@ private void initializeWorkingDirectory() { IOUtils.deleteWithRetry(distributionDir); IOUtils.syncWithCopy(distributionDescriptor.getDistributionDir(), distributionDir); } - Files.createDirectories(snapshotsDir); + Files.createDirectories(repoDir); Files.createDirectories(dataDir); Files.createDirectories(logsDir); Files.createDirectories(tempDir); @@ -227,9 +227,9 @@ private void writeConfiguration() { try { // Write settings to elasticsearch.yml Map finalSettings = new HashMap<>(); - finalSettings.put("path.repo", workingDir.resolve("repo").toString()); - finalSettings.put("path.data", workingDir.resolve("data").toString()); - finalSettings.put("path.logs", workingDir.resolve("logs").toString()); + finalSettings.put("path.repo", repoDir.toString()); + finalSettings.put("path.data", dataDir.toString()); + finalSettings.put("path.logs", logsDir.toString()); finalSettings.putAll(spec.resolveSettings()); Files.writeString( From a176bda05902b6b5152f63467237c2c975dccdea Mon Sep 17 00:00:00 2001 From: Mark Vieira Date: Tue, 17 Jan 2023 12:59:18 -0800 Subject: [PATCH 2/2] Remove unused imports --- .../smoketest/SmokeTestMultiNodeClientYamlTestSuiteIT.java | 3 --- 1 file changed, 3 deletions(-) diff --git a/qa/smoke-test-multinode/src/yamlRestTest/java/org/elasticsearch/smoketest/SmokeTestMultiNodeClientYamlTestSuiteIT.java b/qa/smoke-test-multinode/src/yamlRestTest/java/org/elasticsearch/smoketest/SmokeTestMultiNodeClientYamlTestSuiteIT.java index 6c4de8f6705e1..3368549c1d7ae 100644 --- a/qa/smoke-test-multinode/src/yamlRestTest/java/org/elasticsearch/smoketest/SmokeTestMultiNodeClientYamlTestSuiteIT.java +++ b/qa/smoke-test-multinode/src/yamlRestTest/java/org/elasticsearch/smoketest/SmokeTestMultiNodeClientYamlTestSuiteIT.java @@ -18,9 +18,6 @@ import org.elasticsearch.test.rest.yaml.ClientYamlTestCandidate; import org.elasticsearch.test.rest.yaml.ESClientYamlSuiteTestCase; import org.junit.ClassRule; -import org.junit.rules.RuleChain; -import org.junit.rules.TemporaryFolder; -import org.junit.rules.TestRule; @TimeoutSuite(millis = 40 * TimeUnits.MINUTE) // some of the windows test VMs are slow as hell public class SmokeTestMultiNodeClientYamlTestSuiteIT extends ESClientYamlSuiteTestCase {