David Wilson
016d47aa91
Log and track PIDs everywhere for Ansible.
7 years ago
David Wilson
b63af1de85
ansible: implement _transfer_data for <2.4 template action
7 years ago
David Wilson
7ab1af043e
ansible: redirect logging into display 'framework'. closes #111
7 years ago
David Wilson
b527628b17
issue #109 : do exactly what Ansible does
...
Could it be that some empty dict magically gets populated from somewhere
invisible?
7 years ago
David Wilson
485e489aa2
ansible: correct sys.path fixup.
7 years ago
David Wilson
3ddbf1a503
ansible: basic support for ssh_args
7 years ago
David Wilson
da00437f1e
ansible: Support ansible_ssh_private_key_file
7 years ago
David Wilson
a87b665099
ansible: limited support for become_flags, more docs.
7 years ago
David Wilson
e0382ab2db
ansible: teach ActionModule to disappear for non-Mitogen Connections
...
Closes #103 .
7 years ago
David Wilson
bde6f888a0
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().
7 years ago
David Wilson
734fb75203
ansible: mixins.py docstrings.
7 years ago
David Wilson
7080751f13
ansible: support environment: too.
7 years ago
David Wilson
7cf2edc3a8
ansible: Support many more common playbook variables.
7 years ago
David Wilson
eca7805cba
ansible: one more cast() call.
...
Need a more general solution to littering the code with this crap.
7 years ago
David Wilson
3183dd4147
ansible: initial support for async jobs
...
Running in a thread to begin with, but this must change.
7 years ago
David Wilson
f6d87faf37
tests: import ansible_helpers_test.
7 years ago
David Wilson
207159cf1a
ansible: fix bug in apply_mode_spec().
7 years ago
David Wilson
ff617824a1
ansible: fix some flake8 errors
...
* Unused imports
* Undefined names in helpers.py
* Copyright header wrapping
7 years ago
David Wilson
76e739a0ba
ansible: inverted sense of execute paramter
7 years ago
David Wilson
1b090a6c0a
ansible: fix become:true with sudo:true
7 years ago
David Wilson
83f2862431
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.
7 years ago
David Wilson
f3315fc172
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.
7 years ago
David Wilson
cccfebec74
ansible: correct temp file cleanup for template action.
7 years ago
David Wilson
5dc2cc0726
ansible: don't enable_debug_logging() for sudo
7 years ago
David Wilson
b221eaaa10
ansible: log call timings
7 years ago
David Wilson
1e9fd63343
ansible: Ansible 2.4 compatibility.
7 years ago
David Wilson
03221ee9ab
ansible: gracefully shut down the service thread at exit.
7 years ago
David Wilson
91116810a1
ansible: delete utils.py and promote cast() to mitogen.utils
7 years ago
David Wilson
a075cc0242
ansible: document Strategy's implementation
7 years ago
David Wilson
18eaf14dca
ansible: migrate logging variables into utils.
7 years ago
David Wilson
5d8cb0f5fb
ansible: document the connection class.
7 years ago
David Wilson
b7f563a6f0
ansible: remove old action subdirectory.
7 years ago
David Wilson
5f45c2d49a
ansible: clean up, structure and document strategy module.
7 years ago
David Wilson
84e9d42e71
ansible: handle local connections and synchronize module too.
7 years ago
David Wilson
74468abf0a
ansible: fix syntax error
7 years ago
David Wilson
6e7bb4fd13
ansible: support local connections too
7 years ago
David Wilson
57894b18e0
ansible: support class_only=True in wrapped loader
7 years ago
David Wilson
54a3777ff3
ansible: blacklist everything except our own namespaces
...
Farewell, pointless roundtrips, we hardly knew ye.
7 years ago
David Wilson
331f77ee2b
ansible: generalized action module wrapping.
7 years ago
David Wilson
d13ab9a022
ansible: remove hard-wired UNIX socket path.
7 years ago
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.
7 years ago
David Wilson
6059e0c1db
ansible: support become:True and become_user
7 years ago
David Wilson
ed09076bdd
ansible: automatically configure connection plug-in.
7 years ago
David Wilson
a35fcf44cc
ansible: restructure to avoid intermediate imports
7 years ago