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#
I’m a DevOps/SRE/DevSecOps/Cloud Expert passionate about sharing knowledge and experiences. I am working at Cotocus. I blog tech insights at DevOps School, travel stories at Holiday Landmark, stock market tips at Stocks Mantra, health and fitness guidance at My Medic Plus, product reviews at I reviewed , and SEO strategies at Wizbrand.
Please find my social handles as below;
Rajesh Kumar Personal Website
Rajesh Kumar at YOUTUBE
Rajesh Kumar at INSTAGRAM
Rajesh Kumar at X
Rajesh Kumar at FACEBOOK
Rajesh Kumar at LINKEDIN
Rajesh Kumar at PINTEREST
Rajesh Kumar at QUORA
Rajesh Kumar at WIZBRAND