ARA Records Ansible (ARA)

raw JSON →
1.7.5 verified Fri May 01 auth: no python

ARA (Ansible Records Ansible) is a callback plugin and web UI for recording and browsing Ansible playbook runs. It captures detailed data about tasks, plays, and hosts. The current version is 1.7.5. Release is on-demand, typically monthly.

pip install ara
error ModuleNotFoundError: No module named 'ara'
cause ARA is not installed or not in the Python path used by Ansible.
fix
Install ara in the same Python environment as Ansible: pip install ara ansible.
error ERROR! Unable to load callback plugin 'ara', it is not a valid plugin.
cause The ANSIBLE_CALLBACK_PLUGINS environment variable points to an incorrect path.
fix
Run export ANSIBLE_CALLBACK_PLUGINS="$(python -m ara.setup.callback_plugins)" and verify the path exists.
error sqlite3.OperationalError: database is locked
cause Multiple concurrent writes to the default SQLite database.
fix
Switch to PostgreSQL or MySQL, or set ARA_DATABASE_FILE to a unique file per process.
error Command 'ara' is not installed
cause The deprecated `ara` CLI is not installed; only `ara-manage` is available.
fix
Use ara-manage instead of ara. Run ara-manage --help for available commands.
breaking ARA 1.6+ dropped support for Python 2.7 and Ansible <2.9. Upgrade to Python 3.8+ and Ansible 2.9+.
fix Use Python >=3.8 and Ansible >=2.9.
gotcha ARA uses a SQLite database by default. For production, configure a different database (e.g., MySQL or PostgreSQL) to avoid corruption.
fix Set environment variable ARA_DATABASE_ENGINE and ARA_DATABASE_* accordingly.
deprecated The `ara` CLI command is deprecated. Use `ara-manage` instead.
fix Replace `ara generate` with `ara-manage generate`; check help: `ara-manage --help`.
gotcha If you run multiple Ansible playbooks concurrently with the default SQLite database, you may get `database is locked` errors.
fix Switch to a server-based database (PostgreSQL/MySQL) or serialize playbook runs.
pip install ara[server]

Install, configure callback plugins, run a playbook, and generate a static HTML report.

# Install ara
pip install ara ansible

# Set the callback plugin path
export ANSIBLE_CALLBACK_PLUGINS="$(python -m ara.setup.callback_plugins)"

# Run a playbook (results are recorded automatically)
ansible-playbook -i inventory playbook.yml

# Generate an HTML report
ara-manage generate /tmp/ara-report