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, [email protected] 
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 [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/b662b375-3856-4da9-8af4-c449285db436%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to