在centos7服务器上运行Ansible剧本。 site.yml包括以下内容:
elastic_cluster_ips: "{{ groups['es_cluster'] | map('extract', hostvars, ['ansible_default_ipv4', 'address']) | list}}"
但我不断收到此错误:
FAILED! => {"changed": false, "msg": "AnsibleError: An unhandled exception occurred while templating '{{ groups['es_cluster'] | map('extract', hostvars, ['ansible_default_ipv4', 'address']) | list}}'. Error was a <class 'ansible.errors.AnsibleError'>, original message: template error while templating string: no filter named 'map'. String: {{ groups['es_cluster'] | map('extract', hostvars, ['ansible_default_ipv4', 'address']) | list}}"}
初步搜索似乎是jinja2版本的问题,早期版本没有地图过滤器。我已经检查过我的版本,并且它似乎是最新的。有任何想法我在这里做错了吗?
版本: Ansible 2.6.7, python 2.6.6, jinja2 2.10
谢谢!