Run Playbooks for each hosts

45 views
Skip to first unread message

blue fox

unread,
Nov 25, 2020, 7:24:52 PM11/25/20
to Ansible Project
Hello;

How to run 3 playbooks for each server alone:

Example:

[webservers]
10.10.10.10
20.20.20.20

Run les 3 playbook for 10.10.10.10, after run it for 20.20.20.20

Thank you

Dick Visser

unread,
Nov 25, 2020, 10:29:56 PM11/25/20
to ansible...@googlegroups.com
Use serial=1


--
You received this message because you are subscribed to the Google Groups "Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ansible-proje...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/f0609b04-3912-4c32-81d2-22ea4d1e01c2n%40googlegroups.com.
--
Sent from a mobile device - please excuse the brevity, spelling and punctuation.

blue fox

unread,
Nov 26, 2020, 2:46:43 AM11/26/20
to Ansible Project
Yes ,  i looked that, but i need to run playbook for one host after run another playbook after return for running the playbook1 for  the second host.
Example:

Playbook1 for 10.10.10.10
Playbook2 for another host
playbook1 for 20.20.20.20
playbook2 for another host and continue executing another playbook

Thank you 

Pravin V

unread,
Nov 26, 2020, 4:08:22 AM11/26/20
to ansible...@googlegroups.com
Hello,
If you want to configure playbooks in easy way without using serial, you can write like this way too.
---
- name: playbook 1 for host 1
  hosts: 10.0.10.100
  tasks:
  - name: install app

---
- name: playbook 1 for host 2
  hosts: 10.0.10.200
  tasks:
  - name: install app

---
- name: playbook 2 for host 1
  hosts: 10.0.10.100
  tasks:
  - name: install app

---
- name: playbook 2 for host 2
  hosts: 10.0.10.100
  tasks:
  - name: install app

blue fox

unread,
Nov 26, 2020, 7:38:37 AM11/26/20
to Ansible Project
no, i don't need like that , i need something like this:


---
- name: playbook 1 for host 1
  hosts: 10.0.10.100
  tasks:
  - name: install app

---
- name: playbook 2 for host 1
  hosts: 10.0.10.100
  tasks:
  - name: install app

---
- name: playbook 1 for host 2
  hosts: 10.0.10.200
  tasks:
  - name: install app

---
- name: playbook 2 for host 2
  hosts: 10.0.10.200
  tasks:
  - name: install app

Pravin V

unread,
Nov 26, 2020, 7:46:14 AM11/26/20
to Ansible Project
Did you try using loop like this -
hosts.yml
---
hosts:
- 10.0.10.100
- 10.0.20.200

In playbook
- name: CONFIGURATION LOOP - 1 
  include_tasks: loop.yml
  loop: "{{ hosts }}"

- name: CONFIGURATION LOOP - 2 
  include_tasks: loop.yml
  loop: "{{ hosts }}"

  

blue fox

unread,
Nov 26, 2020, 7:58:25 AM11/26/20
to Ansible Project
your loop example = your last easy way example
each play run for 2 hosts , and me i need each 2 playbook run in one host each time

Example
host1____
playbook1
Playbook2
-----------------
host2____
Playbook1
Playbook2

Pravin V

unread,
Nov 26, 2020, 8:04:06 AM11/26/20
to ansible...@googlegroups.com
---
- hosts: 10.0.10.100
  tasks:
  - include_tasks: playbook1.yml
  - include_tasks: playbook2.yml  

---
- hosts: 10.0.20.200
  tasks:
  - include_tasks: playbook1.yml
  - include_tasks: playbook2.yml  


or you can write this way too directly in main playbook..
---
- hosts: 10.0.10.100
  tasks:
  - name: playbook 1
    yum : 
  - name: playbook 2
    service : 

---
- hosts: 10.0.20.200
  tasks:
  - name: playbook 1
    yum : 
  - name: playbook 2
    service : 

blue fox

unread,
Nov 26, 2020, 8:08:44 AM11/26/20
to Ansible Project
sorry , i don't explain my issue exactly

this is a real example

playbook1 -- host1
playbook2-- another host
return
playbook1-- host2
playbook2 -- another host

--------------
thank you

prajwal

unread,
Nov 26, 2020, 8:48:30 AM11/26/20
to ansible...@googlegroups.com
You can write python code to execute playbooks in that use python module ansible_runner

Thanks&regards
Prajwal 




blue fox

unread,
Nov 26, 2020, 11:56:48 AM11/26/20
to Ansible Project
You have any example please ?
Thank you

Reply all
Reply to author
Forward
0 new messages