Я пытаюсь создать playbook, который должен выполнить следующие задачи:
- получить имена хостов и выпуски из файла файл
- подключиться к эти имена хостов одно за другим
- извлекают содержимое другого файла another_file на каждом хосте, который даст нам среду (dev, qa, prod)
, поэтому Моя первая задача - получить имена хостов, к которым мне нужно подключиться
- name: retrieve nodes
shell: cat file | grep ";;" | grep foo | grep -v "bar" | sort | uniq
register: nodes
- adding nodes:
add_host:
name: "{{ item }}"
group: "servers"
with_items: "{{ nodes.stdout_lines }}"
, следующая задача подключается к хостам
- hosts: "{{ nodes }}"
become: yes
become_user: user1
become_method: sudo
gather_facts: no
tasks:
- name: check remote file
slurp:
src: /xyz/directory/another_file
register: thing
- debug: msg="{{ thing['content'] | b64decode }}"
, но это не работает, когда я добавить подробности Я все еще вижу, что задача выполняется с пользователем, запустившим playbook (local_user)
<node> ESTABLISH SSH CONNECTION FOR USER: local_user
что я делаю не так?
ansible версия 2.7.1 over rhel 6.1
UPDATE
Я также использовал remote_user: user1
- hosts: "{{ nodes }}"
remote_user: user1
gather_facts: no
tasks:
- name: check remote file
slurp:
src: /xyz/directory/another_file
register: thing
- debug: msg="{{ thing['content'] | b64decode }}"
пока не повезло, та же ошибка