Suppose you want to exclude a troublesome host (bad_host) from a particular playbook run. Try using a negated ‘limit’ option:
$ ansible-playbook --limit 'all:!bad_host' playbook.yml
By using –limit argument with ansible-playbook command we can exclude a host from playbook execution. If hostname starts with “!” it will excluded from host execution.
Lets say if we want to exclude host1 and host2 from ansible-playbook execution use following command:
$ ansible-playbook --limit '!hoost1:!host2' yourPlaybook.yml
To exclude only host1 from execution use following command:
$ ansible-playbook --limit '!hoost1' yourPlaybook.yml
To execute only in host1 and host2 from execution use following command:
$ ansible-playbook --limit 'hoost1:host2' yourPlaybook.yml
To execute only in host1 use following command:
$ ansible-playbook --limit 'hoost1' yourPlaybook.yml
To exclude host1 and host2 from execution and allow execution only in host3:
$ ansible-playbook --limit '!hoost1:!host2:host3' yourPlaybook.yml
Reference
https://s905060.gitbooks.io/site-reliability-engineer-handbook/ansible__exclude_host_from_playbook_execution.html#
- Installing Jupyter: Get up and running on your computer - November 2, 2024
- An Introduction of SymOps by SymOps.com - October 30, 2024
- Introduction to System Operations (SymOps) - October 30, 2024