How to run ansible playbook on a single or multiple selected host(s) ?
Lets see how to run a playbook on a single selected host or multiple selected hosts.
We can either make groups in hosts file or mention the host name using “-l” option with ansible-playbook command.
1. Running an ansible playbook on a single host
$ ansible-playbook playbooks/thirdplay.yml -l r005-host1.ngelinux.com
PLAY [Copying test.html file] ******************************************************************************************************************************************************************
TASK [copy] ************************************************************************************************************************************************************************************
ok: [r005-host1.ngelinux.com]
PLAY [Verify Copied File] **********************************************************************************************************************************************************************
TASK [shell] ***********************************************************************************************************************************************************************************
changed: [r005-host1.ngelinux.com]
TASK [debug] ***********************************************************************************************************************************************************************************
ok: [r005-host1.ngelinux.com] => {
"msg": "total 8\n-rw-r--r-- 1 c5014038 aplstaff 20 Dec 3 05:12 test.html\n-rw-r--r-- 1 root root 25 Oct 5 06:16 test.txt"
}
PLAY RECAP *************************************************************************************************************************************************************************************
r005-host1.ngelinux.com : ok=3 changed=1 unreachable=0 failed=0
$
2. Run playbook on more than one host.
$ ansible-playbook playbooks/thirdplay.yml -l 'r005-host1.ngelinux.com,r168-host1.ngelinux.com'
PLAY [Copying test.html file] ******************************************************************************************************************************************************************
TASK [copy] ************************************************************************************************************************************************************************************
ok: [r168-host1.ngelinux.com]
ok: [r005-host1.ngelinux.com]
PLAY [Verify Copied File] **********************************************************************************************************************************************************************
TASK [shell] ***********************************************************************************************************************************************************************************
changed: [r168-host1.ngelinux.com]
changed: [r005-host1.ngelinux.com]
TASK [debug] ***********************************************************************************************************************************************************************************
ok: [r005-host1.ngelinux.com] => {
"msg": "total 8\n-rw-r--r-- 1 c5014038 aplstaff 20 Dec 3 05:12 test.html\n-rw-r--r-- 1 root root 25 Oct 5 06:16 test.txt"
}
ok: [r168-host1.ngelinux.com] => {
"msg": "total 4\n-rw-r--r-- 1 c5014038 aplstaff 20 Dec 3 05:12 test.html"
}
PLAY RECAP *************************************************************************************************************************************************************************************
r005-host1.ngelinux.com : ok=3 changed=1 unreachable=0 failed=0
r168-host1.ngelinux.com : ok=3 changed=1 unreachable=0 failed=0
$
