# High availability AWX

**URL:** <https://forum.ansible.com/t/high-availability-awx/4251>\
**Category:** Get Help\
**Tags:** kubernetes, awx, collections\
**Created:** [March 7, 2024, 10:08am UTC](https://forum.ansible.com/t/high-availability-awx/4251 "2024-03-07T10:08:31Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![iamroddo](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/iamroddo/32/321_2.png) [@iamroddo](https://forum.ansible.com/u/iamroddo)\
**Post date:** [March 7, 2024, 10:08am UTC](https://forum.ansible.com/t/high-availability-awx/4251/1 "2024-03-07T10:08:31Z")

</div>

I’m aware that the AWX can be made redundant within its hosting  
cluster, in that the cluster can contain nodes in different  
availability zones. However a Kubernetes cluster, at least looking at  
how they can be deployed on a cloud service, can only be in a single  
region. This means that when there is a regional outage which affects  
all availability zones, AWX deployed in a cluster in that region is  
down.

Is there a mechanism to have AWX controllers, deployed in diverse  
clusters in diverse regions, to synchronise, in such a way one can  
take over from the other? Or would this mean deploying each AWX  
controller independently and deploying the DB using HA, or if on a  
public cloud to use the DB SQL service?

As a follow up question, is it possible to set up 2 AWX controllers to  
each use the same DB? Would one controller need to be kept in cold  
standby?

---

<div class="post-metadata">

**Author:** ![Denney-tech](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/denney-tech/32/1556_2.png) [@Denney-tech](https://forum.ansible.com/u/Denney-tech)\
**Post date:** [March 7, 2024, 2:39pm UTC](https://forum.ansible.com/t/high-availability-awx/4251/2 "2024-03-07T14:39:22Z")

</div>

I think you would need to have a highly available external postgresql cluster that is available to and in all regions first. Then you could deploy AWX to each region with identical postgresql configs and secret keys using that external postgresql cluster. Each region would have its own AWX Operator, and scale independently from each other, but you could have 2 control planes for each region and they would _probably_ be aware of each other thanks to the shared database.

That being said, I’m pretty sure there’s way more to it than that, and probably wouldn’t work well if at all.

---

<div class="post-metadata">

**Author:** ![gundalow](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/gundalow/32/99_2.png) [@gundalow](https://forum.ansible.com/u/gundalow)\
**Post date:** [March 13, 2024, 6:57pm UTC](https://forum.ansible.com/t/high-availability-awx/4251/3 "2024-03-13T18:57:57Z")

</div>

@iamroddo This isn’t something that we have in AWX, though if you pay for [AAP](https://www.redhat.com/en/technologies/management/ansible) then you can also get a get a contract with someone like [Crunchy Postgres with High Availability on Ansible Automation Platform | Crunchy Data](https://www.crunchydata.com/solutions/ansible)

---

<div class="post-metadata">

**Author:** ![Georg\_Schulz](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/georg_schulz/32/7320_2.png) [@Georg\_Schulz](https://forum.ansible.com/u/Georg_Schulz)\
**Post date:** [June 4, 2025, 9:04am UTC](https://forum.ansible.com/t/high-availability-awx/4251/4 "2025-06-04T09:04:30Z")

</div>

Is this still not possible in AWX and only in AAP?

---

<div class="post-metadata">

**Author:** ![sclerc](https://avatars.discourse-cdn.com/v4/letter/s/e495f1/32.png) [@sclerc](https://forum.ansible.com/u/sclerc)\
**Post date:** [June 4, 2025, 1:00pm UTC](https://forum.ansible.com/t/high-availability-awx/4251/5 "2025-06-04T13:00:28Z")

</div>

Hi every body,

I use Ansible with AWX. I have a problem with playbook ansible. On of task reboot server linux (redhat) start with error : fatal: [ZHLC00TP]: FAILED! =\> {“changed”: false, “elapsed”: 661, “msg”: “Timed out waiting for last boot time check (timeout=600)”, “rebooted”: true}

The code is :

- name: Reboot machine  
ansible.builtin.reboot:  
msg: “Rebooting machine in 5 seconds”  
post\_reboot\_delay : 120  
reboot\_timeout : 900  
ignore\_errors: true  
become : true

Can someone help me to find a issue about this problem ?
