# Does ansible-pull also provide the level of orchestration like the "ansible" push model?

**URL:** <https://forum.ansible.com/t/does-ansible-pull-also-provide-the-level-of-orchestration-like-the-ansible-push-model/17777>\
**Category:** Ansible Project\
**Created:** [March 18, 2015, 8:40pm UTC](https://forum.ansible.com/t/does-ansible-pull-also-provide-the-level-of-orchestration-like-the-ansible-push-model/17777 "2015-03-18T20:40:43Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Xicheng\_Chang](https://avatars.discourse-cdn.com/v4/letter/x/a587f6/32.png) [@Xicheng\_Chang](https://forum.ansible.com/u/Xicheng_Chang)\
**Post date:** [March 18, 2015, 8:40pm UTC](https://forum.ansible.com/t/does-ansible-pull-also-provide-the-level-of-orchestration-like-the-ansible-push-model/17777/1 "2015-03-18T20:40:43Z")

</div>

Hi,

I am wondering if “ansible-pull” also provides the orchestration like what ansible does in push model.  
For example I have a site.yml that dictates all DB nodes have to be provisioned first, then web nodes can be provisioned. If I run ansible from the central machine, this order can be guaranteed.  
But for ansible-pull, does such kind of mechanism exist?

Thanks,  
Xicheng

---

<div class="post-metadata">

**Author:** ![Brian\_Coca](https://avatars.discourse-cdn.com/v4/letter/b/6de8d8/32.png) [@Brian\_Coca](https://forum.ansible.com/u/Brian_Coca)\
**Post date:** [March 18, 2015, 8:48pm UTC](https://forum.ansible.com/t/does-ansible-pull-also-provide-the-level-of-orchestration-like-the-ansible-push-model/17777/2 "2015-03-18T20:48:51Z")

</div>

you can setup your web playbooks to check if the db hosts have been  
provisioned first and fail if they have not.

---

<div class="post-metadata">

**Author:** ![Xicheng\_Chang](https://avatars.discourse-cdn.com/v4/letter/x/a587f6/32.png) [@Xicheng\_Chang](https://forum.ansible.com/u/Xicheng_Chang)\
**Post date:** [March 18, 2015, 8:59pm UTC](https://forum.ansible.com/t/does-ansible-pull-also-provide-the-level-of-orchestration-like-the-ansible-push-model/17777/3 "2015-03-18T20:59:32Z")

</div>

Thanks for the reply, I think that definitely works. But if I have to write the check-db-nodes code in web playbooks, I am not using the orchestration mechanism provided by ansible. This would probably make ansible no different from chef or puppet.

---

<div class="post-metadata">

**Author:** ![Brian\_Coca](https://avatars.discourse-cdn.com/v4/letter/b/6de8d8/32.png) [@Brian\_Coca](https://forum.ansible.com/u/Brian_Coca)\
**Post date:** [March 18, 2015, 9:02pm UTC](https://forum.ansible.com/t/does-ansible-pull-also-provide-the-level-of-orchestration-like-the-ansible-push-model/17777/4 "2015-03-18T21:02:38Z")

</div>

In pull mode, no, if you want something different you would need a  
system that supports callback, like tower ([http://ansible.com/tower](http://ansible.com/tower)).

---

<div class="post-metadata">

**Author:** ![Xicheng\_Chang](https://avatars.discourse-cdn.com/v4/letter/x/a587f6/32.png) [@Xicheng\_Chang](https://forum.ansible.com/u/Xicheng_Chang)\
**Post date:** [March 18, 2015, 11:04pm UTC](https://forum.ansible.com/t/does-ansible-pull-also-provide-the-level-of-orchestration-like-the-ansible-push-model/17777/5 "2015-03-18T23:04:18Z")

</div>

Thanks Brian. Looks like push would be a better answer if orchestration is needed. I am trying to integrate ansible with cobbler without 2nd touch(trigger ansible-playbook on the central machine when os installation completes). I also would like to use the orchestration mechanism provided by ansible. What I have in mind right now is to write a playbook that holds ansible from running on host until its port 22 is up, which means cobbler has done its job on this particular host. if, in this case, a web host(from my original question) gets installed first and the port 22 is up, will ansible ignore it until all db hosts get installed?

---

<div class="post-metadata">

**Author:** ![Brian\_Coca](https://avatars.discourse-cdn.com/v4/letter/b/6de8d8/32.png) [@Brian\_Coca](https://forum.ansible.com/u/Brian_Coca)\
**Post date:** [March 19, 2015, 12:31am UTC](https://forum.ansible.com/t/does-ansible-pull-also-provide-the-level-of-orchestration-like-the-ansible-push-model/17777/6 "2015-03-19T00:31:34Z")

</div>

There are several ways to do it, I think the easiest is to run a  
playbook with at least 2 plays, the first against the db hosts, the  
second against the web hosts, since the 2nd won't start until the  
first one is done, you should have what you want.
