Curator Allocation Filters

Running into a bit of a stumper. Using curator to change the replicas to 1 on indices, but the filters don't seem to be working correctly.

Indices to be changed all have the following attributes in _settings
"settings": {
"index": {
"routing": {
"allocation": {
"require": {
"node_type": "warm"
}
}
}

When running curator, I'm using the below actions file contents:
2:
action: replicas
description: >-
Change replica count to 1 for indices on warm nodes
options:
count: 1
wait_for_completion: True
disable_action: False
filters:
- filtertype: allocated
key: node_type
allocation_type: require
value: warm
- filtertype: pattern
kind: regex
value: '^(.kibana_|.).*$'
exclude: True

However, curator dry-run is still showing it acting against indices that don't have the node_type:warm

Can anyone provide insight if I'm doing something wrong here?

What versions of Elasticsearch and Curator are you using?

So we figured it out... thanks GeekPete!!

the allocation filtertype defaults with exclude: True, so it will inherently exclude instead of include. By adding exclude:false to the syntax, I got the results I expected, which was to ONLY include those with node_type: warm

  • filtertype: allocated
    key: node_type
    allocation_type: require
    value: warm
    exclude: false

Added a doc fix PR: https://github.com/elastic/curator/pull/1203

Filed an issue: https://github.com/elastic/curator/issues/1204

Hopefully just clarifying the docs is enough to help people avoid the confusion.