In the last 6 months I’ve been diving into Ansible as a part of my daily work. I have to support RedHat (and CentOS) along with Ubuntu in a variety of versions. Coming from a puppet background I was surprised that there was no package management abstraction in Ansible, but after coming across various roles on GitHub and Ansible Galaxy I quickly realised that it’s not necessary.
Here I will describe a multi-os Ansible pattern. It’s all about including the right set of variables.
In this example I’ll be creating a ‘ntp’ role to simply install and configure ntp.