Как я могу загрузить шаблон Ansible на сервер, отличный от того, на котором он работает? - PullRequest
0 голосов
/ 11 октября 2019

У меня есть роль Ansible, запущенная для нескольких серверов X ', и я хочу добиться того, чтобы шаблон загружался на другой сервер.

Я хочу, чтобы все «отчеты» из всех задач в файл шаблона, но я хочу, чтобы этот файл шаблона размещался на сервере, отличном от того, с которым работал ANSI. Это возможно и как?

Итак, приведем пример: запуск Anbible на сервере 1.1.1.1, сбор фактов и т. Д. В файл шаблона. Теперь я хочу, чтобы этот файл шаблона был загружен на совершенно другой сервер, но включает вывод 1.1. 1.1 сервер. Как этого добиться?

1 Ответ

0 голосов
/ 11 октября 2019

Один из вариантов - запустить первую задачу на сервере 1.1.1.1, а затем, как только файл шаблона будет создан, загрузить этот файл с помощью модуля fetch на сервер ansible, а затем скопировать его на другой сервер. код ниже (не проверено)

---
- hosts: 1.1.1.1
  tasks:
  - name: cat file
    command: cat /some/file
    register: output
  - name: write to file
    lineinfile:
     dest: "/tmp/test.file"
     line: "{{output.stdout}}"
     create: yes
     state: present
  - name: Download file
    fetch:
    src: "/tmp/test.file"
    dest: "/ansible/files/"
    flat: yes
- hosts: 2.2.2.2
  tasks:
  - name: copy file
    copy:
     src: /ansible/files/test.file
     dest: /tmp/location/

...