Ansible Tag Usage/Management

Hi

I’m reasonably new to Ansible (about 6 months usage) and have just started looking into how I could best make use of the tagging functionality. At the moment I usually only add tags when I need to run something as a one-off, so create a throwaway tag called ‘foo’, run the playbook and then remove the tag.

When I first looked into tags I was expecting to be able to do it by role, but as tagging is only by task it seems to me at the moment I’d have to add lots of tags (as I have lots of tasks) - and was worried about this becoming a complete mess.

Is anyone able to share/link any tips or tricks for how they use tags, or strategies for how they can best be managed and maintained.

Thanks!

You can add a tag to a whole role like this:

`

  • hosts: servers
    roles:
  • { role: ‘common’, tags: ‘common’ }
  • { role: ‘nginx’, tags: ‘nginx’ }
  • { role: ‘php-fpm’, tags: ‘php-fpm’ }

`

Also, if you want to assign a specific tag in the role itself (as opposed to assigning it in every playbook using this role) - you can do it with include. Just move all the tasks from role’s main.yml to a separate file and put include with tag in main.yml instead, like this:

`

  • include: role_tasks.yml tags=sometag

`