Hi all,
I’m trying to automate standing up a JBoss instance and keep running into periodic timeouts from the ansible service module. I’ve seen a lot of information around what to do if you’re running into this as part of a tasklist (“use wait_for”), but the problem I’m having doesn’t really apply to that; I’m calling a jboss restart through notify, and at the end of my play it’s restarting the service and timing out waiting for JBoss to respond with “OK”.
It’s definitely got to do with the amount of time Ansible is waiting for a response, because it’s an intermittent issue and about 2/3rds of the time it restarts fine. However, in that 1/3rd of failures any handlers that are scheduled to run AFTER the JBoss one will be skipped, and the tasks which notified them haven’t changed so they aren’t renotified on successive plays, and I’m forced to manually go run the task via SSH.
Since I can’t use “wait_for” in a handler (and besides, the timeout is occurring within the service module itself, not errors caused in steps later on), is there any way to increase the timeout of a task using the service module? This is a JBoss instance with nothing on it at the moment and can take upwards of 20 seconds to respond; A fully-loaded JBoss instance in my OLTP stack can sometimes take 70 seconds just to start, let alone the time it takes to complete current transactions and transfer queued ones to other nodes whenever it’s stopped.
And hey if I were automating management of my Atlassian services, those take 3 - 5 minutes for their Tomcat to start!
I’d really like to not be forced to use “ignore_errors: yes” for this, since it gives false-positives for monitoring ansible performance later on.
Thanks,
-Nick F.