On 29.09.2016 08:50, Rafał Radecki wrote:
I am currently trying to find a way to set a variable/fact on all hosts
in
case a directory for a service will already exist on one of the play's
hosts. Basically:
# check if dir exists on all hosts and set service_home_dir_status on
every
host
- name: check if service home dir already exists
stat:
path: "{{ service_home_dir }}"
register: service_home_dir_status
# fail if the above dir already exists
- name: fail if service home dir already exists
fail:
msg: "Home directory for service {{ service_home_dir }} already
exists.
Please check the situation!"
when: service_home_dir_status.stat.isdir is defined and
service_home_dir_status.stat.isdir
The problem with above code is that if for example I have a group of
hosts:
host1, host2, host3 and on host1 the directory already exists the
second
step will only fail on host1 and succeed on host2 and host3.
Is there a way to maybe set a fact for all hosts in between these tasks
if
the directory already exists on one of them?
To me it sound like you are trying to abort the play if one host fails,
if so you could use "any_errors_fatal: true" in the playbook.
https://docs.ansible.com/ansible/playbooks_error_handling.html#aborting-the-play
--
Kai Stian Olstad
--
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 post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/ansible-project/985090eb5b5eba6b262048812fd4bafe%40olstad.com.
For more options, visit https://groups.google.com/d/optout.