Created
October 8, 2016 10:20
-
-
Save mikeifomin/67e233cd461331de16707ef59a07e372 to your computer and use it in GitHub Desktop.
Ansible wait_for http
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- name: wait_for http | |
command: "curl --silent {{ url }}" | |
register: result | |
until: result.stdout.find("200 OK") != -1 | |
retries: 60 | |
delay: 1 | |
changed_when: false |
The dependency on httplib2 was removed in Ansible 2.1
And it can be run as a local action on the ansible-host, instead of the target host.
(Unless your network setup forbids ansible to reach the target url)
- name: Wait for frontend at {{ somewhere }} to come up
local_action:
module: uri
url: "{{ somewhere }}"
status_code: 200
register: result
[...]
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Here is a variation of the above that works. Since this constantly returns a 200 it checks content instead. Similar to the above examples you can add
status_code: [200, 403]
if the health check returns a 200 or a 403 as passing and check that in theuntil
portion.