Commit Graph

40 Commits (bcc61fa869a24b4db712eb92b7cd325af01bef3f)

Author SHA1 Message Date
David Wilson 49eef4c0ad ansible: correct sys.path fixup. 8 years ago
David Wilson a39ab8fa54 ansible: basic support for ssh_args 8 years ago
David Wilson 6bc0fd494a ansible: Support ansible_ssh_private_key_file 8 years ago
David Wilson 3beddf39be ansible: limited support for become_flags, more docs. 8 years ago
David Wilson 3a3356e52e ansible: teach ActionModule to disappear for non-Mitogen Connections
Closes #103.
8 years ago
David Wilson e77c8055fb ansible: restructure package to avoid yet more madness
Ansible's PluginLoader makes up bullshit when it imports a module
(mostly because it has to make up something), therefore we ended up with
duplicate copies of ansible_mitogen loaded: one under
ansible.plugins.*.mitogen, and one under the canonical namespace.

Which broke isinstance().
8 years ago
David Wilson 1e20887416 ansible: mixins.py docstrings. 8 years ago
David Wilson 950e9f3364 ansible: support environment: too. 8 years ago
David Wilson 7785aa4ff8 ansible: Support many more common playbook variables. 8 years ago
David Wilson b9433d9969 ansible: one more cast() call.
Need a more general solution to littering the code with this crap.
8 years ago
David Wilson d0b58d176b ansible: initial support for async jobs
Running in a thread to begin with, but this must change.
8 years ago
David Wilson 220a41a2b3 tests: import ansible_helpers_test. 8 years ago
David Wilson 4807abadc4 ansible: fix bug in apply_mode_spec(). 8 years ago
David Wilson 277b8e4172 ansible: fix some flake8 errors
* Unused imports
* Undefined names in helpers.py
* Copyright header wrapping
8 years ago
David Wilson f81fe7eb32 ansible: inverted sense of execute paramter 8 years ago
David Wilson 6442aa47d1 ansible: fix become:true with sudo:true 8 years ago
David Wilson f649318707 ansible: _remote_chmod() / _fixup_perms2() can be called sometimes.
It's used at least by the copy module, even though the result is still
mostly a no-op. _remote_chmod() doesn't accept octal mode, it accepts
symbolic mode. So implement a symbolic parser in helpers.py.
8 years ago
David Wilson 97ff132efd ansible: better emulate _low_level_execute_command()
Still needs a ton of work to emulate argument handling, shell selection,
and output emulation in every case. Unsurprisingly, Ansible documents
none of this.
8 years ago
David Wilson 102f5f9f33 ansible: correct temp file cleanup for template action. 8 years ago
David Wilson 2e3ca8dbfe ansible: don't enable_debug_logging() for sudo 8 years ago
David Wilson 9e70a32567 ansible: log call timings 8 years ago
David Wilson fa0eb21120 ansible: Ansible 2.4 compatibility. 8 years ago
David Wilson 6a7930ae48 ansible: gracefully shut down the service thread at exit. 8 years ago
David Wilson 87db049669 ansible: delete utils.py and promote cast() to mitogen.utils 8 years ago
David Wilson 9d15d1fce8 ansible: document Strategy's implementation 8 years ago
David Wilson 7c1cc064a4 ansible: migrate logging variables into utils. 8 years ago
David Wilson 038cd02136 ansible: document the connection class. 8 years ago
David Wilson 4bd40bd257 ansible: remove old action subdirectory. 8 years ago
David Wilson 41b27d969c ansible: clean up, structure and document strategy module. 8 years ago
David Wilson c175fbfaf7 ansible: handle local connections and synchronize module too. 8 years ago
David Wilson 7a56ea46ed ansible: fix syntax error 8 years ago
David Wilson 698996dc27 ansible: support local connections too 8 years ago
David Wilson 9219e9a125 ansible: support class_only=True in wrapped loader 8 years ago
David Wilson 5d9363be79 ansible: blacklist everything except our own namespaces
Farewell, pointless roundtrips, we hardly knew ye.
8 years ago
David Wilson d0fbcc0f48 ansible: generalized action module wrapping. 8 years ago
David Wilson 371a259a5e ansible: remove hard-wired UNIX socket path. 8 years ago
David Wilson 8121530144 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.
8 years ago
David Wilson d3e79fc240 ansible: support become:True and become_user 8 years ago
David Wilson 3a96389d08 ansible: automatically configure connection plug-in. 8 years ago
David Wilson 8598ff07b3 ansible: restructure to avoid intermediate imports 8 years ago