Deploy HA cluster for AWX-RPM
This playbook is intended to configure a full stack of:
- 1 or more external database server with PostgreSQL 10 (cluster configuration not implemented yet)
- 2 or more (3 as recommended minimum) AWX worker nodes in clustered configuration
RHEL7 / CentOS7 system administrators with knowledge of Ansible.
An inventory file must be used with the following structure:
[db]
db_server_hostname
[nodes]
awx_worker_node_#1_hostname
awx_worker_node_#2_hostname
awx_worker_node_#3_hostname
All variables are configurable at the group_vars level:
- db:
- default_db_disk_mount: mount point of the disk used for storing PostgreSQL data
- db_disk_src: device used for the disk mounted for storing PostgreSQL data
- db_disk_fs_type: filesystem used for the disk mounted for storing PostgreSQL data
- nodes
- awx_repo: name of the Satellite repository which contains AWX-RPM binaries
- awx_dependencies_repo: name of the Satellite repository which contains dependencies used by AWX-RPM binaries
- rabbitmq_repo: name of the Satellite repository which contains RabbitMQ binaries
- erlang_repo: name of the Satellite repository which contains Erlang binaries used by RabbitMQ
- epel_repo: name of the Satellite repository for EPEL
- Ansible 2.7 installed on 1 server as minimum configuration
- Passwordless SSH authentication for 1 user on all nodes
$ ansible-playbook -i inventory deploy_awx-rpm.yml
- Idempotence not fully working
- Re-running the playbook can throw errors (most related to django)
Any help is welcome ! Main milestones are:
- Adaptating for use without Satellite repositories
- Supporting CentOS7 x86_64 (only tested on RHEL7 x86_64 now)
- Improving idempotence
Feel free to submit pull requests on dev branch and your ideas to improve this work.
All issues can be submitted in the appropriate section. I will provide my help as best effort to anyone, so if you want to help me, you're welcome !