I'm using stat module in loop to search for a file when defined.
- name: Check for .pub file
stat:
path: "{{ playbook_dir }}/../vars/{{ item.name }}.pub"
loop: "{{ UserAddList.add_users }}"
register: file_details
when: item.authorized_keys is defined and item.authorized_keys != ""
no_log: true
- name: Fail if .pub key doesn't exist
fail:
msg: '{{ item.item.name }} does not have to public key {{
item.item.name }}.pub in the path {{ item.item.authorized_keys }} file'
when: item.stat.exists == false or item.stat.exists is not defined
loop_control:
label: "{{ item.stat }}"
with_items: "{{ file_details.results }}"
Input file:
add_users:
- name: test1_123
group: test123
password: test1_newcdsaf
authorized_keys: "{{ playbook_dir }}/../vars/test1_123.pub"
- name: test1_1234
group: test234
password: test1_newcdsaf
authorized_keys: ""
My input file will have an user entry with optional authorized keys field
Conditions to fail.
The playbook has to fail when authorized_keys is defined and the .pub key
is present on in the location. I'm using stat module to search for the file.
The playbook should not fail when authorized_keys field is empty as it is
valid case.
right now my playbook is failing when authorized_keys is empty. This is
happening because of the loop.
for the item where the authorized_keys is not defined, I'm seeing the below
output.
"skip_reason": "Conditional result was False",
"skipped": true
When authorized_keys is defined.I'm seeing the stat variable in output
"stat":
"exists": false
Please provide any suggestions to fix this.
Thank you
--
You received this message because you are subscribed to the Google Groups
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/ansible-project/c6fc00c8-6f23-434d-8620-9ce281ca9440%40googlegroups.com.