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 Common errors
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. Warnings
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.
Install
pip install ara[server] Imports
- ara wrong
import aracorrectfrom ara import setup_callback_plugins - ARA_ANSIBLE_CALLBACK_PLUGINS wrong
import ara; ara.setup_callback_plugins()correctexport ANSIBLE_CALLBACK_PLUGINS="$(python -m ara.setup.callback_plugins)"
Quickstart
# 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