163 lines
4.1 KiB
Plaintext
163 lines
4.1 KiB
Plaintext
[role="xpack"]
|
|
[testenv="basic"]
|
|
[[start-stop-ilm]]
|
|
== Start and stop {ilm}
|
|
|
|
All indices that are managed by {ilm-init} will continue to execute
|
|
their policies. There may be times when this is not desired on certain
|
|
indices, or maybe even all the indices in a cluster. For example,
|
|
maybe there are scheduled maintenance windows when cluster topology
|
|
changes are desired that may impact running {ilm-init} actions. For this reason,
|
|
{ilm-init} has two ways to disable operations.
|
|
|
|
When stopping {ilm-init}, snapshot lifecycle management operations are also stopped,
|
|
this means that no scheduled snapshots are created (currently ongoing snapshots
|
|
are unaffected).
|
|
|
|
Normally, {ilm-init} will be running by default.
|
|
To see the current operating status of {ilm-init}, use the <<ilm-get-status,Get Status API>>
|
|
to see the current state of {ilm-init}.
|
|
|
|
////
|
|
[source,console]
|
|
--------------------------------------------------
|
|
PUT _ilm/policy/my_policy
|
|
{
|
|
"policy": {
|
|
"phases": {
|
|
"warm": {
|
|
"min_age": "10d",
|
|
"actions": {
|
|
"forcemerge": {
|
|
"max_num_segments": 1
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"min_age": "30d",
|
|
"actions": {
|
|
"delete": {}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
PUT my_index
|
|
{
|
|
"settings": {
|
|
"index.lifecycle.name": "my_policy"
|
|
}
|
|
}
|
|
--------------------------------------------------
|
|
////
|
|
|
|
[source,console]
|
|
--------------------------------------------------
|
|
GET _ilm/status
|
|
--------------------------------------------------
|
|
|
|
If the request does not encounter errors, you receive the following result:
|
|
|
|
[source,console-result]
|
|
--------------------------------------------------
|
|
{
|
|
"operation_mode": "RUNNING"
|
|
}
|
|
--------------------------------------------------
|
|
|
|
The operating modes of {ilm-init}:
|
|
|
|
[[ilm-operating-modes]]
|
|
.{ilm-init} Operating Modes
|
|
[options="header"]
|
|
|===
|
|
|Name |Description
|
|
|RUNNING |Normal operation where all policies are executed as normal
|
|
|STOPPING|{ilm-init} has received a request to stop but is still processing some policies
|
|
|STOPPED |This represents a state where no policies are executed
|
|
|===
|
|
|
|
[discrete]
|
|
=== Stopping {ilm-init}
|
|
|
|
The {ilm-init} service can be paused such that no further steps will be executed
|
|
using the <<ilm-stop,Stop API>>.
|
|
|
|
[source,console]
|
|
--------------------------------------------------
|
|
POST _ilm/stop
|
|
--------------------------------------------------
|
|
// TEST[continued]
|
|
|
|
When stopped, all further policy actions will be halted. This will
|
|
be reflected in the Status API
|
|
|
|
////
|
|
[source,console]
|
|
--------------------------------------------------
|
|
GET _ilm/status
|
|
--------------------------------------------------
|
|
// TEST[continued]
|
|
////
|
|
|
|
[source,console-result]
|
|
--------------------------------------------------
|
|
{
|
|
"operation_mode": "STOPPING"
|
|
}
|
|
--------------------------------------------------
|
|
// TESTRESPONSE[s/"STOPPING"/$body.operation_mode/]
|
|
|
|
The {ilm-init} service will then, asynchronously, run all policies to a point
|
|
where it is safe to stop. After {ilm-init} verifies that it is safe, it will
|
|
move to the `STOPPED` mode.
|
|
|
|
////
|
|
[source,console]
|
|
--------------------------------------------------
|
|
PUT trigger_ilm_cs_action
|
|
|
|
GET _ilm/status
|
|
--------------------------------------------------
|
|
// TEST[continued]
|
|
////
|
|
|
|
[source,console-result]
|
|
--------------------------------------------------
|
|
{
|
|
"operation_mode": "STOPPED"
|
|
}
|
|
--------------------------------------------------
|
|
// TESTRESPONSE[s/"STOPPED"/$body.operation_mode/]
|
|
|
|
[discrete]
|
|
=== Starting {ilm-init}
|
|
|
|
To start {ilm-init} and continue executing policies, use the <<ilm-start, Start API>>.
|
|
|
|
|
|
[source,console]
|
|
--------------------------------------------------
|
|
POST _ilm/start
|
|
--------------------------------------------------
|
|
// TEST[continued]
|
|
|
|
////
|
|
[source,console]
|
|
--------------------------------------------------
|
|
GET _ilm/status
|
|
--------------------------------------------------
|
|
// TEST[continued]
|
|
////
|
|
|
|
The Start API will send a request to the {ilm-init} service to immediately begin
|
|
normal operations.
|
|
|
|
[source,console-result]
|
|
--------------------------------------------------
|
|
{
|
|
"operation_mode": "RUNNING"
|
|
}
|
|
--------------------------------------------------
|