2017-03-16 65 views
0

我寫了一個非常簡單的任務,使用with_items遍歷設置列表。現在我所有的設置都會記錄下來,當我運行完成時。它非常詳細,很難看到發生了什麼。但是,如果我使用no_log禁用所有輸出,那麼當它們失敗時,我將無法識別特定項目。`with_items`輸出過於冗長

如何改進輸出 - 僅顯示每個項目的標識符?

例任務:

- authorized_key: 
    user: "{{ item.user }}" 
    key: "{{ item.key }}" 
    with_items: "{{ ssh_keys }}" 

輸出示例:

TASK [SSHKEY-阿蘭-系統操作員:SSH授權密鑰] *************** ******************

ok:[brick] =>(item = {u'user':u'alan-sysop',u'key': u'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAgRe16yLZa8vbzsrxUpT5MdHoEYYd/awAnEWML4g + YoUvLDKr + zwmu78ze/E1NSipoZejXpggUYRVhh8MOiCX6qpUguBDWZFlvSCE/7uXWWg7Oht0f1kDS2xU7Y iycPIzMN1dmUEFY9AixnN936Dq6nOtEzgBwjo66I1YC/5jrsQEqF19shx43A4DTFlPUz/PnsqHl2ESrkIk3e8zyidaPN2pRbA5iKzdvPW4E2W2tKw9ll40vqRXzaWIF7v293Ostwi1IPi2erlC777DhjZUhZ1VGXIR7FDAfANzalrMe6c/ZysiXewiUYgMw0I8Dh1LK3QMj9Kuo35S5E0Xj3TB 阿蘭-系統操作員@阿蘭膝上型'})

回答

3

loop_control爲:

- authorized_key: 
    user: "{{ item.user }}" 
    key: "{{ item.key }}" 
    with_items: "{{ ssh_keys }}" 
    loop_control: 
    label: "{{ item.user }}" 
+0

有趣!所以這不僅僅是我,做一些愚蠢的事情。我注意到這個解決方案在'-v'下顯示了完整的值,而用我的答案你必須使用'-vvv'並在'module_args'下查找。我不認爲我可以抱怨前者......至少''service'模塊在使用'-v'運行時傾倒約4KB到tty。 – sourcejedi

+0

標籤較短,但與調試一起使用時仍可打印循環中的項目。 – FastZhong

0

的標識符可被用來作爲字典的密鑰。

- authorized_key: 
    user: "{{ item }}" 
    key: "{{ ssh_keys[item] }}" 
    with_items: "{{ ssh_keys.keys() }}" 

輸出示例:

TASK [sshkey-alan-sysop : ssh authorized keys] ********************************* 
ok: [brick] => (item=alan-sysop)