From 33e919028f03519b1a12b0e253c1037a2e6e9ddb Mon Sep 17 00:00:00 2001 From: Mark Vieira Date: Mon, 30 Jan 2023 15:52:44 -0800 Subject: [PATCH] Fix MapperSizeClientYamlTestSuiteIT when FIPS is enabled (#93357) The issue with this test failure is actually that we were silently failing to install the plugin under test into the cluster. The root cause here was the FIPS security policy file was not copied into cluster config directory before we attempting to run the plugin installer. Since we pass the FIPS JVM arguments to all CLI tools as well this caused plugin installation to fail. We now ensure that these files are copied before we attempt to run _any_ ES tools. Closes https://github.com/elastic/elasticsearch/issues/93303 --- .../test/mapper_size/10_basic.yml | 4 ---- .../cluster/local/LocalClusterFactory.java | 21 ++++++++++++------- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/plugins/mapper-size/src/yamlRestTest/resources/rest-api-spec/test/mapper_size/10_basic.yml b/plugins/mapper-size/src/yamlRestTest/resources/rest-api-spec/test/mapper_size/10_basic.yml index d9b8dc0b01647..434368ed2f5b2 100644 --- a/plugins/mapper-size/src/yamlRestTest/resources/rest-api-spec/test/mapper_size/10_basic.yml +++ b/plugins/mapper-size/src/yamlRestTest/resources/rest-api-spec/test/mapper_size/10_basic.yml @@ -4,10 +4,6 @@ --- "Mapper Size": - - skip: - version: "all" - reason: "AwaitsFix https://github.com/elastic/elasticsearch/issues/93303" - - do: indices.create: index: test 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 4516e60bfca02..43e9631de761f 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 @@ -106,22 +106,20 @@ public synchronized void start() { distributionDescriptor = resolveDistribution(); LOGGER.info("Distribution for node '{}': {}", spec.getName(), distributionDescriptor); initializeWorkingDirectory(); + createConfigDirectory(); + copyExtraConfigFiles(); // extra config files might be needed for running cli tools like plugin install copyExtraJarFiles(); installPlugins(); if (spec.getDistributionType() == DistributionType.INTEG_TEST) { installModules(); } initialized = true; + } else { + createConfigDirectory(); + copyExtraConfigFiles(); } - try { - IOUtils.deleteWithRetry(configDir); - Files.createDirectories(configDir); - } catch (IOException e) { - throw new UncheckedIOException("An error occurred creating config directory", e); - } writeConfiguration(); - copyExtraConfigFiles(); createKeystore(); addKeystoreSettings(); configureSecurity(); @@ -187,6 +185,15 @@ public void waitUntilReady() { } } + private void createConfigDirectory() { + try { + IOUtils.deleteWithRetry(configDir); + Files.createDirectories(configDir); + } catch (IOException e) { + throw new UncheckedIOException("An error occurred creating config directory", e); + } + } + private List readPortsFile(Path file) { try (Stream lines = Files.lines(file, StandardCharsets.UTF_8)) { return lines.map(String::trim).collect(Collectors.toList());