Skip to main content

winsible is an experimental wrapper for ansible-playbook that enhances its multiprocessing and connection persistence, for platforms where OpenSSH can’t transparently do its own connection pooling (such as EL5 and Cygwin).

And unlike Ansible’s own accelerate or fireball modes, it doesn’t require installing anything on the target computers: you just install it on the machine where you run your playbooks, and use winsible-playbook instead of ansible-playbook.

Installation and Use

Install winsible with pip install winsible or easy_install winsible. If you don’t have these commands on your system, try installing your platform’s python-setuptools package. (Also, if you’re not on Cygwin, you’ll need to be root or use sudo, or install them to a virtualenv.)

If you have a current version of gevent on your system (1.0.1 or better), winsible can use it to eliminate forking altogether and run plays against all hosts with a single process. But this is a relatively small performance boost compared to connection pooling (and is somewhat experimental), so it’s optional and has to be explicitly activated. If you want to try it, you can install gevent with sudo pip install "gevent>=1.0.1" or sudo easy_install "gevent>=1.0.1". (Then enable it with ANSIBLE_PROCESS_MODE=gevent in the environment or process_mode=gevent in your ansible.cfg’s [defaults] section.)

Last, but not least, make sure you’ve got an ssh command: if you’re on Cygwin, install the openssh package, or on Linux distros it might be in an openssh-clients package.

Once you have these things installed, you’re ready to use winsible-playbook in place of ansible-playbook, to enjoy faster playbook runs. (A winsible script is also included, for completeness, but it doesn’t provide much in the way of acceleration. It does, however, tweak ansible’s defaults so that the ssh transport will work correctly on Cygwin.)

Note: At the moment, this project as a whole is still pretty alpha. (Especially the gevent mode.) In general, winsible has not been run on a very wide variety of hosts, modules, or plugins, so experience reports are welcome. If something breaks, or if it doesn’t improve performance in your use case, please file an issue on the github page with some details so I can have a look at it. Thanks!

For more information on how this works and how to configure it, check out the docs at https://github.com/pjeby/winsible/#how-it-works

Release files for winsible 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for winsible 0.1.0
File Size Uploaded
winsible-0.1.0.tar.gz 1.0 MB Details

Release files / winsible-0.1.0.tar.gz

Download URL winsible-0.1.0.tar.gz
Size 1.0 MB
Tags Source
SHA-256 checksum
How to use checksums
53899498c7ad3a853b5b439e54547cd143156a8ee0631369230bc796f9803484
BLAKE2b-256 checksum
How to use checksums
4b21392016f88e2473386c44291bbf477ff9d9f3f6cfb5631c50662d2316f479
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.1.0 This release

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page