remove old doc placeholder and migrate ilm docs to top-level (#34615)

we are restructuring the docs, this migrates ILM docs outside of the x-pack doc structure.
This commit is contained in:
Tal Levy 2018-10-26 12:19:52 -07:00 committed by GitHub
parent 6880e2ad79
commit e737ea7d4a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
29 changed files with 73 additions and 90 deletions

View File

@ -10,7 +10,7 @@ Gets the current status for ILM.
==== Request ==== Request
`POST /_ilm/status` `GET /_ilm/status`
==== Description ==== Description
@ -42,7 +42,6 @@ The following example stops the ILM plugin.
GET _ilm/status GET _ilm/status
-------------------------------------------------- --------------------------------------------------
// CONSOLE // CONSOLE
// TEST
If the request does not encounter errors, you receive the following result: If the request does not encounter errors, you receive the following result:

View File

@ -1,3 +1,4 @@
[role="xpack"]
[[get-index-lifecycle-information]] [[get-index-lifecycle-information]]
== Get index lifecycle information == Get index lifecycle information

View File

@ -1,3 +1,4 @@
[role="xpack"]
[[getting-started-index-lifecycle-management]] [[getting-started-index-lifecycle-management]]
== Getting started with {ilm} == Getting started with {ilm}

View File

@ -1,3 +1,5 @@
[role="xpack"]
[testenv="basic"]
[[index-lifecycle-management]] [[index-lifecycle-management]]
= Managing Indices = Managing Indices
@ -66,4 +68,4 @@ include::get-index-lifecycle-information.asciidoc[]
include::start-stop-ilm.asciidoc[] include::start-stop-ilm.asciidoc[]
:edit_url: https://github.com/elastic/elasticsearch/edit/{branch}/x-pack/docs/en/ilm/apis/ilm-api.asciidoc :edit_url: https://github.com/elastic/elasticsearch/edit/{branch}/x-pack/docs/en/ilm/apis/ilm-api.asciidoc
include::{xes-repo-dir}/ilm/apis/ilm-api.asciidoc[] include::{es-repo-dir}/ilm/apis/ilm-api.asciidoc[]

View File

@ -1,3 +1,5 @@
[role="xpack"]
[testenv="basic"]
[[set-up-lifecycle-policy]] [[set-up-lifecycle-policy]]
== Set up {ilm} policy == Set up {ilm} policy

View File

@ -1,3 +1,5 @@
[role="xpack"]
[testenv="basic"]
[[start-stop-ilm]] [[start-stop-ilm]]
== Start And Stop {ilm} == Start And Stop {ilm}

View File

@ -1,3 +1,5 @@
[role="xpack"]
[testenv="basic"]
[[update-lifecycle-policy]] [[update-lifecycle-policy]]
== Update lifecycle policy == Update lifecycle policy

View File

@ -1,3 +1,5 @@
[role="xpack"]
[testenv="basic"]
[[using-policies-rollover]] [[using-policies-rollover]]
== Using policies to manage index rollover == Using policies to manage index rollover

View File

@ -55,7 +55,7 @@ include::index-modules.asciidoc[]
include::ingest.asciidoc[] include::ingest.asciidoc[]
include::{xes-repo-dir}/ilm/index.asciidoc[] include::ilm/index.asciidoc[]
include::sql/index.asciidoc[] include::sql/index.asciidoc[]

View File

@ -282,7 +282,8 @@ public abstract class ESRestTestCase extends ESTestCase {
/** /**
* Returns whether to preserve the state of the cluster upon completion of this test. Defaults to false. If true, overrides the value of * Returns whether to preserve the state of the cluster upon completion of this test. Defaults to false. If true, overrides the value of
* {@link #preserveIndicesUponCompletion()}, {@link #preserveTemplatesUponCompletion()}, {@link #preserveReposUponCompletion()}, * {@link #preserveIndicesUponCompletion()}, {@link #preserveTemplatesUponCompletion()}, {@link #preserveReposUponCompletion()},
* {@link #preserveSnapshotsUponCompletion()}, and {@link #preserveRollupJobsUponCompletion()}. * {@link #preserveSnapshotsUponCompletion()},{@link #preserveRollupJobsUponCompletion()},
* and {@link #preserveILMPoliciesUponCompletion()}.
* *
* @return true if the state of the cluster should be preserved * @return true if the state of the cluster should be preserved
*/ */
@ -347,6 +348,15 @@ public abstract class ESRestTestCase extends ESTestCase {
return false; return false;
} }
/**
* Returns whether to preserve ILM Policies of this test. Defaults to not
* preserviing them. Only runs at all if xpack is installed on the cluster
* being tested.
*/
protected boolean preserveILMPoliciesUponCompletion() {
return false;
}
private void wipeCluster() throws Exception { private void wipeCluster() throws Exception {
if (preserveIndicesUponCompletion() == false) { if (preserveIndicesUponCompletion() == false) {
// wipe indices // wipe indices
@ -399,6 +409,10 @@ public abstract class ESRestTestCase extends ESTestCase {
wipeRollupJobs(); wipeRollupJobs();
waitForPendingRollupTasks(); waitForPendingRollupTasks();
} }
if (hasXPack && false == preserveILMPoliciesUponCompletion()) {
deleteAllPolicies();
}
} }
/** /**
@ -509,6 +523,29 @@ public abstract class ESRestTestCase extends ESTestCase {
waitForPendingTasks(adminClient(), taskName -> taskName.startsWith("xpack/rollup/job") == false); waitForPendingTasks(adminClient(), taskName -> taskName.startsWith("xpack/rollup/job") == false);
} }
private static void deleteAllPolicies() throws IOException {
Map<String, Object> policies;
try {
Response response = adminClient().performRequest(new Request("GET", "/_ilm"));
policies = entityAsMap(response);
} catch (ResponseException e) {
if (RestStatus.BAD_REQUEST.getStatus() == e.getResponse().getStatusLine().getStatusCode()) {
// If bad request returned, ILM is not enabled.
return;
}
throw e;
}
if (policies == null || policies.isEmpty()) {
return;
}
for (String policyName : policies.keySet()) {
adminClient().performRequest(new Request("DELETE", "/_ilm/" + policyName));
}
}
/** /**
* Logs a message if there are still running tasks. The reasoning is that any tasks still running are state the is trying to bleed into * Logs a message if there are still running tasks. The reasoning is that any tasks still running are state the is trying to bleed into
* other tests. * other tests.

View File

@ -96,4 +96,9 @@ public abstract class AbstractFullClusterRestartTestCase extends ESRestTestCase
protected boolean preserveRollupJobsUponCompletion() { protected boolean preserveRollupJobsUponCompletion() {
return true; return true;
} }
@Override
protected boolean preserveILMPoliciesUponCompletion() {
return true;
}
} }

View File

@ -1,63 +0,0 @@
/*
* 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.xpack.core.indexlifecycle;
import org.elasticsearch.client.Request;
import org.elasticsearch.client.Response;
import org.elasticsearch.client.RestClient;
import org.elasticsearch.test.rest.ESRestTestCase;
import java.io.IOException;
import java.util.Map;
public class ILMRestTestStateCleaner {
public static void clearILMMetadata(RestClient adminClient) throws Exception {
removePoliciesFromAllIndexes(adminClient);
deleteAllPolicies(adminClient);
// indices will be deleted by the ESRestTestCase class
}
private static void removePoliciesFromAllIndexes(RestClient adminClient) throws IOException {
Response response = adminClient.performRequest(new Request("GET", "/_all"));
Map<String, Object> indexes = ESRestTestCase.entityAsMap(response);
if (indexes == null || indexes.isEmpty()) {
return;
}
for (String indexName : indexes.keySet()) {
try {
adminClient.performRequest(new Request("DELETE", indexName + "/_ilm/"));
} catch (Exception e) {
// ok
}
}
}
private static void deleteAllPolicies(RestClient adminClient) throws Exception {
Map<String, Object> policies;
try {
Response response = adminClient.performRequest(new Request("GET", "/_ilm"));
policies = ESRestTestCase.entityAsMap(response);
} catch (Exception e) {
return;
}
if (policies == null || policies.isEmpty()) {
return;
}
for (String policyName : policies.keySet()) {
try {
adminClient.performRequest(new Request("DELETE", "/_ilm/" + policyName));
} catch (Exception e) {
// ok
}
}
}
}

View File

@ -22,7 +22,6 @@ import org.elasticsearch.test.rest.yaml.ClientYamlTestCandidate;
import org.elasticsearch.test.rest.yaml.ClientYamlTestResponse; import org.elasticsearch.test.rest.yaml.ClientYamlTestResponse;
import org.elasticsearch.test.rest.yaml.ESClientYamlSuiteTestCase; import org.elasticsearch.test.rest.yaml.ESClientYamlSuiteTestCase;
import org.elasticsearch.test.rest.yaml.ObjectPath; import org.elasticsearch.test.rest.yaml.ObjectPath;
import org.elasticsearch.xpack.core.indexlifecycle.ILMRestTestStateCleaner;
import org.elasticsearch.xpack.core.ml.MlMetaIndex; import org.elasticsearch.xpack.core.ml.MlMetaIndex;
import org.elasticsearch.xpack.core.ml.integration.MlRestTestStateCleaner; import org.elasticsearch.xpack.core.ml.integration.MlRestTestStateCleaner;
import org.elasticsearch.xpack.core.ml.job.persistence.AnomalyDetectorsIndex; import org.elasticsearch.xpack.core.ml.job.persistence.AnomalyDetectorsIndex;
@ -246,7 +245,6 @@ public class XPackRestIT extends ESClientYamlSuiteTestCase {
public void cleanup() throws Exception { public void cleanup() throws Exception {
disableMonitoring(); disableMonitoring();
clearMlState(); clearMlState();
clearILMState();
if (isWaitForPendingTasks()) { if (isWaitForPendingTasks()) {
// This waits for pending tasks to complete, so must go last (otherwise // This waits for pending tasks to complete, so must go last (otherwise
// it could be waiting for pending tasks while monitoring is still running). // it could be waiting for pending tasks while monitoring is still running).
@ -266,20 +264,6 @@ public class XPackRestIT extends ESClientYamlSuiteTestCase {
} }
} }
private void clearILMState() throws Exception {
if (isILMTest()) {
ILMRestTestStateCleaner.clearILMMetadata(adminClient());
}
}
/**
private void clearILMState() throws Exception {
if (isILMTest()) {
ILMRestTestStateCleaner.clearILMMetadata(adminClient());
}
}
/** /**
* Executes an API call using the admin context, waiting for it to succeed. * Executes an API call using the admin context, waiting for it to succeed.
*/ */
@ -340,12 +324,6 @@ public class XPackRestIT extends ESClientYamlSuiteTestCase {
return testName != null && (testName.contains("=ml/") || testName.contains("=ml\\")); return testName != null && (testName.contains("=ml/") || testName.contains("=ml\\"));
} }
protected boolean isILMTest() {
String testName = getTestName();
return testName != null && (testName.contains("=ilm/") || testName.contains("=ilm\\"))
|| (testName.contains("/ilm/") || testName.contains("\\ilm\\"));
}
/** /**
* Should each test wait for pending tasks to finish after execution? * Should each test wait for pending tasks to finish after execution?
* @return Wait for pending tasks * @return Wait for pending tasks

View File

@ -29,6 +29,11 @@ public abstract class AbstractUpgradeTestCase extends ESRestTestCase {
return true; return true;
} }
@Override
protected boolean preserveILMPoliciesUponCompletion() {
return true;
}
enum CLUSTER_TYPE { enum CLUSTER_TYPE {
OLD, OLD,
MIXED, MIXED,

View File

@ -43,6 +43,11 @@ public abstract class AbstractUpgradeTestCase extends ESRestTestCase {
return true; return true;
} }
@Override
protected boolean preserveILMPoliciesUponCompletion() {
return true;
}
enum ClusterType { enum ClusterType {
OLD, OLD,
MIXED, MIXED,

View File

@ -47,6 +47,11 @@ public class UpgradeClusterClientYamlTestSuiteIT extends ESClientYamlSuiteTestCa
return true; return true;
} }
@Override
protected boolean preserveILMPoliciesUponCompletion() {
return true;
}
public UpgradeClusterClientYamlTestSuiteIT(ClientYamlTestCandidate testCandidate) { public UpgradeClusterClientYamlTestSuiteIT(ClientYamlTestCandidate testCandidate) {
super(testCandidate); super(testCandidate);
} }