Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ARA Ansible for the teams

ARA Ansible for the teams

Most useful development tool for Ansible content that is rarely used is even better for the teams

ARA (ARA Records Ansible) is an Ansible development tool that makes it much easier to understand, troubleshoot and debug Ansible content during development process. This tool can also help you to collaborate with your team members on Ansible content development.

This talk will cover the following topics:

- What is ARA and how it works
- How to set up ARA in your environment
- How to use ARA to understand, troubleshoot and debug Ansible content
- How to use ARA to collaborate with your team members on Ansible content development
- How to integrate ARA into your CI/CD pipeline
- How to use ARA to track changes in your Ansible content

This talk is designed for Ansible content developers of all levels. Whether you are a seasoned expert or just starting with Ansible,

Kirill Satarin

February 04, 2025
Tweet

More Decks by Kirill Satarin

Other Decks in Programming

Transcript

  1. “Most useful development tool for Ansible content that is rarely

    used is even better for the teams” © 2025 by Kirill Satarin is licensed under CC BY-SA 4.0 ARA Ansible for the teams Kirill Satarin Principal Software Engineer, Red Hat* Config Management Camp, Ghent, Belgium, 3-4-5 February 2025 *presenting personal opinion
  2. “Most useful development tool for Ansible content that is rarely

    used is even better for the teams” © 2025 by Kirill Satarin is licensed under CC BY-SA 4.0 Who this talk is for? You know what Ansible is You use Ansible You create Ansible content - collections, roles, plugins, modules You would like to know what ARA Ansible is and how to use it personally and with your colleagues 2
  3. “Most useful development tool for Ansible content that is rarely

    used is even better for the teams” © 2025 by Kirill Satarin is licensed under CC BY-SA 4.0 What is ARA Ansible? https://ara.recordsansible.org/ ARA = ARA Records Ansible ARA is a tool that Records Ansible playbook executions and makes it easier to understand and troubleshoot Ansible content All in user friendly Web interface 3
  4. “Most useful development tool for Ansible content that is rarely

    used is even better for the teams” © 2025 by Kirill Satarin is licensed under CC BY-SA 4.0 Why ARA Ansible? You do not need to look at ill formatted console output You do not need to have debug tasks in your Ansible playbooks, roles and task files Everything is persisted, easily searchable and shareable. 4
  5. “Most useful development tool for Ansible content that is rarely

    used is even better for the teams” © 2025 by Kirill Satarin is licensed under CC BY-SA 4.0 % mkdir -p ~/.ara/server % podman run --name ara --detach --tty \ --volume ~/.ara/server:/opt/ara -p 8000:8000 \ docker.io/recordsansible/ara-api:latest Google “ara ansible docker” How can you benefit from ARA Ansible right now? Install ARA as container 5
  6. “Most useful development tool for Ansible content that is rarely

    used is even better for the teams” © 2025 by Kirill Satarin is licensed under CC BY-SA 4.0 How can you benefit from ARA Ansible right now? Use ARA from any playbook % python3 -m pip install --user ara add to .bashrc, .zshrc, etc and dot forget to source export ANSIBLE_CALLBACK_PLUGINS="$(python3 -m ara.setup.callback_plugins)" export ARA_API_CLIENT="http" export ARA_API_SERVER="http://localhost:8000" % ansible-playbook playbook.yml 6
  7. “Most useful development tool for Ansible content that is rarely

    used is even better for the teams” © 2025 by Kirill Satarin is licensed under CC BY-SA 4.0 ARA in Action: Playbooks 7
  8. “Most useful development tool for Ansible content that is rarely

    used is even better for the teams” © 2025 by Kirill Satarin is licensed under CC BY-SA 4.0 ARA in Action: Playbooks filter 8
  9. “Most useful development tool for Ansible content that is rarely

    used is even better for the teams” © 2025 by Kirill Satarin is licensed under CC BY-SA 4.0 ARA in Action: Hosts 9
  10. “Most useful development tool for Ansible content that is rarely

    used is even better for the teams” © 2025 by Kirill Satarin is licensed under CC BY-SA 4.0 ARA in Action: Hosts Filter 10
  11. “Most useful development tool for Ansible content that is rarely

    used is even better for the teams” © 2025 by Kirill Satarin is licensed under CC BY-SA 4.0 ARA in Action: Tasks 11
  12. “Most useful development tool for Ansible content that is rarely

    used is even better for the teams” © 2025 by Kirill Satarin is licensed under CC BY-SA 4.0 ARA in Action: Tasks Filter 12
  13. “Most useful development tool for Ansible content that is rarely

    used is even better for the teams” © 2025 by Kirill Satarin is licensed under CC BY-SA 4.0 ARA persists following data (summary) All playbooks executed, in reverse chronological order filtered by: Path, ansible version, controller hostname,executed user, playbook name, label All hosts with number of tasks - successful, changed, failed, skipped. Filtered by: hostname, playbook name and path All executed tasks filtered by name, action, path, line, playbook name and path. 13
  14. “Most useful development tool for Ansible content that is rarely

    used is even better for the teams” © 2025 by Kirill Satarin is licensed under CC BY-SA 4.0 ARA how to use what is stored Forward all playbook executions to ARA - you never know when you will need it, and you do not need any debug tasks anymore. Compare with any playbook execution from the past - something broke - you will know what changed Each and every execution has unique URL - share it in your issues, PRs, slack, documentation. How to do that? Install ARA “globally”! 14
  15. “Most useful development tool for Ansible content that is rarely

    used is even better for the teams” © 2025 by Kirill Satarin is licensed under CC BY-SA 4.0 Install ARA “globally” - Use whatever way you prefer, example here is for Azure Azure APP service WEB App container WEB API container Azure Managed service Login and password authentication Corporate authentication 15
  16. “Most useful development tool for Ansible content that is rarely

    used is even better for the teams” © 2025 by Kirill Satarin is licensed under CC BY-SA 4.0 Install ARA “globally” - Use whatever way you prefer, example here is for Azure Azure APP service WEB App container WEB API container Azure Managed service Login and password authentication Corporate authentication 16
  17. “Most useful development tool for Ansible content that is rarely

    used is even better for the teams” © 2025 by Kirill Satarin is licensed under CC BY-SA 4.0 ARA for the teams - monthly cost example (Azure) Database This is the smallest PostgreSQL database - plenty for ARA: 32GB storage, lowest performance tier (120 iops) Backup policy - 7 days in the past - daily. 17
  18. “Most useful development tool for Ansible content that is rarely

    used is even better for the teams” © 2025 by Kirill Satarin is licensed under CC BY-SA 4.0 ARA for the teams - monthly cost example (Azure) Application Both containers use shared 1 vCPU and 4 GB RAM Memory utilization 60% - stable CPU utilization 10 % with peaks to 50% 18
  19. “Most useful development tool for Ansible content that is rarely

    used is even better for the teams” © 2025 by Kirill Satarin is licensed under CC BY-SA 4.0 ARA for the teams - CONS Additional time for http requests to ARA server - make sure it is it the right region / location If you have playbooks with many tasks expect longer execution time Cost - someone will have to pay for the server (we pay < 100 EUR / month) 19
  20. “Most useful development tool for Ansible content that is rarely

    used is even better for the teams” © 2025 by Kirill Satarin is licensed under CC BY-SA 4.0 ARA for the teams - summary ARA is a tool that every Ansible practitioner should use Use ARA locally - only two steps - takes less than 5 minutes* *depends on your internet connection Use ARA “globally” to achieve more with your team and colleagues - some planning and effort is required, cost is negligible 20