10
一些有說服力的命令會產生人類幾乎不可讀的json輸出。當他們需要檢查劇本是否正確執行並導致混淆時,它會分散人們的注意力。如何從特定的命令中禁用json輸出?
示例命令是shell
和replace
- 它們會產生大量無用的噪音。我怎樣才能防止這一點?簡單好的|改變|失敗就夠了。我不需要整個JSON。
一些有說服力的命令會產生人類幾乎不可讀的json輸出。當他們需要檢查劇本是否正確執行並導致混淆時,它會分散人們的注意力。如何從特定的命令中禁用json輸出?
示例命令是shell
和replace
- 它們會產生大量無用的噪音。我怎樣才能防止這一點?簡單好的|改變|失敗就夠了。我不需要整個JSON。
使用no_log: True
對那些您想要抑制所有進一步輸出的任務。
- shell: whatever
no_log: True
我相信只有提到這個功能是在FAQ。
例劇本:
- hosts:
- localhost
gather_facts: no
vars:
test_list:
- a
- b
- c
tasks:
- name: Test with output
shell: echo "{{ item }}"
with_items: test_list
- name: Test w/o outout
shell: echo "{{ item }}"
no_log: True
with_items: test_list
輸出示例:
TASK: [Test with output] ******************************************************
changed: [localhost] => (item=a)
changed: [localhost] => (item=b)
changed: [localhost] => (item=c)
TASK: [Test w/o outout] *******************************************************
changed: [localhost]
changed: [localhost]
changed: [localhost]
似乎並沒有工作。我使用'ansible-playbook 2.0.0'和'no_log:True'對'shell','copy'和'replace'命令沒有影響。提示可能是我爲所有這些命令使用'with_items'。 – SiliconMind
那麼,2.0.0是一個alpha版本。我在上面添加了一個例子,它適用於Ansible 1.9.2 – udondan
看來,v 2.0.0-0.3.beta1在消息輸出方面的行爲方式更加人性化。 – SiliconMind