Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

There's a role for that! (AnsibleFest 2019)

134 views

Published on

How to evaluate community roles for your playbooks.

These slides are from a presentation I gave at AnsibleFest Atlanta 2019, detailing my process for evaluating roles from Ansible Galaxy for use in my Ansible automation.

Published in: Software
  • Be the first to comment

There's a role for that! (AnsibleFest 2019)

  1. 1. There's a role for that! How to evaluate community roles for your playbooks Jeff Geerling (geerlingguy)
  2. 2. Jeff Geerling (geerlingguy) • Author of Ansible for DevOps • Maintainer of 99 Galaxy roles and collections • "An inflammatory enigma"
  3. 3. Managing Risk in

  4. 4. Managing Risk in

 Dependency Hell
  5. 5. Source: https://xkcd.com/1987/
  6. 6. The following packages have unmet dependencies: postgresql-9.3 : Depends: postgresql-client-9.3 but it is not going to be installed Depends: postgresql-common (>= 142~) but it is not going to be installed E: Unable to correct problems, you have held broken packages.
  7. 7. Source: https://theoatmeal.com/comics/trust
  8. 8. Source: https://everydayconcepts.io/ikea-effect/
  9. 9. Ansible Galaxy
  10. 10. (just kidding!)
  11. 11. Ansible Galaxy - Choosing a Role 1. What do I need? 2. How do I find it? 3. How do I narrow down search results? 4. How do I select the role I am going to use?
  12. 12. Real-world example:
 Zabbix
  13. 13. ansible-galaxy find-best-role zabbix
  14. 14. ansible-galaxy find-best-role zabbix (that's not an actual command, sorry)
  15. 15. Final Step: Code Review and Test • Make sure role does what I expect • Make sure role is logical and maintainable • Is it how I would write it? Does it make sense? • Test playbook in local VM or container
  16. 16. Avoiding
 Bad Judgement
  17. 17. Final Step: Code Review and Test • Make sure role does what I expect • Make sure role is logical and maintainable • Is it how I would write it? Does it make sense? • Test playbook in local VM or container
  18. 18. Final Step: Code Review and Test • Make sure role does what I expect • Make sure role is logical and maintainable • Is it how I would write it? Does it make sense? • Test playbook in local VM or container Code ReviewpreventsBad Judgement!
  19. 19. Ansible Galaxy
 Collections
  20. 20. Ansible Collections • Opportunities and challenges • Discoverability: Plugins and modules don't affect quality score • Maintenance: Who maintains community content? • Trust: Source repository/reproducible build?
  21. 21. In conclusion...

×