# Getting curator 'Schema error'

**URL:** <https://discuss.elastic.co/t/getting-curator-schema-error/280002>\
**Category:** Elasticsearch\
**Tags:** curator\
**Created:** [July 29, 2021, 3:41pm UTC](https://discuss.elastic.co/t/getting-curator-schema-error/280002 "2021-07-29T15:41:14Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![cool999](https://avatars.discourse-cdn.com/v4/letter/c/d26b3c/32.png) [@cool999](https://discuss.elastic.co/u/cool999)\
**Post date:** [July 29, 2021, 3:41pm UTC](https://discuss.elastic.co/t/getting-curator-schema-error/280002/1 "2021-07-29T15:41:14Z")

</div>

Hi Team,

I have installed curator-5.8.1 but can see its not working from day one.

Getting below error in`/var/log/curator_snapshot_backup.log`

```auto
2021-07-21 02:00:02,232 ERROR Schema error: expected dict for dictionary value @ data['actions']
2021-07-22 02:00:05,408 ERROR Schema error: expected dict for dictionary value @ data['actions']
2021-07-23 02:00:08,351 ERROR Schema error: expected dict for dictionary value @ data['actions']

```

below is cron entry to run

```auto
#Ansible: Curator Delete indices
0 0 * * * /root/curatorvenv/bin/python3 /opt/curator-5.8.1/run_curator.py --config /opt/curator-5.8.1/curator.yaml /opt/curator-5.8.1/actions/delete_indices.yml
#Ansible: Curator Backup all indices
0 2 * * * /root/curatorvenv/bin/python3 /opt/curator-5.8.1/run_curator.py --config /opt/curator-5.8.1/curator.yaml /opt/curator-5.8.1/actions/snapshot_backup.yml >> /var/log/curator_snapshot_backup.log 2>&1

```

Config file -

cat /opt/curator-5.8.1/curator.yaml

```auto
---
# Ansible managed
# Remember, leave a key empty if there is no value. None will be a string,
# not a Python "NoneType"
client:
  hosts: ['http://10.191.191.100:5200', 'http://10.191.191.101:5200', 'http://10.191.191.102:5200']
  port: 5200
  url_prefix:
  use_ssl: False
  certificate:
  client_cert:
  client_key:
  aws_key:
  aws_secret_key:
  aws_region:
  ssl_no_validate: False
  http_auth: elastic:xxx
  timeout: 30
  master_only: False

logging:
  loglevel: INFO
  logfile:
  logformat: default
  blacklist: ['elasticsearch', 'urllib3']

```

delete action is

cat /opt/curator-5.8.1/actions/delete\_indices.yml

```auto
# Ansible managed
actions:
  1:
    action: delete_indices
    description: >-
      Delete indices older than 60 days (based on index name).
    options:
      ignore_empty_list: True
      timeout_override:
      continue_if_exception: True
      disable_action: False
    filters:
    - filtertype: pattern
      kind: prefix
      value: metricbeat
      exclude:
    - filtertype: age
      source: name
      direction: older
      timestring: "%Y.%m.%d"
      unit: days
      unit_count: 60
      exclude:
  2:
    action: delete_indices
    description: >-
      Delete indices older than 60 days (based on index name).
    options:
      ignore_empty_list: True
      timeout_override:
      continue_if_exception: True
      disable_action: False
    filters:
    - filtertype: pattern
      kind: prefix
      value: heartbeat
      exclude:
    - filtertype: age
      source: name
      direction: older
      timestring: "%Y.%m.%d"
      unit: days
      unit_count: 60
      exclude:
  3:
    action: delete_indices
    description: >-
      Delete indices older than 60 days (based on index name).
    options:
      ignore_empty_list: True
      timeout_override:
      continue_if_exception: True
      disable_action: False
    filters:
    - filtertype: pattern
      kind: prefix
      value: filebeat
      exclude:
    - filtertype: age
      source: name
      direction: older
      timestring: "%Y.%m.%d"
      unit: days
      unit_count: 60
      exclude:
  4:
    action: delete_indices
    description: >-
      Delete indices older than 60 days (based on index name).
    options:
      ignore_empty_list: True
      timeout_override:
      continue_if_exception: True
      disable_action: False
    filters:
    - filtertype: pattern
      kind: prefix
      value: .monitoring
      exclude:
    - filtertype: age
      source: name
      direction: older
      timestring: "%Y.%m.%d"
      unit: days
      unit_count: 3
      exclude:

```

```auto
[root@ ~]# cat /opt/curator-5.8.1/actions/snapshot_backup.yml
# Ansible managed
actions:
[root@ ~]#

```

Can someone point me where is the issue?

Thanks,

---

<div class="post-metadata">

**Author:** ![cool999](https://avatars.discourse-cdn.com/v4/letter/c/d26b3c/32.png) [@cool999](https://discuss.elastic.co/u/cool999)\
**Post date:** [July 30, 2021, 3:24pm UTC](https://discuss.elastic.co/t/getting-curator-schema-error/280002/2 "2021-07-30T15:24:19Z")

</div>

Hi,

Can someone please reply.

---

<div class="post-metadata">

**Author:** ![theuntergeek](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/theuntergeek/32/44961_2.png) [@theuntergeek](https://discuss.elastic.co/u/theuntergeek)\
**Post date:** [August 4, 2021, 8:10pm UTC](https://discuss.elastic.co/t/getting-curator-schema-error/280002/3 "2021-08-04T20:10:00Z")

</div>

Sorry, was away on PTO.

The empty action file with only `actions:` and nothing else is the problem. There is no `dictionary` for `actions`, it appears to be a regular key/value pair. This is what is causing the problem.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [September 1, 2021, 8:10pm UTC](https://discuss.elastic.co/t/getting-curator-schema-error/280002/4 "2021-09-01T20:10:50Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
