From 4950d14645bfbbb329545384cbcd5190f0b5b6a3 Mon Sep 17 00:00:00 2001 From: Lorenzo Dematte Date: Fri, 14 Feb 2025 10:02:28 +0100 Subject: [PATCH 1/2] Unmute tests --- muted-tests.yml | 8 -------- 1 file changed, 8 deletions(-) diff --git a/muted-tests.yml b/muted-tests.yml index 4eaebf63614ef..d8a68f1a3970c 100644 --- a/muted-tests.yml +++ b/muted-tests.yml @@ -388,14 +388,6 @@ tests: - class: org.elasticsearch.xpack.inference.mapper.SemanticInferenceMetadataFieldsRecoveryTests method: testSnapshotRecovery {p0=false p1=true} issue: https://github.com/elastic/elasticsearch/issues/122551 -- class: org.elasticsearch.entitlement.qa.EntitlementsDeniedIT - issue: https://github.com/elastic/elasticsearch/issues/122566 -- class: org.elasticsearch.entitlement.qa.EntitlementsAllowedIT - issue: https://github.com/elastic/elasticsearch/issues/122567 -- class: org.elasticsearch.entitlement.qa.EntitlementsAllowedNonModularIT - issue: https://github.com/elastic/elasticsearch/issues/122568 -- class: org.elasticsearch.entitlement.qa.EntitlementsDeniedNonModularIT - issue: https://github.com/elastic/elasticsearch/issues/122569 # Examples: # From dfc2a67bfd7cdda6cf73038071ff9622ae2fcf3d Mon Sep 17 00:00:00 2001 From: Lorenzo Dematte Date: Fri, 14 Feb 2025 15:21:46 +0100 Subject: [PATCH 2/2] Add logsDir to bootstrap params --- .../bootstrap/EntitlementBootstrap.java | 15 +++++++++------ .../initialization/EntitlementInitialization.java | 6 +++++- .../elasticsearch/bootstrap/Elasticsearch.java | 3 ++- 3 files changed, 16 insertions(+), 8 deletions(-) diff --git a/libs/entitlement/src/main/java/org/elasticsearch/entitlement/bootstrap/EntitlementBootstrap.java b/libs/entitlement/src/main/java/org/elasticsearch/entitlement/bootstrap/EntitlementBootstrap.java index 19acd0decdca7..364c81bf2d263 100644 --- a/libs/entitlement/src/main/java/org/elasticsearch/entitlement/bootstrap/EntitlementBootstrap.java +++ b/libs/entitlement/src/main/java/org/elasticsearch/entitlement/bootstrap/EntitlementBootstrap.java @@ -38,7 +38,8 @@ public record BootstrapArgs( Function, String> pluginResolver, Path[] dataDirs, Path configDir, - Path tempDir + Path tempDir, + Path logsDir ) { public BootstrapArgs { requireNonNull(pluginPolicies); @@ -64,22 +65,24 @@ public static BootstrapArgs bootstrapArgs() { * * @param pluginPolicies a map holding policies for plugins (and modules), by plugin (or module) name. * @param pluginResolver a functor to map a Java Class to the plugin it belongs to (the plugin name). - * @param dataDirs data directories for Elasticsearch - * @param configDir the config directory for Elasticsearch - * @param tempDir the temp directory for Elasticsearch + * @param dataDirs data directories for Elasticsearch + * @param configDir the config directory for Elasticsearch + * @param tempDir the temp directory for Elasticsearch + * @param logsDir the log directory for Elasticsearch */ public static void bootstrap( Map pluginPolicies, Function, String> pluginResolver, Path[] dataDirs, Path configDir, - Path tempDir + Path tempDir, + Path logsDir ) { logger.debug("Loading entitlement agent"); if (EntitlementBootstrap.bootstrapArgs != null) { throw new IllegalStateException("plugin data is already set"); } - EntitlementBootstrap.bootstrapArgs = new BootstrapArgs(pluginPolicies, pluginResolver, dataDirs, configDir, tempDir); + EntitlementBootstrap.bootstrapArgs = new BootstrapArgs(pluginPolicies, pluginResolver, dataDirs, configDir, tempDir, logsDir); exportInitializationToAgent(); loadAgent(findAgentJar()); selfTest(); diff --git a/libs/entitlement/src/main/java/org/elasticsearch/entitlement/initialization/EntitlementInitialization.java b/libs/entitlement/src/main/java/org/elasticsearch/entitlement/initialization/EntitlementInitialization.java index 6fed3c2e4b98c..a60199342e7e6 100644 --- a/libs/entitlement/src/main/java/org/elasticsearch/entitlement/initialization/EntitlementInitialization.java +++ b/libs/entitlement/src/main/java/org/elasticsearch/entitlement/initialization/EntitlementInitialization.java @@ -129,6 +129,7 @@ private static PolicyManager createPolicyManager() { Map pluginPolicies = EntitlementBootstrap.bootstrapArgs().pluginPolicies(); Path[] dataDirs = EntitlementBootstrap.bootstrapArgs().dataDirs(); Path tempDir = EntitlementBootstrap.bootstrapArgs().tempDir(); + Path logsDir = EntitlementBootstrap.bootstrapArgs().logsDir(); // TODO(ES-10031): Decide what goes in the elasticsearch default policy and extend it var serverPolicy = new Policy( @@ -147,7 +148,10 @@ private static PolicyManager createPolicyManager() { new LoadNativeLibrariesEntitlement(), new ManageThreadsEntitlement(), new FilesEntitlement( - List.of(new FilesEntitlement.FileData(EntitlementBootstrap.bootstrapArgs().tempDir().toString(), READ_WRITE)) + List.of( + new FilesEntitlement.FileData(tempDir.toString(), READ_WRITE), + new FilesEntitlement.FileData(logsDir.toString(), READ_WRITE) + ) ) ) ), diff --git a/server/src/main/java/org/elasticsearch/bootstrap/Elasticsearch.java b/server/src/main/java/org/elasticsearch/bootstrap/Elasticsearch.java index ea7a0b5dcf47b..6e07c7012cc06 100644 --- a/server/src/main/java/org/elasticsearch/bootstrap/Elasticsearch.java +++ b/server/src/main/java/org/elasticsearch/bootstrap/Elasticsearch.java @@ -247,7 +247,8 @@ private static void initPhase2(Bootstrap bootstrap) throws IOException { pluginsResolver::resolveClassToPluginName, nodeEnv.dataDirs(), nodeEnv.configDir(), - nodeEnv.tmpDir() + nodeEnv.tmpDir(), + nodeEnv.logsDir() ); } else { assert RuntimeVersionFeature.isSecurityManagerAvailable();