Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions docs/changelog/132764.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
pr: 132764
summary: Undeprecate metrics, logs, and synthetics legacy ILM policies
area: Indices APIs
type: enhancement
issues: []
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@

import static org.elasticsearch.xpack.stack.StackTemplateRegistry.STACK_TEMPLATES_ENABLED;

@Deprecated(since = "8.12.0", forRemoval = true)
public class LegacyStackTemplateRegistry extends IndexTemplateRegistry {
private static final Logger logger = LogManager.getLogger(LegacyStackTemplateRegistry.class);

Expand Down Expand Up @@ -69,22 +68,19 @@ public class LegacyStackTemplateRegistry extends IndexTemplateRegistry {
//////////////////////////////////////////////////////////
public static final String LOGS_MAPPINGS_COMPONENT_TEMPLATE_NAME = "logs-mappings";
public static final String LOGS_SETTINGS_COMPONENT_TEMPLATE_NAME = "logs-settings";
public static final String LOGS_ILM_POLICY_NAME = "logs";

//////////////////////////////////////////////////////////
// Metrics components (for matching metric-*-* indices)
//////////////////////////////////////////////////////////
public static final String METRICS_MAPPINGS_COMPONENT_TEMPLATE_NAME = "metrics-mappings";
public static final String METRICS_SETTINGS_COMPONENT_TEMPLATE_NAME = "metrics-settings";
public static final String METRICS_TSDB_SETTINGS_COMPONENT_TEMPLATE_NAME = "metrics-tsdb-settings";
public static final String METRICS_ILM_POLICY_NAME = "metrics";

//////////////////////////////////////////////////////////
// Synthetics components (for matching synthetics-*-* indices)
//////////////////////////////////////////////////////////
public static final String SYNTHETICS_MAPPINGS_COMPONENT_TEMPLATE_NAME = "synthetics-mappings";
public static final String SYNTHETICS_SETTINGS_COMPONENT_TEMPLATE_NAME = "synthetics-settings";
public static final String SYNTHETICS_ILM_POLICY_NAME = "synthetics";

public LegacyStackTemplateRegistry(
Settings nodeSettings,
Expand Down Expand Up @@ -118,9 +114,6 @@ private void updateEnabledSetting(boolean newValue) {
}

private static final List<LifecyclePolicyConfig> LIFECYCLE_POLICY_CONFIGS = List.of(
new LifecyclePolicyConfig(LOGS_ILM_POLICY_NAME, "/[email protected]", ADDITIONAL_TEMPLATE_VARIABLES),
new LifecyclePolicyConfig(METRICS_ILM_POLICY_NAME, "/[email protected]", ADDITIONAL_TEMPLATE_VARIABLES),
new LifecyclePolicyConfig(SYNTHETICS_ILM_POLICY_NAME, "/[email protected]", ADDITIONAL_TEMPLATE_VARIABLES),
new LifecyclePolicyConfig(ILM_7_DAYS_POLICY_NAME, "/[email protected]", ADDITIONAL_TEMPLATE_VARIABLES),
new LifecyclePolicyConfig(ILM_30_DAYS_POLICY_NAME, "/[email protected]", ADDITIONAL_TEMPLATE_VARIABLES),
new LifecyclePolicyConfig(ILM_90_DAYS_POLICY_NAME, "/[email protected]", ADDITIONAL_TEMPLATE_VARIABLES),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,7 @@ public class StackTemplateRegistry extends IndexTemplateRegistry {
//////////////////////////////////////////////////////////
public static final String LOGS_MAPPINGS_COMPONENT_TEMPLATE_NAME = "logs@mappings";
public static final String LOGS_SETTINGS_COMPONENT_TEMPLATE_NAME = "logs@settings";
public static final String LEGACY_LOGS_ILM_POLICY_NAME = "logs";
public static final String LOGS_ILM_POLICY_NAME = "logs@lifecycle";
public static final String LOGS_INDEX_TEMPLATE_NAME = "logs";

Expand All @@ -82,6 +83,7 @@ public class StackTemplateRegistry extends IndexTemplateRegistry {
public static final String METRICS_MAPPINGS_COMPONENT_TEMPLATE_NAME = "metrics@mappings";
public static final String METRICS_SETTINGS_COMPONENT_TEMPLATE_NAME = "metrics@settings";
public static final String METRICS_TSDB_SETTINGS_COMPONENT_TEMPLATE_NAME = "metrics@tsdb-settings";
public static final String LEGACY_METRICS_ILM_POLICY_NAME = "metrics";
public static final String METRICS_ILM_POLICY_NAME = "metrics@lifecycle";
public static final String METRICS_INDEX_TEMPLATE_NAME = "metrics";

Expand All @@ -97,6 +99,7 @@ public class StackTemplateRegistry extends IndexTemplateRegistry {
//////////////////////////////////////////////////////////
public static final String SYNTHETICS_MAPPINGS_COMPONENT_TEMPLATE_NAME = "synthetics@mappings";
public static final String SYNTHETICS_SETTINGS_COMPONENT_TEMPLATE_NAME = "synthetics@settings";
public static final String LEGACY_SYNTHETICS_ILM_POLICY_NAME = "synthetics";
public static final String SYNTHETICS_ILM_POLICY_NAME = "synthetics@lifecycle";
public static final String SYNTHETICS_INDEX_TEMPLATE_NAME = "synthetics";

Expand Down Expand Up @@ -260,8 +263,11 @@ private void updateEnabledSetting(boolean newValue) {
}

private static final List<LifecyclePolicyConfig> LIFECYCLE_POLICY_CONFIGS = List.of(
new LifecyclePolicyConfig(LEGACY_LOGS_ILM_POLICY_NAME, "/[email protected]", ADDITIONAL_TEMPLATE_VARIABLES),
new LifecyclePolicyConfig(LOGS_ILM_POLICY_NAME, "/[email protected]", ADDITIONAL_TEMPLATE_VARIABLES),
new LifecyclePolicyConfig(LEGACY_METRICS_ILM_POLICY_NAME, "/[email protected]", ADDITIONAL_TEMPLATE_VARIABLES),
new LifecyclePolicyConfig(METRICS_ILM_POLICY_NAME, "/[email protected]", ADDITIONAL_TEMPLATE_VARIABLES),
new LifecyclePolicyConfig(LEGACY_SYNTHETICS_ILM_POLICY_NAME, "/[email protected]", ADDITIONAL_TEMPLATE_VARIABLES),
new LifecyclePolicyConfig(SYNTHETICS_ILM_POLICY_NAME, "/[email protected]", ADDITIONAL_TEMPLATE_VARIABLES),
new LifecyclePolicyConfig(TRACES_ILM_POLICY_NAME, "/[email protected]", ADDITIONAL_TEMPLATE_VARIABLES),
new LifecyclePolicyConfig(ILM_7_DAYS_POLICY_NAME, "/[email protected]", ADDITIONAL_TEMPLATE_VARIABLES),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,8 @@ public void testDisabledStillAddsComponentTemplatesAndIlmPolicies() {
assertThat(
// We have a naming convention that internal ILM policies contain `@`. See also put-lifecycle.asciidoc.
disabledRegistry.getLifecyclePolicies().stream().filter(p -> p.getName().contains("@") == false).collect(Collectors.toSet()),
empty()
// 3 duplicate legacy ILM policies do not follow this convention: metrics, logs, synthetics
hasSize(3)
);
}

Expand Down Expand Up @@ -173,8 +174,11 @@ public void testThatNonExistingPoliciesAreAddedImmediately() throws Exception {
assertThat(
putRequest.getPolicy().getName(),
anyOf(
equalTo(StackTemplateRegistry.LEGACY_LOGS_ILM_POLICY_NAME),
equalTo(StackTemplateRegistry.LOGS_ILM_POLICY_NAME),
equalTo(StackTemplateRegistry.LEGACY_METRICS_ILM_POLICY_NAME),
equalTo(StackTemplateRegistry.METRICS_ILM_POLICY_NAME),
equalTo(StackTemplateRegistry.LEGACY_SYNTHETICS_ILM_POLICY_NAME),
equalTo(StackTemplateRegistry.SYNTHETICS_ILM_POLICY_NAME),
equalTo(StackTemplateRegistry.TRACES_ILM_POLICY_NAME),
equalTo(StackTemplateRegistry.ILM_7_DAYS_POLICY_NAME),
Expand All @@ -200,7 +204,7 @@ public void testThatNonExistingPoliciesAreAddedImmediately() throws Exception {

ClusterChangedEvent event = createClusterChangedEvent(Collections.emptyMap(), nodes);
registry.clusterChanged(event);
assertBusy(() -> assertThat(calledTimes.get(), equalTo(9)));
assertBusy(() -> assertThat(calledTimes.get(), equalTo(12)));
}

public void testPolicyAlreadyExists() {
Expand All @@ -209,7 +213,7 @@ public void testPolicyAlreadyExists() {

Map<String, LifecyclePolicy> policyMap = new HashMap<>();
List<LifecyclePolicy> policies = registry.getLifecyclePolicies();
assertThat(policies, hasSize(9));
assertThat(policies, hasSize(12));
policies.forEach(p -> policyMap.put(p.getName(), p));

client.setVerifier((action, request, listener) -> {
Expand Down Expand Up @@ -280,7 +284,7 @@ public void testPolicyAlreadyExistsButDiffers() throws IOException {
Map<String, LifecyclePolicy> policyMap = new HashMap<>();
String policyStr = "{\"phases\":{\"delete\":{\"min_age\":\"1m\",\"actions\":{\"delete\":{}}}}}";
List<LifecyclePolicy> policies = registry.getLifecyclePolicies();
assertThat(policies, hasSize(9));
assertThat(policies, hasSize(12));
policies.forEach(p -> policyMap.put(p.getName(), p));

client.setVerifier((action, request, listener) -> {
Expand Down