Hello all,

I'm completely new to ansible here, so I apologize for any terminology 
mistakes.  I'm running ansible 1.5 on CentOS 6.  In setting up a playbook, 
I've come across an issue with how notify acts.  Below are some snippets:

<from main.yml for the role in question>

- name: deploy nslcd.conf file
  copy: src=etc/nslcd.conf dest=/etc/nslcd.conf owner=root group=root 
mode=0600
  notify:
    - restart nslcd
    - refresh authconfig for nslcd


<from main.yml under handlers>

- name: restart nslcd
  service: name=nslcd state=restarted

- name: refresh authconfig for nslcd
  command: /usr/sbin/authconfig --enableldap --update


When I run this against a system that's already been configured, everything 
seems fine.  When I delete the file and kill the process on one of the 
systems, however, I get the following.  1) The nslcd.conf file is copied 
only to the system where it is missing, as expected.  2) restart nslcd runs 
on both systems, even though it was only changed on one of them.  3) 
refresh authconfig for nslcd runs on both systems, again even though it was 
only needed on one system.

As far as I can tell, whenever a handler is called it acts against all of 
the hosts, not just those that were affected by the parent task.  Is this 
simply how this works?  Or am I missing something?

Thanks.

-- 
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].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to