Skip to content
This repository has been archived by the owner on Feb 28, 2020. It is now read-only.

Eimert/ansible-role-awx

 
 

Repository files navigation

Ansible Role: AWX (open source Ansible Tower)

Build Status

Installs and configures AWX, the open source version of Ansible Tower.

Requirements

Before this role runs, assuming you want the role to completely set up AWX using it's included installer, you need to make sure the following AWX dependencies are installed:
see requirements.yml.

Role Variables

See defaults/main.yml.

# choose the inventory file to use. AWX default == inventory
inventory_file: inventory

Variable to control if awx will be installed immediately:

awx_run_install_playbook: yes

By default, this role will run the installation playbook included with AWX (which builds a set of containers and runs them). You can disable the playbook run by setting this variable to no.

Under files/ inventory files can be stored, that will be copied to the AWX host. Those files can be used to set custom PostgreSQL DB connection details. Like:

secret_key: awxsecret
pg_hostname: postgresql
pg_password: awxpass
pg_database: awx
pg_port: 5432
default_admin_user: admin
default_admin_password: password

Dependencies

Depends on the roles defined in requirements.yml.

Compatibility

See meta/main.yml or 'OS Platforms' on Ansible Galaxy.

Example Playbook and Inventory file

See playbook: awx.yml. The example-inventory configures an external PostgreSQL db connection:

pg_hostname=ec2-79-125-112-209.eu-west-1.compute.amazonaws.com
pg_username=user123
pg_password=password321
pg_database=awx-dev-db
pg_port=5432

After AWX is installed, you can log in with the default username admin and password password.

Troubleshooting

The default inventory files under files/ will enventually run out of sync with the AWX project inventory file.
diff one inventory file with the latest default inventory file. Or rule out by using the AWX default inventory file downloaded at playbook run time:

# choose the inventory file to use. AWX default == inventory
inventory_file: inventory

Development setup

Fork or git clone git@github.com:Eimert/ansible-role-awx.git.

ansible-playbook -u eimertvink -i "ansible-dev.eimertvink.nl," ./awx.yml --start-at-task="Clone AWX into configured directory."

License

MIT / BSD

Author Information

This role was created in 2017 by Jeff Geerling, author of Ansible for DevOps.
2018: Eimert implemented customizable inventory/ files for more advanced installations, like an external PostgreSQL database connection.