2017-03-16 2 views
0

with_itemsを使用して設定のリストを反復することができます。今、すべての設定は私が実行するとログに記録されます。非常に冗長で、何が起きているのかを見るのが難しいです。しかし、すべての出力をno_logで無効にすると、失敗したときに特定のアイテムを特定する方法がありません。`with_items`の出力があまりにも曖昧です

出力を改善する方法 - 各項目の識別子のみを表示するにはどうすればよいですか?

例タスク:

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

出力例:

TASK [SSHKEY-アラン - SYSOP: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) 
関連する問題