54 lines
1.4 KiB
YAML
54 lines
1.4 KiB
YAML
---
|
|
- name: file_download | create local download destination directory
|
|
file:
|
|
path: "{{ download.dest|dirname }}"
|
|
state: directory
|
|
recurse: yes
|
|
mode: 0755
|
|
delegate_to: localhost
|
|
become: false
|
|
run_once: true
|
|
when:
|
|
- download_delegate != "localhost"
|
|
- download_run_once
|
|
- download.enabled
|
|
- download.file
|
|
|
|
- name: file_download | copy file to ansible host
|
|
synchronize:
|
|
src: "{{ download.dest }}"
|
|
dest: "{{ download.dest }}"
|
|
use_ssh_args: "{{ has_bastion | default(false) }}"
|
|
mode: pull
|
|
run_once: true
|
|
become: false
|
|
when:
|
|
- download.enabled
|
|
- download.file
|
|
- download_run_once
|
|
- ansible_os_family not in ["CoreOS", "Container Linux by CoreOS"]
|
|
- inventory_hostname == download_delegate
|
|
- download_delegate != "localhost"
|
|
|
|
- name: file_download | upload file to nodes
|
|
synchronize:
|
|
src: "{{ download.dest }}"
|
|
dest: "{{ download.dest }}"
|
|
use_ssh_args: "{{ has_bastion | default(false) }}"
|
|
mode: push
|
|
become: true
|
|
register: get_task
|
|
until: get_task is succeeded
|
|
retries: 4
|
|
delay: "{{ retry_stagger | random + 3 }}"
|
|
when:
|
|
- download.enabled
|
|
- download.file
|
|
- download_run_once
|
|
- (ansible_os_family not in ["CoreOS", "Container Linux by CoreOS"] and
|
|
inventory_hostname != download_delegate or
|
|
download_delegate == "localhost")
|
|
tags:
|
|
- upload
|
|
- upgrade
|