[role="xpack"] [testenv="basic"] [[start-stop-ilm]] == Start and stop {ilm} All indices that are managed by ILM 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 actions. For this reason, ILM has two ways to disable operations. Normally, ILM will be running by default. To see the current operating status of ILM, use the <> to see the current state of ILM. //// [source,js] -------------------------------------------------- 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" } } -------------------------------------------------- // CONSOLE //// [source,js] -------------------------------------------------- GET _ilm/status -------------------------------------------------- // CONSOLE If the request does not encounter errors, you receive the following result: [source,js] -------------------------------------------------- { "operation_mode": "RUNNING" } -------------------------------------------------- // CONSOLE // TESTRESPONSE The operating modes of ILM: .ILM Operating Modes |=== |Name |Description |RUNNING |Normal operation where all policies are executed as normal |STOPPING|ILM has received a request to stop but is still processing some policies |STOPPED |This represents a state where no policies are executed |=== [float] === Stopping ILM= The ILM service can be paused such that no further steps will be executed using the <>. [source,js] -------------------------------------------------- POST _ilm/stop -------------------------------------------------- // CONSOLE // TEST[continued] When stopped, all further policy actions will be halted. This will be reflected in the Status API //// [source,js] -------------------------------------------------- GET _ilm/status -------------------------------------------------- // CONSOLE // TEST[continued] //// [source,js] -------------------------------------------------- { "operation_mode": "STOPPING" } -------------------------------------------------- // CONSOLE // TESTRESPONSE The ILM service will then, asynchronously, run all policies to a point where it is safe to stop. After ILM verifies that it is safe, it will move to the `STOPPED` mode. //// [source,js] -------------------------------------------------- PUT trigger_ilm_cs_action GET _ilm/status -------------------------------------------------- // CONSOLE // TEST[continued] //// [source,js] -------------------------------------------------- { "operation_mode": "STOPPED" } -------------------------------------------------- // CONSOLE // TESTRESPONSE [float] === Starting ILM To start ILM and continue executing policies, use the <>. [source,js] -------------------------------------------------- POST _ilm/start -------------------------------------------------- // CONSOLE // TEST[continued] //// [source,js] -------------------------------------------------- GET _ilm/status -------------------------------------------------- // CONSOLE // TEST[continued] //// The Start API will send a request to the ILM service to immediately begin normal operations. [source,js] -------------------------------------------------- { "operation_mode": "RUNNING" } -------------------------------------------------- // CONSOLE // TESTRESPONSE