2017-03-16 37 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)