Mitogen is a distributed programming library for Python. The Mitogen Extension for Ansible is a set of plug-ins for Ansible that enable it to operate via Mitogen, vastly improving Ansible's performance and enhancing its functional capability.
This project is to take the already-proven prototype and use it to deliver a thoroughly tested extension, with optional goals extending the baseline to significantly enhance Ansible's functionality. If the funding target is met, a first release is guaranteed for April. Help me make your life better, and prepare to enjoy Spring 2018 with a lot more free time.
Please read the associated blog post for the complete story.
Initial goal: 3 weeks (£7,800)
- Multi-threaded connection establishment
- Bulletproof and latency-free module importer
- Unit and integration tests
- Determine final list of supported Ansible releases and set up CI for each
- Security audit, including potential removal of cPickle
Stretch goal: 1 month (£12,000)
- Connection delegation
- Removal of remaining documented limitations except Windows
- su become method support
Stretch goal: 2 months (£24,000) — Deploy to Windows as easily as UNIX
- Windows connection support via WinRM
- Testing under Ansible's own integration tests
- Enhanced synchronize module to reuse Ansible's connections
- Flow control support for the fakessh component
- Faster message routing to support high throughput synchronize
Stretch goal: 3 months (£36,000) — Synchronize huge trees to thousand-node clusters in seconds from a laptop 3G connection.
- Topology-aware file distribution: sync files to thousands of nodes faster than rsync
- Asynchronous connect: connect to thousands of nodes in seconds
- Topology-aware Git pull
- Connection persistence: speed up re-runs during development and CI
- Generalized TCP/UNIX socket forwarding
- Reuse topology-aware file distribution to improve support for non-Python modules
Stretch goal: 4 months (£48,000) – Inversion of Control: when Ansible really means faster-than-light. Deploy to data centres on the other side of the world as quickly as to a local VM.
Stretch goal: 5 months (£56,000) — Mystery surprise: addition of a major new Ansible feature that will blow your mind and change your life.
Risks and challenges
All timings have buffering built-in to account for unexpected developments, most of which are expected in the form of user-generated bug reports. Unclaimed reward quantities will be reduced as necessary to prevent overcommitment.
The single biggest risk is inversion of control, which entails significant design work and deeply interacting with the guts of Ansible, its execution model and internal assumptions. That is why a full month has been allocated to it alone.Learn about accountability on Kickstarter
- (16 days)