Replying on phone so will keep it short.
Use ignore errors to allow the stop service team to fail without stopping
the play
On 19 May 2015 07:53, <[email protected]> wrote:
> I have an Ansible playbook for deploying a Java app as an init.d daemon.
>
> Being a beginner in both Ansible and Linux I'm having trouble to
> conditionally execute tasks on a host based on the host's status.
>
> Namely I have some hosts having the service already present and running
> where I want to stop it before doing anything else. And then there might be
> new hosts, which don't have the service yet. So I can't simply use service:
> name={{service_name}} state=stopped, because this will fail on new hosts.
>
> How I can I achieve this? Here's what I have so far:
>
> - name: Check if Service Exists
> shell: "if chkconfig --list | grep -q my_service; then echo true;
> else echo false; fi;"
> register: service_exists
>
> # This should only execute on hosts where the service is present
> - name: Stop Service
> service: name={{service_name}} state=stopped
> when: service_exists
> register: service_stopped
>
> # This too
> - name: Remove Old App Folder
> command: rm -rf {{app_target_folder}}
> when: service_exists
>
> # This should be executed on all hosts, but only after the service has
> stopped, if it was present
> - name: Unpack App Archive
> unarchive: src=../target/{{app_tar_name}} dest=/opt
>
> --
> 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/4bbba63e-050c-4a5b-9758-a4f23389cd2f%40googlegroups.com
> <https://groups.google.com/d/msgid/ansible-project/4bbba63e-050c-4a5b-9758-a4f23389cd2f%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>
--
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/CA%2BemtqvtH513_XQBFWRK9tndPMLsDs50Luq7amN5QG1uCMHqzA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.