Hello,

I'm having trouble to figure out the best way to use handler with listed 
variables. My setup is as follow:

*vars:*
  omd_sites:
    - prod
    - stg
    - dev3

*tasks:*
  - name: Template groups.mk
    template:
      src: groups.mk.j2
      dest: "/opt/omd/sites/{{ item }}/etc/check_mk/conf.d/groups.mk"
      owner: "{{ item }}"
      group: "{{ item }}
    with_items: "{{ omd_sites }}"
    notify: cmk reload

*handlers:*
 * # option1*
  - name: cmk reload
    command: su -c "cmk -O" -l "{{omd_sites}}"
*Error: *
FAILED! => {"changed": true, "cmd": ["su", "-c", "cmk -O", "-l", "[u'prod', 
u'stg', u'dev3']"], "delta": "0:00:00.002481", "end": "2017-07-05 
13:11:30.514962", "failed": true, "rc": 1, "start": "2017-07-05 
13:11:30.512481", "stderr": "su: user [u'prod', u'stg', u'dev3'] does not 
exist", "stderr_lines": ["su: user [u'prod', u'stg', u'dev3'] does not 
exist"], "stdout": "", "stdout_lines": []}

  *# option2*
  - name: cmk reload
    command: su -c "cmk -O" -l "{{omd_sites}}"

*Error:*
FAILED! => {"changed": true, "cmd": ["su", "-c", "cmk -O", "-l", "[uprod,", 
"ustg,", "udev3]"], "delta": "0:00:00.002500", "end": "2017-07-05 
13:20:09.621223", "failed": true, "rc": 1, "start": "2017-07-05 
13:20:09.618723", "stderr": "su: user [uprod, does not exist", 
"stderr_lines": ["su: user [uprod, does not exist"], "stdout": "", 
"stdout_lines": []}

  *# option3*
  - name: cmk reload
    command: "cmk -O" 
    become_user: "{{omd_sites}}"  
    become_method: su  
    become: true

*Error:*
FAILED! => {"changed": false, "failed": true, "module_stderr": "Shared 
connection to hmlb1mon07 closed.\r\n", "module_stdout": "su: user [uprod, 
does not exist\r\n", "msg": "MODULE FAILURE", "rc": 1}


How can I run handler only for {{ omd_sites }} item that changed and this 
has to be done by the {{ omd_sites }} user (account name the same as {{ 
omd_sites }} item)

Regards

Raf

-- 
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/03329b35-14fc-496d-b48e-fbf6e0eefb9b%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to