Ansible - wykonywanie jednego taska po drugim

0

W jaki sposób w ansible wymusza się wykonywanie tasków jeden po drugim? Jeżeli wykonuję coś takiego jak poniżej to wykonują się one równolegle w kilku wątkach i w drugiej części dotyczącej zmiany uprawnień wyskakuje błąd, że taki plik nie istnieje.

---
- hosts: core_routers
  tasks:
    - name: Download backup file
      fetch: src=/var/log/backup/backup-{{ lookup('pipe', 'date +%Y-%m-%d') }}.tar.gz dest=/home/Backup/backup-{{ansible_host}}-{{ lookup('pipe', 'date +%Y-%m-%d') }}.tar

    - name: Change file ownership, group and permissions
      file:
        path: /home/Backup/backup-{{ansible_host}}-{{ lookup('pipe', 'date +%Y-%m-%d') }}.tar.gz
        owner: baroo
        group: users
        mode: 0775
0

Taski są wykonywane sekwencyjnie w obrębie hosta (równolegle na wielu hostach na raz).
Prawdopodobnie taki plik nie istnieje - może przy fetchu zapomniałeś na końcu .gz dodać, tak jak jest we wstawionym snippecie?

0
DonStefano napisał(a):

Taski są wykonywane sekwencyjnie w obrębie hosta (równolegle na wielu hostach na raz).
Prawdopodobnie taki plik nie istnieje - może przy fetchu zapomniałeś na końcu .gz dodać, tak jak jest we wstawionym snippecie?

Generalnie dostaję coś takiego jak poniżej. Plik się pobiera i jest we wskazanej lokalizacji, ale drugi task twierdzi, że go nie ma. Nie mam pojęcie co może być nie tak.

PLAY [core_routers] ***********************************************************

GATHERING FACTS ***************************************************************
ok: [ns]

TASK: [Download backup file] **************************************************
changed: [ns] => {"changed": true, "dest": "/home/Backup/backup-ns-2022-07-21.tar.gz", "md5sum": "560602729e7a242a48c15ce599f2ce4b", "remote_md5sum": "560602729e7a242a48c15ce599f2ce4b"}

TASK: [Change file ownership, group and permissions] **************************
failed: [ns] => {"failed": true, "path": "/home/Backup/backup-ns-2022-07-21.tar.gz", "state": "absent"}
msg: file (/home/Backup/backup-ns-2022-07-21.tar.gz) is absent, cannot continue

FATAL: all hosts have already failed -- aborting

PLAY RECAP ********************************************************************
to retry, use: --limit @/root/core_routers_backup.retry

ns : ok=2 changed=1 unreachable=0 failed=1

1

fetch ściąga plik z remote hosta na localhost, a file działa z powrotem na remote hostach. Dodaj delegate_to: localhost do drugiego taska

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.