Bootstrapping an ansible orchestration node

I am trying to set up a development environment that starts with Eclipse on Windows to build multi-tier enterprise integration platform applications. A developer will use vagrant to create a multi-VM ‘fabric’, and I was hoping to use Ansible to orchestrate these VMs into the required multi-tier platform, of load balancers, web servers, application servers, and database servers. Problem of course is that Ansible doesn’t run on top of Windows.

One idea is to use vagrant to set up an ansible_head node that is there solely to run an ansible playbook to orchestrate the rest of the VMs that vagrant sets up.

Is that the right way to go about this problem?

You could bring Jenkins into the mix to do the actual kickoffs, and just have the developer do the editing with Eclipse which gets checked into a git repo. The Jenkins job could then be setup to run whenever there’s a new commit to that repo, and would run ansible from there.

If the VMs themselves aren’t windows, you can run ansible using cygwin, almost everything works once you install python (+modules) and ssh.

Brian Coca

I honestly like the idea of having a consistent management node, running Ansible.

It’s likely you could also use this to be your Jenkins machine as well as James suggested earlier.

cygwin is ok, but it’s a bit of a mess, and it is likely to cause problems later when you want Ansible to use certain modules locally later. (Which is why we don’t support it officially as a control machine).

Being able to manage Windows nodes is likely coming in the next few releases.