Фон,анзибль работает одна команда из многих локально в цикле
Я пытаюсь создать цикл, который перебирает хэш читать из qa.yml файла и для каждого пользователя в списке он пытается найти файл на локальном сервере (открытый ключ), после обнаружения файла он создает пользователя на удаленном компьютере и копирует открытый ключ на authorized_key на удаленном компьютере.
Я пытаюсь реализовать его способом итерации, поэтому, чтобы обновить ключи или добавить больше ключей пользователей, мне нужно изменить список .yml и поместить файл открытого ключа в нужное место. Однако я не могу заставить local_action + найти работу.
---
- hosts: tag_Ansible_CLOUD_QA
vars_files:
- ../users/qa.yml
- ../users/groups.yml
remote_user: ec2-user
sudo: yes
tasks:
- name: Create groups
group: name="{{ item.key }}" state=present
with_dict: "{{ user_groups }}"
- name: Create remote users QA
user: name="{{ item.key }}" comment="user" group=users groups="qa"
with_dict: "{{ qa_users }}"
- name: Erase previous authorized keys QA
shell: rm -rf /home/"{{ item.key }}"/.ssh/authorized_keys
with_dict: "{{ qa_users }}"
- name: Add public keys to remote users QA
local_action:
find: paths="{{'/opt/pubkeys/2016/q2/'}}" patterns="{{ item.key }}"
register: result
authorized_key: user="{{ item.key }}" key="{{ lookup('file', result) }}"
with_dict: "{{ qa_users }}"
Hash:
qa_users:
user1:
name: User 1
user2:
name: User 2
Спасибо за обратную связь и предложения я, вероятно, буду следовать ему, но мне очень интересно, почему я получаю эту ошибку при запуске local_action: - name: Найти ключи, ОШИБКА: Синтаксис Ошибка при загрузке сценария YAML, credentials/distribute-public-key.yml Примечание: Ошибка может появиться до этой позиции: строка 41, столбец 17 - имя: Найти ключи local_action: ^ –
@DmitryR вы можете попробовать сейчас с моим редактированием. Не выявил вашу начальную проблему с синтаксисом вокруг local_action. Это все еще непроверенный ум, так что все равно может потерпеть неудачу. – ydaetskcoR