I'd suggest not using the `shell:` module, instead use the `systemd:` module.
Then setup the `when:` clause with a third that only executes this play on OS versions that have `systemctl` (e.g. RHEL 7+, etc). You run a play right before it that registers the full path of `systemctl` found on the system (maybe use `shell: which systemctl`). Something like this: - name: manage services using systemctl tags: manage services using systemctl systemd: name: {{servicesList}} state: {{actionTodo}} with_items: - "{{servicesList}}" when: - ansible_os_family == "RedHat" and ansible_lsb.major_release|int >= 7 - actionTodo != "" - servicesList != "" ignore_errors: true register: p2 On Friday, November 16, 2018 at 8:06:40 AM UTC-6, moisset...@gmail.com wrote: > > i'm trying this in a playbook: > > .. > vars: > actionTodo: "{{ variable_actionTodo }}" > servicesList: "{{ variable_servicesList }}" > actionTodo_list: [start,stop,rstart,rstop,status,rstatus] > .. > > - name: manage services using systemctl > tags: manage services using systemctl > shell: systemctl {{actionTodo}} {{servicesList}} > with_items: > - "{{servicesList}}" > when: actionTodo != "" and servicesList != "" > ignore_errors: true > register: p2 > > > - debug: > var: p2 > > i'd like to compare: > - actionTo value with value from actionTo_list > - and avoid printing "command not found" node without systemctl > > > -- 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 ansible-project+unsubscr...@googlegroups.com. To post to this group, send email to ansible-project@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/b662b375-3856-4da9-8af4-c449285db436%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.