A colleague was asking me questions today about Ansible playbooks, roles, tasks etc and how they translated from Puppet nomenclature (he is coming to Ansible with Puppet experience - much the same as I did actually). He thought it would be handy to have a ’translation guide'.
So here we go, if you know Puppet but you’re moving to Ansible, here’s your quick guide to the differing phrases:
Puppet | Ansible | Comments |
---|---|---|
Module | Role | |
Class | Playbook | A ‘class’ can infer a host ’type’, like a webserver. Which you can model with a playbook in Ansible |
Manifest | Playbook | A manifest file in Puppet is just like a playbook file in Ansible |
Type | Module | |
Resource | Task | Where resources use a type, a task uses a module |
Facter | Setup module | Setup is used to gather facts; unless you specifically say gather_facts: False in a play, it will happen |
Hiera | Variables | Yes, you have full data structures just like Hiera. It’s worth looking at group_vars |
Puppetforge | Galaxy | |
Console | Tower |
The online documentation at docs.ansible.com is superb too. See my previous post on ‘Five tips for Ansible newbies’
Are there others I’ve forgotten? (It’s been way over a year now since I used Puppet!). Let me know in the comments.