class: center, middle, inverse
# Troubleshoot Ansible with an ARA over your shoulder ## Haïkel Guémar - @hguemar --- class: middle ## whoami .right-column[
] .left-column[ * CentOS Cloud SIG contributor * Senior Software Engineer @ Red Hat * distributed-ci.io ] --- class: middle ## Ansible * Radically simple IT automation platform * No agent * Ad-hoc mode * Yaml playbooks --- class: middle ## Ansible 101 concepts - Readable - Self-documenting - Orchestration - Facts - Roles for composability - Handlers - Plugins/Modules --- class: middle ## Difficult to troubleshoot
--- class: middle ## ARA Records Ansible * an Ansible callback plugin that store logs into queryable database * a command-line interface to query that database * a web interface tp display Ansible output in a clear way * an Ansible module to add more data * a REST API since ARA 1.0
* ![ARA Manifesto](https://ara.readthedocs.io/en/stable/manifesto.html) --- class: middle ## Initial use case * Initially developped for RDO logs analysis nightmare * Quickly adopted by OpenStack * Integrates with Zuul CD platform --- class: middle ## ARA 101 ```sh # From PyPI $ pip install --pre ara # Configure Ansible to use it $ export ANSIBLE_CALLBACK_PLUGINS=$(python -m ara.setup.callback_plugins) # No need to change your playbook! $ ansible-playbook playbook.yml # Launch web server to display output $ ara-manage runserver # Open your browser! $ xdg-open http://127.0.0.1:9191 ``` --- class: middle ## Community * GitHub: https://github.com/ansiblecommunity/ara * IRC: #ara sur freenode * Slack: ARecordsAnsible.slack.com * Twitter: @ARecordsAnsible --- class: middle ## Thanks Thanks to David Moreau Simard for creating ARA and helping me to prepare this presentation.