Maintaining over 40 Ansible modules: 4 years later
2020-02-03, 14:00–14:50, B.1.017

The Foreman community maintains a collection of over 40 Ansible modules for interaction with the Foreman API and the various plugin APIs. This all started with two modules in ansible/ansible in 2016 and escalated from there.

Today we want to share the lessons learned from these three years of module development and maintenance.
Including:

  • efficient abstraction -- all modules talk to the same base API, receive the same credentials and execute similar actions, let's abstract that away!
  • good tests -- nobody wants to break stuff, but you have to assert that.
  • migrating to new API libraries -- should be fairly easy with an abstraction layer, right?
  • onboarding new contributors -- (un)surprisingly the hardest part after you've built something for your own needs.

We also want to talk about what's next: How we can further improve and ease the interaction? Which challenges we see in the future?