Add Windows-Control Node support

34 views
Skip to first unread message

Arpad Toth

unread,
Jan 24, 2022, 4:42:31 PM1/24/22
to Ansible Project
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

Matt Martz

unread,
Jan 24, 2022, 4:45:12 PM1/24/22
to ansible...@googlegroups.com
Getting it to install is the least of your problems http://blog.rolpdog.com/2020/03/why-no-ansible-controller-for-windows.html

--
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/9444f54f-32ef-418b-be61-de7fce3b1b90n%40googlegroups.com.


--
Matt Martz
@sivel
sivel.net

Arpad Toth

unread,
Jan 25, 2022, 9:37:38 AM1/25/22
to ansible...@googlegroups.com
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

--
Köszönettel,
Tóth Árpád

jbor...@gmail.com

unread,
Jan 26, 2022, 3:38:03 PM1/26/22
to Ansible Project
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.
Reply all
Reply to author
Forward
0 new messages