| --- |
| - name: Collect source resources |
| block: |
| - name: Check if source dir and files are present |
| stat: |
| path: "{{ item.source_dir }}/{{ item.source_filename }}" |
| get_checksum: false |
| loop: |
| - { source_dir: "{{ resources_dir | default('', true) }}", |
| source_filename: "{{ resources_filename | default('', true) }}", |
| target_dir: "{{ app_data_path | default('', true) }}", |
| target_filename: "{{ resources_filename | default('', true) }}" } |
| |
| - { source_dir: "{{ resources_dir | default('', true) }}", |
| source_filename: "{{ aux_resources_filename | default('', true) }}", |
| target_dir: "{{ aux_data_path | default('', true) }}", |
| target_filename: "{{ aux_resources_filename | default('', true) }}" } |
| register: source_path |
| when: |
| - item.source_dir | length > 0 |
| - item.source_filename | length > 0 |
| - item.target_dir | length > 0 |
| - item.target_filename | length > 0 |
| |
| - name: Create initial resources list of dicts |
| set_fact: |
| to_be_uploaded_resources_list: "{{ |
| to_be_uploaded_resources_list | default([]) + [ |
| {'file': item.item.target_filename, |
| 'destination_dir': item.item.target_dir } ] }}" |
| loop: "{{ source_path.results }}" |
| when: item.stat is defined |
| failed_when: not item.stat.exists |
| when: inventory_hostname in groups.resources |
| |
| - name: "Upload resource files {{ hostvars[groups.resources.0].to_be_uploaded_resources_list }} to infrastructure" |
| include_tasks: upload_resources.yml |
| vars: |
| resources_source_host: "{{ hostvars[groups.resources.0].ansible_host | default(hostvars[groups.resources.0].inventory_hostname) }}" |
| resources_list_of_dicts: "{{ hostvars[groups.resources.0].to_be_uploaded_resources_list }}" |
| when: |
| - inventory_hostname in groups.infrastructure |
| - hostvars[groups.resources.0].to_be_uploaded_resources_list is defined |