Ansible: синхронизировать файлы между двумя удаленными хостами по заданной группе хостов назначения - PullRequest
0 голосов
/ 28 февраля 2019

Я хочу синхронизировать (копировать) файлы между двумя удаленными хостами:.

В моей книге воспроизведения я выполняю свои задачи в нескольких группах относительно каждого случая задачи.

Моя книга воспроизведения выглядит следующим образом:

---
- hosts: myHosts
  gather_facts: true
  become: true
  become_user: "{{ ansi_user }}"
  vars:
    - buildServer_host : "127.78.11.04"
  roles:
    #... Different roles
    ...
    - { role: myRole }

Мой файл инвентаря выглядит так:

[myHosts]
myGroupA
myGroupB
myGroupC

В myRole я этозадача:

 - name: Copy  jars to API server 
   synchronize:
    src: "{{ Workspace_GEN_COLIS }}/{{item.item}}/target/{{item.stdout}}"
    dest: "/opt/application/i99was/{{RCD_DEF_VERSION}}/{{item.item}}.jar"
   with_items: "{{ jarFileNames.results }}"
   when:
    - ansible_host in groups['myGroupB']
   delegate_to: "{{buildServer_host }}"

Как вы можете видеть: я хочу передать файл из моего "buildServer_host" в другой удаленный пункт назначения, который является только группой "myGroupB "

Это не удается, и я не знаю почему.

Кажется, что он не понимает этого: ansible_host in groups['myGroupB'] как хост назначения

Предложения?

1 Ответ

0 голосов
/ 28 февраля 2019

Delegate_to более чем достаточно, вам не нужно условие when, так как делегирование будет выполнено на хосте, который вы выбрали в значении Delegate_to.

...