David Wilson
b3be182795
ssh: fix 2/3 regression.
6 years ago
David Wilson
294f17e491
core: fix econtext on_start parameter, used by fork_test.
6 years ago
David Wilson
cc4835ce99
docs: update changelog.
6 years ago
David Wilson
f0f828033f
docs: update changelog.
6 years ago
David Wilson
ae446ad7c8
docs: fix changelog
6 years ago
David Wilson
c9596568be
docs: update changelog.
6 years ago
David Wilson
49736b3ae8
ansible: fix FileService call, and remove another roundtrip.
6 years ago
David Wilson
24a44499ca
tests: verify Connection.put_file() for small/large files.
6 years ago
David Wilson
863c1b7597
parent: correct CallSpec name formatting for class methods.
6 years ago
David Wilson
52a121d4aa
Merge remote-tracking branch 'origin/dmw'
6 years ago
David Wilson
2c0244eea7
docs: more tweaks
6 years ago
David Wilson
c8081e7ca1
docs: typo
6 years ago
David Wilson
e241081cae
ansible: stop sharing target temp_dir in runner.
...
This cannot work with delegate_to, since delegate_to permits multiple
concurrent tasks to be executing on the same target.
6 years ago
David Wilson
42d3f96d14
parent: do updates
6 years ago
David Wilson
43d9815f6d
ansible: use CallChain everywhere.
...
This replaces the 'dump to logger' behaviour of pipelined calls from
before with a call chain that returns any exception on next synchronized
call.
6 years ago
David Wilson
020482e554
dosc: update changelog
6 years ago
David Wilson
4d3873c784
core: call chains v3: abstract it into a new CallChain class.
6 years ago
David Wilson
b254eb3399
ansible: fix non-action connection instantiation.
...
e.g. by synchronize module.
6 years ago
David Wilson
705d77a9be
ansible: remove a bunch more aliasing from connection.py.
6 years ago
David Wilson
1bf9b2c1a3
docs: update changelog.
6 years ago
David Wilson
66142e7d75
ansible: fork isolated tasks from correct parent.
...
Closes #355 .
6 years ago
David Wilson
a52f66328b
parent: test fixes.
6 years ago
David Wilson
da8c6b45b0
ansible: remove task_vars aliasing from connection.py.
...
Crazy spam creep.
6 years ago
David Wilson
aa9400a3b9
docs: fix changelog
6 years ago
David Wilson
a3957d6aaf
parent: add Context.forget_chain().
6 years ago
David Wilson
37223adacd
core: fix Dispatcher race introduced in 3a7815e5ca6255272334415916b6289378173859
...
It must be constructed before are messages pumped.
6 years ago
David Wilson
1247d1fce6
docs: update changelog.
6 years ago
David Wilson
42b1b3d286
core: support mitogen_chain dispatcher option.
6 years ago
David Wilson
92c092d27b
core: split Dispatcher out into own class.
6 years ago
David Wilson
32751cd356
master: allow batching context switches for forward_modules()
...
-7 switches per task.
6 years ago
David Wilson
86942b6bf9
ansible: add explanatory exception
...
If disconnection occurs during a Connection.call(), return
AnsibleConnectionFailure.
6 years ago
David Wilson
ba0b3af205
core: remove accidentally checked in debug crap ( #337 )
6 years ago
David Wilson
3c6b72b452
ansible: gracefully return (and explain) ChannelError in ContextService.
...
When Ansible abnormally shuts down, the broker begins
force-disconnecting every context, including those for which connection
is currently in-progress.
When that happens, .call(init_child) throws ChannelError, and that needs
returned back to the worker, assuming the worker still even exists.
This solution is incomplete: with sick nodes, it's also possible the
worker died naturally, and so the worker should perhaps respond by
retrying the connection.
Previously, the unhandled ChannelError would spam the console when e.g.
fork() began returning EAGAIN.
6 years ago
David Wilson
e5d421e5f4
Update k3 inventory.
6 years ago
David Wilson
426cffd9f5
tests: set no_target_syslog
6 years ago
David Wilson
07845d2f59
docs: update changelog.
6 years ago
David Wilson
e647adc62e
ansible: copy GIL change from linear2 branch.
...
Reduces runtime by 25% given 100 25ms SSH targets:
ANSIBLE_STRATEGY=mitogen \
MITOGEN_POOL_SIZE=100 \
/usr/bin/time -l ansible k3-x100 -m shell -a hostname
Before:
39.56 real 35.29 user 17.24 sys
59600896 maximum resident set size
1784252 page reclaims
9016 messages sent
10382 messages received
18774 voluntary context switches
770070 involuntary context switches
After:
29.79 real 22.10 user 11.77 sys
59281408 maximum resident set size
1725268 page reclaims
8582 messages sent
9959 messages received
14582 voluntary context switches
75280 involuntary context switches
6 years ago
David Wilson
57fb00cf6b
docs: update changelog.
6 years ago
David Wilson
c6159c9154
core: fix startup logging race. Closes #305 .
6 years ago
David Wilson
1b6dea24ba
docs: update changelog.
6 years ago
David Wilson
870bbe0eae
unix: don't crash listener if remote end disconnects.
...
In some scenarios, Ansible's worker seems to exit early, resulting in
EPIPE during .recv() or .send(). Log an error and gracefully disconnect
in that case.
6 years ago
David Wilson
6c8a667691
docs: update Changelog.
6 years ago
David Wilson
7d62a53264
issue #337 : ssh: disabling PTYs round 2: make it automatic.
6 years ago
David Wilson
5004207705
issue #337 : ssh: support disabling PTY allocation
...
`.ssh(batch_mode=True)`
6 years ago
David Wilson
c4c6ae88a4
parent: raise a descriptive error when openpty fails.
6 years ago
David Wilson
2647f73501
ansible: bump UNIX listener default backlog, and set it to match forks.
...
The connection multiplexer can expect to not be scheduled at least until
every $forks worker processes has attempted a connection, so the backlog
must be able to hold every worker.
6 years ago
David Wilson
acf7fe56ee
tests: a few more inventory helpers.
6 years ago
David Wilson
b0ffc4e209
Copy random test setup changes out of linear2 branch.
6 years ago
David Wilson
946c4964bb
issue #349 : master: fix broken importer logging format string
6 years ago
David Wilson
8ab11f415f
ansible: better support for diagnosing hangs
...
* Always enable the faulthandler module in the top-level process if it
is available.
* Make MITOGEN_DUMP_THREAD_STACKS interval configurable, to better
handle larger runs.
* Add docs subsection on diagnosing hangs.
Conflicts:
ansible_mitogen/process.py
6 years ago