Add Windows-Control Node support

Hi All,

Love the idea of ansible, but why can’t we support Windows 7/10 Control Nodes?
What’s the point of using python in non portable way?

I can simply do Putty into linux client, Windows can also be ansible receivable.
So there is no technical reason.

I managed to simply install all it’s requirements.txt. Which weren’t many.

First failure is that there are >255 character lengths in install path, which is easy to fix:
‘C:\Users\me75467\AppData\Local\Temp\pip-install-qewllma2\ansible_d7ca3162bd034b6ebf06e7728a0f3e08\ansible_collections/amazon/aws/tests/unit/plugins/modules/placebo_recordings/cloudformation/client_request_token_s3_stack/cloudformation.DescribeStackEvents_1.json’

Cheers,
Arpad

Getting it to install is the least of your problems http://blog.rolpdog.com/2020/03/why-no-ansible-controller-for-windows.html

Simply call os.system('python3 client_worker.py playbook.yml IP_addr')
to do the isolation.

This would give freedom for admin to manually start one deployment,
most of us only manage one target at a time.

If you want to wait for results:
https://stackoverflow.com/questions/34572341/how-to-spawn-another-process-and-capture-output-in-python

or via subprocesses: https://docs.python.org/3/library/subprocess.html

Sounds like plug in developers misusing python.
And portability needs to be forced for new ones.

Arpad

It’s definitely not so simple, there are numerous complexities around the worker model used in Ansible and it is heavily reliant on fork() to provide some features that improve the performance. The use of fork() wasn’t chosen to annoy Windows users by not being supported there but how the worker process model was designed originally. As mentioned in the blog even if we removed the use of fork (not trivial at all) there are numerous other problems when it comes to running Ansible on Windows as a control host (all explained in the blog).

The other reason why this has become less of a problem today is the introduction of WSL on Windows. This gives Windows developers a pretty easy to use setup for running Ansible on Windows without having to completely rewrite the internals of Ansible. While it’s not native it is good enough and solves a lot of the other problems with trying to run on a non-POSIX host by being a POSIX host itself. Windows 7 users are out of luck, there’s nothing I can really say there except move to a newer OS, Windows 7 is EOL and you cannot keep expecting people to support stuff that is EOL.