While I’ve been switching from Ansible to Nix lately, I still use Ansible and have written a fair share of Ansible YAML. A common trick I’ve used is to only run a specific Ansible role instead of the whole playbook. That can be achieved by using tags, but usually I haven’t tagged everything before I have the need.
I have this short playbook stored in the project root next to the roles/
directory:
# vim: set ft=yaml:
# usage: ansible-playbook -l test -e role=debian runrole.yaml
---
- hosts: all
remote_user: "{{remote_user|default('root')}}"
roles:
- '{{role}}'
Does what it promises and also runs role dependencies.