Здравствуйте ребята у меня проблема.
Проблема, с которой я сталкиваюсь на данный момент, заключается в том, что роль для копирования файлов будет пропускать все файлы независимо от того, пуст файл с именами файлов или нет.
В Role1 я хочу сохранить вывод cat для каждого файла. В Role2 в условном условии, я хочу, чтобы задача пропускалась, если зарегистрированный вывод == "".
Роль1:
---
- name: copy files
shell: "cat path{{ item }}files"
register: checkempty
loop:
- test1
- test2
- test3
- test4
Роль2:
---
- name: Copy Files
copy:
src: "{{ var1 }}{{ var2 }}{{ var3 }}{{ var4 }}{{ item }}/"
dest: "{{ copy_dest_sys }}" #destination path
loop: "{{ lookup('file', 'pathtofile/file').split('\n')}}"
when: hostvars['localhost'].checkempty.results == ""
Плейбук:
- name: check emptiness
hosts: localhost
become: yes
vars_files:
- ../variables/varsfile
roles:
- ../variables/role1
- name: Copy Files to prod/stag
hosts: "{{hosts_exec}}"
become: yes
vars_files:
- ../vars/recommendation-delta.yml
roles:
- ../roles/role2
Как я могу установить зарегистрированную переменную с помощью with_items и сравнить ее вывод с «» (ничего)? Может ли кто-нибудь помочь мне с этой проблемой?