我使用with_items
迭代器来执行命令:brew services stop {{ item }}
。Ansible:在changed_when语句中使用item(with_items)
要处理错误,我想使用changed_when
并使用item
值。
command: brew services stop {{ item }}
register: stop_services
changed_when:
- "'Error: Service `{{ item }}` is not started.' not in stop_services.stderr"
with_items:
- memcached
- kafka
如果服务没有启动,我得到以下错误
failed: [127.0.0.1] (item=memcached) => {"changed": false, "cmd": ["brew", "services", "stop", "memcached"], "delta": "0:00:00.464519", "end": "2016-12-29 18:02:37.795973", "failed": true, "item": "memcached", "rc": 1, "start": "2016-12-29 18:02:37.331454", "stderr": "Error: Service
memcached
is not started.", "stdout": "", "stdout_lines": [], "warnings": []}
但changed_when
声明被忽略。
是否可以将item
注入changed_when
声明?
Ansible版本:2.2
你也可以使用'ignore_errors:yes',它会告诉你,如果事情失败了,但会忽略它。 –