winsible - a faster Ansible (especially on Cygwin)
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
Metadata
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)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| winsible-0.1.0.tar.gz | 1.0 MB | Without provenance | Details for winsible-0.1.0.tar.gz |
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 |
Security for winsible 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.