We have a situation where we invoke Ansible Playbook command from Bamboo Deployment and on rare occasions, it just waits on one of the steps in the playbook, forever. Since the Deployment never fails or succeed, we don't get notifications. Things get queued for that Deployment environment we don't notice until there's some error or failure in Production.
It seems there's a timeout available for Build jobs that are based on the history of how long it takes to complete the plan. Is there something similar available for Deployment Environments? How can I potentially solve this problem?
I'll make some assumptions here:
You are running the build in a Unix-like remote agent
You are running the Ansible Playbook command from a script task.
Possible solution
Example
timeout -k 30 <TIME> <ANSIBLE_COMMAND>
In case of timeout, the command above will send to Ansible the SIGTERM and if the command stays running for 60s more, then it will send the SIGKILL.
I hope this helps.
We have added ansible-playbook as a capability and calling it has a command instead of a script. Is there a solution for that? Since we might have to make changes in many different jobs?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
yes, you can use the Build monitoring feature, but that will consider the whole build time and will not work on local agents.
If you use remote agents that should work fine. =]
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.