我使用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',它會告訴你,如果事情失敗了,但會忽略它。 –