This is needed to cope Ansible 2.3 doing weird stuff as usual. It serves
up __init__.py for ansible and ansible.module_utils as hard-coded
namespace packages, the real ansible/__init__.py on disk is not 2.4
compatible.
Making CallError inherit from object broke 'raise CallError()'.
Instead use pure-Python pickler on 2.4 (grmbl) and force it to emit
new-style-alike output for what is otherwise a classic class.
Remove needless complexity from _unpickle_call_error() that only worked
for new-style classes.
* origin/dmw:
issue #404: add to Changelog.
issue #251: readd to Changelog.
tests: add exact test for issue 251; closes#251.
issue #412: pad out debugging docs, add get_stack to changelog.
issue #412: force-verbose output for mitogen_get_stack.
issue #412: promote "mitogen_get_stack" to the main extension.
issue #412: add docstrings/boilerplate to transport_config.py.
issue #251, #412, #434: fix connection configuration brainwrong
issue #434: tests: set a default remote_user in ansible.cfg.
tests: CI should symlink all contents of ansible/hosts/
ansible: fix test failure during process exit.
tests: use assert_equal in more places.
tests: make assert_equal work on newer Ansibles.
tests: convert stack_construction.yml to assert_equal.
tests: make fork_histogram optional
tests: use assert_equal in delegate_to_template.yml.
tests: import assert_equal action.
tests: rename 'delegation/' to 'connection_delegation/'
core: replace ancient YOLO loop in fire().
tests: some more utility function tests + flake8.
tests: clean up / deduplicate Ansible inventory.
tests: add some more helper function tests.
This refactors connection.py to pull the two huge dict-building
functions out into new transport_transport_config.PlayContextSpec and
MitogenViaSpec classes, leaving a lot more room to breath in both files
to figure out exactly how connection configuration should work.
The changes made in 1f21a30 / 3d58832 are updated or completely removed,
the original change was misguided, in a bid to fix connection delegation
taking variables from the wrong place when delegate_to was active.
The Python path no longer defaults to '/usr/bin/python', this does not
appear to be Ansible's normal behaviour. This has changed several times,
so it may have to change again, and it may cause breakage after release.
Connection delegation respects the c.DEFAULT_REMOTE_USER whereas the
previous version simply tried to fetch whatever was in the
'ansible_user' hostvar. Many more connection delegation variables closer
match vanilla's handling, but this still requires more work. Some of the
variables need access to the command line, and upstream are in the
process of changing all that stuff around.