Привет админам! Такая проблемка - плэйбук ансибла раскидывает ssh ключи админов по хостам
---
- name: Добавление SSH ключей админов
ansible.builtin.shell: if grep "{{ item }}" < /root/.ssh/authorized_keys; then exit 2; else echo "{{ item }}" >> /root/.ssh/authorized_keys; fi
args:
executable: /bin/bash
register: item_changed
failed_when: item_changed.rc == 1
changed_when: item_changed.rc == 0
with_items: "{{ ssh_id_admins }}"
при этом в stdout выводит каждый ключ (а это несколько строк бинарного вида) при обращении к каждому хосту. получается оооочень много ненужного текста. Можно как-то подавить вывод содержимого всех ключей на экран, чтобы отображался только результат задачи?
РЕШЕНИЕ
Всем спасибо, было много полезных советов, но решение все же выглядит так: надо заменить строку
with_items: "{{ ssh_id_admins }}"
на следующий фрагмент:
loop: "{{ ssh_id_admins|flatten(levels=1) }}"
loop_control:
index_var: id
label: "{{ id }}"
и тогда на выхлоп летит только индекс элемента, а не все содержимое ключа.