Commit Graph

436 Commits (6ed731c08882a2aa687fd788fd3222f79fa6c15c)
 

Author SHA1 Message Date
David Wilson 6ed731c088 Minor cleanup. 6 years ago
David Wilson cf01c6b710 importer: avoid duplicate module load(!); closes #113.
Amazed this one managed to scrape through for so long. Calling
__import__ from within find_module() was causing the target module, in
this case cookielib, to be loaded *then overwritten* by a subsequent
duplicate load higher in the stack.

The result is that cookielib was loaded twice, and, per usual Python
import semantics, a reference to the partially initialized first
cookielib was installed in sys.modules while its code executed.

At the end of cookielib on 2.x, it imports _LWPCookieJar, which in turn
imports the partially built cookielib from sys.modules, then subclasses
the CookieJar from /that/ module.

Everything is wonderful. Then the call returns back up into the import
mechanism which restarts the entire process -- only this time,
_LWPCookieJar is /not/ reinitialized, so the copy in sys.modules is
still left with types pointing at the old module!

So the duplicate import creates a new CookieJar which is not the base
class of LWPCookieJar. Tada! 3 hours debugging.

This is probably a performance fix in disguise, didn't realize things
were so broken. It may also be a regression elsewhere. Urgently need to
finish the tests.
6 years ago
David Wilson 316eebbe29 examples: enable the strategy by default 6 years ago
David Wilson 7ab1af043e ansible: redirect logging into display 'framework'. closes #111 6 years ago
David Wilson 5b0b973dba importer: quieten one more warning 6 years ago
David Wilson 4f352d7d4b Pin Sphinx version 6 years ago
David Wilson 57b9d59e90 issue #113: import crash reproduction 6 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?
6 years ago
David Wilson 23d104f73b examples: beginnings of repro for issue #109 6 years ago
David Wilson 6ec349b386 importer: quieten 'cannot find source' warning, closes #110 6 years ago
David Wilson 53e51c4af8 docs: update Python 3 support to match reality. 6 years ago
David Wilson 0ef23d8644 parent: Add hack for OS X /usr/bin/python
It's a magical switcher that needs argv[0], which we don't provide.
6 years ago
David Wilson 88508fcb61 sudo: accept -n too (issue #108) 6 years ago
David Wilson 9cfcf79f43 sudo: accept but discard -S option. fixes #108 6 years ago
David Wilson ce9a1fef26 docs: fix float 6 years ago
David Wilson 23f78ca5a2 README: move testing bits into tests directory. 6 years ago
David Wilson 04bb5881b6 ansible: doc updates 6 years ago
David Wilson 95ea75907d ssh: Fix AttributeError. 6 years ago
David Wilson 9515291024 docs: small fix 6 years ago
David Wilson 485e489aa2 ansible: correct sys.path fixup. 6 years ago
David Wilson 3ddbf1a503 ansible: basic support for ssh_args 6 years ago
David Wilson 1b28252ad0 docs: get rid of "medium risk" category 6 years ago
David Wilson da00437f1e ansible: Support ansible_ssh_private_key_file 6 years ago
David Wilson a87b665099 ansible: limited support for become_flags, more docs. 6 years ago
David Wilson 235e1df987 sudo: support parsing sudo flags back out into parameters 6 years ago
David Wilson e48b6ca7f4 test.sh: make it work on OS X out of the box 6 years ago
David Wilson 1b2cbf1e00 examples: longer (but still crap) async_polling.yml 6 years ago
David Wilson e010e68874 examples: import broken non_python_modules.yml. 6 years ago
David Wilson cd53023768 docs: Fix install docs now Ansible package layout changed. 6 years ago
David Wilson e0382ab2db ansible: teach ActionModule to disappear for non-Mitogen Connections
Closes #103.
6 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().
6 years ago
David Wilson 734fb75203 ansible: mixins.py docstrings. 6 years ago
David Wilson 03e51fdaa7 docs: mitogen.core.Latch docs 6 years ago
David Wilson f5b5e4849e tests: import very basic latch_test 6 years ago
David Wilson d348a826ff master: tidy up trixxy importer syntax slightly 6 years ago
David Wilson 7080751f13 ansible: support environment: too. 6 years ago
David Wilson f74a56daf3 scirpts: drop old buggy DTrace script 6 years ago
David Wilson e84c33de59 Initial flake8 configuration. 6 years ago
David Wilson 712e5dfca1 docs: fix image labels 6 years ago
David Wilson c2793b7102 docs: import but don't link compared.rst 6 years ago
David Wilson 2ecc6f43a4 docs: Import, but do not yet link signals.rst 6 years ago
David Wilson 7cf2edc3a8 ansible: Support many more common playbook variables. 6 years ago
David Wilson eca7805cba ansible: one more cast() call.
Need a more general solution to littering the code with this crap.
6 years ago
David Wilson ba644e184d docs: Split up limitations list, add warning 6 years ago
David Wilson eaea8446ae examples: simplistic async_polling.yml 6 years ago
David Wilson 3183dd4147 ansible: initial support for async jobs
Running in a thread to begin with, but this must change.
6 years ago
David Wilson e913c11e50 docs: new Ansible limitation 6 years ago
David Wilson f6d87faf37 tests: import ansible_helpers_test. 6 years ago
David Wilson 207159cf1a ansible: fix bug in apply_mode_spec(). 6 years ago
David Wilson ff617824a1 ansible: fix some flake8 errors
* Unused imports
* Undefined names in helpers.py
* Copyright header wrapping
6 years ago