diff --git a/x-pack/docs/en/rest-api/info.asciidoc b/x-pack/docs/en/rest-api/info.asciidoc index ccb979124f2..4faf7e85102 100644 --- a/x-pack/docs/en/rest-api/info.asciidoc +++ b/x-pack/docs/en/rest-api/info.asciidoc @@ -67,6 +67,11 @@ Example response: "available" : true, "enabled" : true }, + "index_lifecycle" : { + "description" : "Index lifecycle management for the Elastic Stack", + "available" : true, + "enabled" : true + } "logstash" : { "description" : "Logstash management component for X-Pack", "available" : true, diff --git a/x-pack/plugin/build.gradle b/x-pack/plugin/build.gradle index a4db1185e23..d6c99e96eb8 100644 --- a/x-pack/plugin/build.gradle +++ b/x-pack/plugin/build.gradle @@ -16,7 +16,7 @@ es_meta_plugin { name = 'x-pack' description = 'Elasticsearch Expanded Pack Plugin' plugins = ['core', 'deprecation', 'graph', 'logstash', - 'ml', 'monitoring', 'security', 'upgrade', 'watcher', 'sql', 'rollup'] + 'ml', 'monitoring', 'security', 'upgrade', 'watcher', 'sql', 'rollup', 'index-lifecycle'] } dependencies { diff --git a/x-pack/plugin/core/src/main/java/org/elasticsearch/license/XPackLicenseState.java b/x-pack/plugin/core/src/main/java/org/elasticsearch/license/XPackLicenseState.java index 2e4caff1a72..33161824b25 100644 --- a/x-pack/plugin/core/src/main/java/org/elasticsearch/license/XPackLicenseState.java +++ b/x-pack/plugin/core/src/main/java/org/elasticsearch/license/XPackLicenseState.java @@ -535,6 +535,22 @@ public class XPackLicenseState { return localStatus.active; } + /** + * Determine if Index Lifecycle API should be enabled. + *

+ * Index Lifecycle API is available in for all license types except + * {@link OperationMode#MISSING} + * + * @return {@code true} as long as the license is valid. Otherwise + * {@code false}. + */ + public boolean isIndexLifecycleAllowed() { + // status is volatile + Status localStatus = status; + // Should work on all active licenses + return localStatus.active; + } + /** * Determine if SQL support should be enabled. *

diff --git a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/XPackClientPlugin.java b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/XPackClientPlugin.java index 4853588bd3e..0446f5f1f2d 100644 --- a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/XPackClientPlugin.java +++ b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/XPackClientPlugin.java @@ -38,6 +38,21 @@ import org.elasticsearch.xpack.core.action.XPackUsageAction; import org.elasticsearch.xpack.core.deprecation.DeprecationInfoAction; import org.elasticsearch.xpack.core.graph.GraphFeatureSetUsage; import org.elasticsearch.xpack.core.graph.action.GraphExploreAction; +import org.elasticsearch.xpack.core.indexlifecycle.AllocateAction; +import org.elasticsearch.xpack.core.indexlifecycle.DeleteAction; +import org.elasticsearch.xpack.core.indexlifecycle.ForceMergeAction; +import org.elasticsearch.xpack.core.indexlifecycle.IndexLifecycleFeatureSetUsage; +import org.elasticsearch.xpack.core.indexlifecycle.IndexLifecycleMetadata; +import org.elasticsearch.xpack.core.indexlifecycle.LifecycleAction; +import org.elasticsearch.xpack.core.indexlifecycle.LifecycleType; +import org.elasticsearch.xpack.core.indexlifecycle.ReadOnlyAction; +import org.elasticsearch.xpack.core.indexlifecycle.ReplicasAction; +import org.elasticsearch.xpack.core.indexlifecycle.RolloverAction; +import org.elasticsearch.xpack.core.indexlifecycle.ShrinkAction; +import org.elasticsearch.xpack.core.indexlifecycle.TimeseriesLifecycleType; +import org.elasticsearch.xpack.core.indexlifecycle.action.DeleteLifecycleAction; +import org.elasticsearch.xpack.core.indexlifecycle.action.GetLifecycleAction; +import org.elasticsearch.xpack.core.indexlifecycle.action.PutLifecycleAction; import org.elasticsearch.xpack.core.logstash.LogstashFeatureSetUsage; import org.elasticsearch.xpack.core.ml.MachineLearningFeatureSetUsage; import org.elasticsearch.xpack.core.ml.MlMetadata; @@ -308,7 +323,11 @@ public class XPackClientPlugin extends Plugin implements ActionPlugin, NetworkPl StopRollupJobAction.INSTANCE, DeleteRollupJobAction.INSTANCE, GetRollupJobsAction.INSTANCE, - GetRollupCapsAction.INSTANCE + GetRollupCapsAction.INSTANCE, + // ILM + DeleteLifecycleAction.INSTANCE, + GetLifecycleAction.INSTANCE, + PutLifecycleAction.INSTANCE ); } @@ -358,7 +377,25 @@ public class XPackClientPlugin extends Plugin implements ActionPlugin, NetworkPl // rollup new NamedWriteableRegistry.Entry(XPackFeatureSet.Usage.class, XPackField.ROLLUP, RollupFeatureSetUsage::new), new NamedWriteableRegistry.Entry(PersistentTaskParams.class, RollupJob.NAME, RollupJob::new), - new NamedWriteableRegistry.Entry(Task.Status.class, RollupJobStatus.NAME, RollupJobStatus::new) + new NamedWriteableRegistry.Entry(Task.Status.class, RollupJobStatus.NAME, RollupJobStatus::new), + // ILM + new NamedWriteableRegistry.Entry(XPackFeatureSet.Usage.class, XPackField.INDEX_LIFECYCLE, + IndexLifecycleFeatureSetUsage::new), + // ILM - Custom Metadata + new NamedWriteableRegistry.Entry(MetaData.Custom.class, IndexLifecycleMetadata.TYPE, IndexLifecycleMetadata::new), + new NamedWriteableRegistry.Entry(NamedDiff.class, IndexLifecycleMetadata.TYPE, + IndexLifecycleMetadata.IndexLifecycleMetadataDiff::new), + // ILM - LifecycleTypes + new NamedWriteableRegistry.Entry(LifecycleType.class, TimeseriesLifecycleType.TYPE, + (in) -> TimeseriesLifecycleType.INSTANCE), + // ILM - Lifecycle Actions + new NamedWriteableRegistry.Entry(LifecycleAction.class, AllocateAction.NAME, AllocateAction::new), + new NamedWriteableRegistry.Entry(LifecycleAction.class, ForceMergeAction.NAME, ForceMergeAction::new), + new NamedWriteableRegistry.Entry(LifecycleAction.class, ReadOnlyAction.NAME, ReadOnlyAction::new), + new NamedWriteableRegistry.Entry(LifecycleAction.class, ReplicasAction.NAME, ReplicasAction::new), + new NamedWriteableRegistry.Entry(LifecycleAction.class, RolloverAction.NAME, RolloverAction::new), + new NamedWriteableRegistry.Entry(LifecycleAction.class, ShrinkAction.NAME, ShrinkAction::new), + new NamedWriteableRegistry.Entry(LifecycleAction.class, DeleteAction.NAME, DeleteAction::new) ); } @@ -387,7 +424,21 @@ public class XPackClientPlugin extends Plugin implements ActionPlugin, NetworkPl //rollup new NamedXContentRegistry.Entry(PersistentTaskParams.class, new ParseField(RollupField.TASK_NAME), parser -> RollupJob.fromXContent(parser)), - new NamedXContentRegistry.Entry(Task.Status.class, new ParseField(RollupJobStatus.NAME), RollupJobStatus::fromXContent) + new NamedXContentRegistry.Entry(Task.Status.class, new ParseField(RollupJobStatus.NAME), RollupJobStatus::fromXContent), + // ILM - Custom Metadata + new NamedXContentRegistry.Entry(MetaData.Custom.class, new ParseField(IndexLifecycleMetadata.TYPE), + parser -> IndexLifecycleMetadata.PARSER.parse(parser, null)), + // ILM - Lifecycle Types + new NamedXContentRegistry.Entry(LifecycleType.class, new ParseField(TimeseriesLifecycleType.TYPE), + (p, c) -> TimeseriesLifecycleType.INSTANCE), + // ILM - Lifecycle Actions + new NamedXContentRegistry.Entry(LifecycleAction.class, new ParseField(AllocateAction.NAME), AllocateAction::parse), + new NamedXContentRegistry.Entry(LifecycleAction.class, new ParseField(ForceMergeAction.NAME), ForceMergeAction::parse), + new NamedXContentRegistry.Entry(LifecycleAction.class, new ParseField(ReadOnlyAction.NAME), ReadOnlyAction::parse), + new NamedXContentRegistry.Entry(LifecycleAction.class, new ParseField(ReplicasAction.NAME), ReplicasAction::parse), + new NamedXContentRegistry.Entry(LifecycleAction.class, new ParseField(RolloverAction.NAME), RolloverAction::parse), + new NamedXContentRegistry.Entry(LifecycleAction.class, new ParseField(ShrinkAction.NAME), ShrinkAction::parse), + new NamedXContentRegistry.Entry(LifecycleAction.class, new ParseField(DeleteAction.NAME), DeleteAction::parse) ); } diff --git a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/XPackField.java b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/XPackField.java index dd482c4e22d..c7c48055757 100644 --- a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/XPackField.java +++ b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/XPackField.java @@ -29,6 +29,8 @@ public final class XPackField { public static final String SQL = "sql"; /** Name constant for the rollup feature. */ public static final String ROLLUP = "rollup"; + /** Name constant for the index lifecycle feature. */ + public static final String INDEX_LIFECYCLE = "index_lifecycle"; private XPackField() {} diff --git a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/XPackSettings.java b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/XPackSettings.java index a88d423be95..ae3cf732d44 100644 --- a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/XPackSettings.java +++ b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/XPackSettings.java @@ -60,6 +60,12 @@ public class XPackSettings { public static final Setting LOGSTASH_ENABLED = Setting.boolSetting("xpack.logstash.enabled", true, Setting.Property.NodeScope); + /** + * Setting for enabling or disabling the index lifecycle extension. Defaults to true. + */ + public static final Setting INDEX_LIFECYCLE_ENABLED = Setting.boolSetting("xpack.index_lifecycle.enabled", true, + Setting.Property.NodeScope); + /** Setting for enabling or disabling TLS. Defaults to false. */ public static final Setting TRANSPORT_SSL_ENABLED = Setting.boolSetting("xpack.security.transport.ssl.enabled", false, Property.NodeScope); @@ -149,6 +155,7 @@ public class XPackSettings { settings.add(SQL_ENABLED); settings.add(USER_SETTING); settings.add(ROLLUP_ENABLED); + settings.add(INDEX_LIFECYCLE_ENABLED); return Collections.unmodifiableList(settings); } diff --git a/x-pack/plugin/core/src/test/java/org/elasticsearch/action/admin/indices/rollover/RolloverIndexTestHelper.java b/x-pack/plugin/core/src/test/java/org/elasticsearch/action/admin/indices/rollover/RolloverIndexTestHelper.java new file mode 100644 index 00000000000..abe069137a3 --- /dev/null +++ b/x-pack/plugin/core/src/test/java/org/elasticsearch/action/admin/indices/rollover/RolloverIndexTestHelper.java @@ -0,0 +1,39 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + * + */ +package org.elasticsearch.action.admin.indices.rollover; + +import java.util.Collections; +import java.util.Set; +import java.util.stream.Collectors; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; + +public final class RolloverIndexTestHelper { + + // NORELEASE this isn't nice but it's currently the only way to inspect the + // settings in an update settings request. Need to see if we can make the + // getter public in ES + public static void assertRolloverIndexRequest(RolloverRequest request, String alias, Set> expectedConditions) { + assertNotNull(request); + assertEquals(1, request.indices().length); + assertEquals(alias, request.indices()[0]); + assertEquals(alias, request.getAlias()); + assertEquals(expectedConditions.size(), request.getConditions().size()); + Set expectedConditionValues = expectedConditions.stream().map(condition -> condition.value).collect(Collectors.toSet()); + Set actualConditionValues = request.getConditions().values().stream() + .map(condition -> condition.value).collect(Collectors.toSet()); + assertEquals(expectedConditionValues, actualConditionValues); + } + + // NORELEASE this isn't nice but it's currently the only way to create an + // UpdateSettingsResponse. Need to see if we can make the constructor public + // in ES + public static RolloverResponse createMockResponse(RolloverRequest request, boolean rolledOver) { + return new RolloverResponse(null, null, Collections.emptyMap(), request.isDryRun(), rolledOver, true, true); + } +} diff --git a/x-pack/plugin/core/src/test/java/org/elasticsearch/action/admin/indices/settings/put/UpdateSettingsTestHelper.java b/x-pack/plugin/core/src/test/java/org/elasticsearch/action/admin/indices/settings/put/UpdateSettingsTestHelper.java new file mode 100644 index 00000000000..33c39a6eab2 --- /dev/null +++ b/x-pack/plugin/core/src/test/java/org/elasticsearch/action/admin/indices/settings/put/UpdateSettingsTestHelper.java @@ -0,0 +1,32 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + * + */ +package org.elasticsearch.action.admin.indices.settings.put; + + import org.elasticsearch.common.settings.Settings; + + import static org.junit.Assert.assertArrayEquals; + import static org.junit.Assert.assertEquals; + import static org.junit.Assert.assertNotNull; + +public final class UpdateSettingsTestHelper { + + // NORELEASE this isn't nice but it's currently the only way to inspect the + // settings in an update settings request. Need to see if we can make the + // getter public in ES + public static void assertSettingsRequest(UpdateSettingsRequest request, Settings expectedSettings, String... expectedIndices) { + assertNotNull(request); + assertArrayEquals(expectedIndices, request.indices()); + assertEquals(expectedSettings, request.settings()); + } + + // NORELEASE this isn't nice but it's currently the only way to create an + // UpdateSettingsResponse. Need to see if we can make the constructor public + // in ES + public static UpdateSettingsResponse createMockResponse(boolean acknowledged) { + return new UpdateSettingsResponse(acknowledged); + } +} diff --git a/x-pack/plugin/index-lifecycle/build.gradle b/x-pack/plugin/index-lifecycle/build.gradle index be566dce56e..f81847ca4b6 100644 --- a/x-pack/plugin/index-lifecycle/build.gradle +++ b/x-pack/plugin/index-lifecycle/build.gradle @@ -1,13 +1,13 @@ +evaluationDependsOn(xpackModule('core')) + apply plugin: 'elasticsearch.esplugin' esplugin { name 'x-pack-index-lifecycle' description 'Elasticsearch Expanded Pack Plugin - Index Lifecycle' classname 'org.elasticsearch.xpack.indexlifecycle.IndexLifecycle' + extendedPlugins = ['x-pack-core'] hasNativeController false requiresKeystore true - extendedPlugins = ['x-pack-core'] - licenseFile project(':x-pack-elasticsearch').file('LICENSE.txt') - noticeFile project(':x-pack-elasticsearch').file('NOTICE.txt') } archivesBaseName = 'x-pack-index-lifecycle' @@ -21,10 +21,6 @@ dependencies { testCompile project(path: xpackModule('core'), configuration: 'testArtifacts') } -dependencyLicenses { - ignoreSha 'x-pack-core' -} - run { - plugin ':x-pack-elasticsearch:plugin:core' + plugin xpackModule('core') } diff --git a/x-pack/plugin/src/test/resources/rest-api-spec/test/xpack/10_basic.yml b/x-pack/plugin/src/test/resources/rest-api-spec/test/xpack/10_basic.yml index 8958af0ff44..43d98bc33e2 100644 --- a/x-pack/plugin/src/test/resources/rest-api-spec/test/xpack/10_basic.yml +++ b/x-pack/plugin/src/test/resources/rest-api-spec/test/xpack/10_basic.yml @@ -13,11 +13,12 @@ - match: { nodes.$master.modules.13.name: x-pack-core } - match: { nodes.$master.modules.14.name: x-pack-deprecation } - match: { nodes.$master.modules.15.name: x-pack-graph } - - match: { nodes.$master.modules.16.name: x-pack-logstash } - - match: { nodes.$master.modules.17.name: x-pack-ml } - - match: { nodes.$master.modules.18.name: x-pack-monitoring } - - match: { nodes.$master.modules.19.name: x-pack-rollup } - - match: { nodes.$master.modules.20.name: x-pack-security } - - match: { nodes.$master.modules.21.name: x-pack-sql } - - match: { nodes.$master.modules.22.name: x-pack-upgrade } - - match: { nodes.$master.modules.23.name: x-pack-watcher } + - match: { nodes.$master.plugins.16.name: x-pack-index-lifecycle } + - match: { nodes.$master.modules.17.name: x-pack-logstash } + - match: { nodes.$master.modules.18.name: x-pack-ml } + - match: { nodes.$master.modules.19.name: x-pack-monitoring } + - match: { nodes.$master.modules.20.name: x-pack-rollup } + - match: { nodes.$master.modules.21.name: x-pack-security } + - match: { nodes.$master.modules.22.name: x-pack-sql } + - match: { nodes.$master.modules.23.name: x-pack-upgrade } + - match: { nodes.$master.modules.24.name: x-pack-watcher } diff --git a/x-pack/qa/audit-tests/build.gradle b/x-pack/qa/audit-tests/build.gradle index 8af672fe92a..099e354d6c9 100644 --- a/x-pack/qa/audit-tests/build.gradle +++ b/x-pack/qa/audit-tests/build.gradle @@ -17,6 +17,7 @@ project.sourceSets.test.output.dir(outputDir, builtBy: copyXPackPluginProps) integTestCluster { distribution 'zip' + setting 'xpack.index_lifecycle.enabled', 'false' setting 'xpack.ml.enabled', 'false' setting 'xpack.monitoring.enabled', 'false' setting 'xpack.security.enabled', 'true' diff --git a/x-pack/qa/core-rest-tests-with-security/build.gradle b/x-pack/qa/core-rest-tests-with-security/build.gradle index c23432e5127..96257f899bb 100644 --- a/x-pack/qa/core-rest-tests-with-security/build.gradle +++ b/x-pack/qa/core-rest-tests-with-security/build.gradle @@ -22,6 +22,7 @@ integTestRunner { } integTestCluster { + setting 'xpack.index_lifecycle.enabled', 'false' setting 'xpack.security.enabled', 'true' setting 'xpack.watcher.enabled', 'false' setting 'xpack.monitoring.enabled', 'false' diff --git a/x-pack/qa/ml-basic-multi-node/build.gradle b/x-pack/qa/ml-basic-multi-node/build.gradle index d396d38b223..654599985de 100644 --- a/x-pack/qa/ml-basic-multi-node/build.gradle +++ b/x-pack/qa/ml-basic-multi-node/build.gradle @@ -7,6 +7,7 @@ dependencies { } integTestCluster { + setting 'xpack.index_lifecycle.enabled', 'false' setting 'xpack.security.enabled', 'false' setting 'xpack.monitoring.enabled', 'false' setting 'xpack.watcher.enabled', 'false' diff --git a/x-pack/qa/ml-disabled/build.gradle b/x-pack/qa/ml-disabled/build.gradle index 22a7dfc74ac..8436ae47e57 100644 --- a/x-pack/qa/ml-disabled/build.gradle +++ b/x-pack/qa/ml-disabled/build.gradle @@ -7,6 +7,7 @@ dependencies { } integTestCluster { + setting 'xpack.index_lifecycle.enabled', 'false' setting 'xpack.security.enabled', 'false' setting 'xpack.ml.enabled', 'false' numNodes = 1 diff --git a/x-pack/qa/ml-native-tests/build.gradle b/x-pack/qa/ml-native-tests/build.gradle index 94b7be3a44d..01079ed967e 100644 --- a/x-pack/qa/ml-native-tests/build.gradle +++ b/x-pack/qa/ml-native-tests/build.gradle @@ -51,6 +51,7 @@ processTestResources.dependsOn(createNodeKeyStore) integTestCluster { dependsOn createNodeKeyStore + setting 'xpack.index_lifecycle.enabled', 'false' setting 'xpack.security.enabled', 'true' setting 'xpack.ml.enabled', 'true' setting 'logger.org.elasticsearch.xpack.ml.datafeed', 'TRACE' diff --git a/x-pack/qa/ml-single-node-tests/build.gradle b/x-pack/qa/ml-single-node-tests/build.gradle index 9fd4a8d44d2..0b76b9d843e 100644 --- a/x-pack/qa/ml-single-node-tests/build.gradle +++ b/x-pack/qa/ml-single-node-tests/build.gradle @@ -7,6 +7,7 @@ dependencies { } integTestCluster { + setting 'xpack.index_lifecycle.enabled', 'false' setting 'xpack.security.enabled', 'false' setting 'xpack.license.self_generated.type', 'trial' } diff --git a/x-pack/qa/multi-cluster-search-security/build.gradle b/x-pack/qa/multi-cluster-search-security/build.gradle index f5265466965..4ff445ba92e 100644 --- a/x-pack/qa/multi-cluster-search-security/build.gradle +++ b/x-pack/qa/multi-cluster-search-security/build.gradle @@ -15,6 +15,7 @@ remoteClusterTestCluster { numNodes = 2 clusterName = 'remote-cluster' setting 'search.remote.connect', false + setting 'xpack.index_lifecycle.enabled', 'false' setting 'xpack.security.enabled', 'true' setting 'xpack.watcher.enabled', 'false' setting 'xpack.monitoring.enabled', 'false' diff --git a/x-pack/qa/multi-node/build.gradle b/x-pack/qa/multi-node/build.gradle index bff9d8652b9..edcffda6f41 100644 --- a/x-pack/qa/multi-node/build.gradle +++ b/x-pack/qa/multi-node/build.gradle @@ -8,6 +8,7 @@ dependencies { integTestCluster { numNodes = 2 clusterName = 'multi-node' + setting 'xpack.index_lifecycle.enabled', 'false' setting 'xpack.security.enabled', 'true' setting 'xpack.watcher.enabled', 'false' setting 'xpack.monitoring.enabled', 'false' diff --git a/x-pack/qa/reindex-tests-with-security/build.gradle b/x-pack/qa/reindex-tests-with-security/build.gradle index ddf72f7d458..3a23c3338ca 100644 --- a/x-pack/qa/reindex-tests-with-security/build.gradle +++ b/x-pack/qa/reindex-tests-with-security/build.gradle @@ -11,6 +11,7 @@ dependencies { integTestCluster { // Whitelist reindexing from the local node so we can test it. setting 'reindex.remote.whitelist', '127.0.0.1:*' + setting 'xpack.index_lifecycle.enabled', 'false' setting 'xpack.security.enabled', 'true' setting 'xpack.ml.enabled', 'false' setting 'xpack.license.self_generated.type', 'trial' diff --git a/x-pack/qa/security-client-tests/build.gradle b/x-pack/qa/security-client-tests/build.gradle index 53d4ed464b5..2355e3e3351 100644 --- a/x-pack/qa/security-client-tests/build.gradle +++ b/x-pack/qa/security-client-tests/build.gradle @@ -19,6 +19,7 @@ integTestRunner { } integTestCluster { + setting 'xpack.index_lifecycle.enabled', 'false' setting 'xpack.security.enabled', 'true' setting 'xpack.ml.enabled', 'false' setting 'xpack.license.self_generated.type', 'trial' diff --git a/x-pack/qa/security-example-spi-extension/build.gradle b/x-pack/qa/security-example-spi-extension/build.gradle index b2fac075cb3..81b12ae2fd5 100644 --- a/x-pack/qa/security-example-spi-extension/build.gradle +++ b/x-pack/qa/security-example-spi-extension/build.gradle @@ -27,6 +27,7 @@ integTestCluster { setting 'xpack.security.authc.realms.native.type', 'native' setting 'xpack.security.authc.realms.native.order', '2' setting 'xpack.security.enabled', 'true' + setting 'xpack.index_lifecycle.enabled', 'false' setting 'xpack.ml.enabled', 'false' setting 'xpack.monitoring.enabled', 'false' setting 'xpack.license.self_generated.type', 'trial' diff --git a/x-pack/qa/smoke-test-monitoring-with-watcher/build.gradle b/x-pack/qa/smoke-test-monitoring-with-watcher/build.gradle index 4e079430562..94acc047126 100644 --- a/x-pack/qa/smoke-test-monitoring-with-watcher/build.gradle +++ b/x-pack/qa/smoke-test-monitoring-with-watcher/build.gradle @@ -8,6 +8,7 @@ dependencies { } integTestCluster { + setting 'xpack.index_lifecycle.enabled', 'false' setting 'xpack.monitoring.enabled', 'true' setting 'xpack.watcher.enabled', 'true' setting 'xpack.security.enabled', 'false' diff --git a/x-pack/qa/smoke-test-plugins-ssl/build.gradle b/x-pack/qa/smoke-test-plugins-ssl/build.gradle index 09866421f21..70ec5cdf495 100644 --- a/x-pack/qa/smoke-test-plugins-ssl/build.gradle +++ b/x-pack/qa/smoke-test-plugins-ssl/build.gradle @@ -176,6 +176,7 @@ integTestCluster { setting 'xpack.monitoring.exporters._http.auth.password', 'x-pack-test-password' setting 'xpack.monitoring.exporters._http.ssl.verification_mode', 'full' + setting 'xpack.index_lifecycle.enabled', 'false' setting 'xpack.security.enabled', 'true' setting 'xpack.security.http.ssl.enabled', 'true' setting 'xpack.security.http.ssl.keystore.path', nodeKeystore.name diff --git a/x-pack/qa/smoke-test-watcher-with-security/build.gradle b/x-pack/qa/smoke-test-watcher-with-security/build.gradle index 0f052074bfb..d9c2fbd3206 100644 --- a/x-pack/qa/smoke-test-watcher-with-security/build.gradle +++ b/x-pack/qa/smoke-test-watcher-with-security/build.gradle @@ -14,6 +14,7 @@ task copyWatcherRestTests(type: Copy) { integTestCluster { dependsOn copyWatcherRestTests + setting 'xpack.index_lifecycle.enabled', 'false' setting 'xpack.monitoring.enabled', 'false' setting 'xpack.ml.enabled', 'false' setting 'xpack.security.enabled', 'true' diff --git a/x-pack/qa/smoke-test-watcher/build.gradle b/x-pack/qa/smoke-test-watcher/build.gradle index 1087a82b4f7..4f62f2866cf 100644 --- a/x-pack/qa/smoke-test-watcher/build.gradle +++ b/x-pack/qa/smoke-test-watcher/build.gradle @@ -12,6 +12,7 @@ dependencies { } integTestCluster { + setting 'xpack.index_lifecycle.enabled', 'false' setting 'xpack.security.enabled', 'false' setting 'xpack.monitoring.enabled', 'false' setting 'xpack.ml.enabled', 'false'