Commit Graph

356 Commits

Author SHA1 Message Date
David Wilson 331f77ee2b ansible: generalized action module wrapping. 2018-03-19 21:58:29 +05:45
David Wilson d13ab9a022 ansible: remove hard-wired UNIX socket path. 2018-03-19 21:58:29 +05:45
David Wilson e6a107c5aa core: replace Queue with Latch
On Python 2.x, operations on pthread objects with a timeout set actually
cause internal polling. When polling fails to yield a positive result,
it quickly backs off to a 50ms loop, which results in a huge amount of
latency throughout.

Instead, give up using Queue.Queue.get(timeout=...) and replace it with
the UNIX self-pipe trick. Knocks another 45% off my.yml in the Ansible
examples directory against a local VM.

This has the potential to burn a *lot* of file descriptors, but hell,
it's not the 1940s any more, RAM is all but infinite. I can live with
that.

This gets things down to around 75ms per playbook step, still hunting
for additional sources of latency.
2018-03-19 21:58:29 +05:45
David Wilson 6059e0c1db ansible: support become:True and become_user 2018-03-19 21:58:29 +05:45
David Wilson ed09076bdd ansible: automatically configure connection plug-in. 2018-03-19 21:58:29 +05:45
David Wilson a35fcf44cc ansible: restructure to avoid intermediate imports 2018-03-19 21:58:29 +05:45