Hi guys,

I'm trying to create a lab file to restart a service only if it's running.
I have troubles when using variables, register and loop together.


- name: Restart a service only if it's active.
  hosts: LAB
  vars:
    sysservices:
      - serviceName: httpd
      - serviceName: smb
  tasks:
    - name: Checking if service is running
      command: /usr/bin/systemctl is-active "{{ item.serviceName }}"
      register: _result
      ignore_errors: yes
      loop: "{{ sysservices }}"
    - name: Restarting services services
      service:
        name: "{{ item.serviceName }}"
        state: restarted
      when: item.rc == 0  * ## *I tried: item.rc == 0 ,  item.stdout ==
"active",  _result.rc == 0,  _result.stdout == "active".  All of
them didn't work
      loop: "{{ sysservices }}"
   # - debug:
   #     msg: "Valor de result {{ _result }}"


################

fatal: [ansible1]: FAILED! => {"msg": "The conditional check '_result.rc ==
0' failed. The error was: error while evaluating conditional (_result.rc ==
0): 'dict object' has no attribute 'rc'\n\nThe error appears to be in
'/home/ansible/deploy/conditionals_restart_service_NOT_WORKING': line 14,
column 7, but may\nbe elsewhere in the file depending on the exact syntax
problem.\n\nThe offending line appears to be:\n\n      loop: \"{{
sysservices }}\"\n    - name: Restarting services services\n      ^ here\n"}



Could you please help me ?

Many 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 view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/CAHQ8MH4cDMcCPH6pfQCGOOF_DdC35iLdDT%3D_KDF0mjfH0a6%3DeQ%40mail.gmail.com.

Reply via email to