Commit Graph

540 Commits (19632473dc9fa804697a506c376f8e9959f35f12)
 

Author SHA1 Message Date
David Wilson 28afa955a3 importer: take priority over system packages when whitelisting is enabled
Might want to de-overload the meaning of whitelist in future, but in
the meantime it works fine for Ansible and I can't think of a
whitelisting use case that would break because of it.

Closes #114.
7 years ago
David Wilson b63af1de85 ansible: implement _transfer_data for <2.4 template action 7 years ago
David Wilson 7aca02c2c7 importer: don't include related modules that are blacklisted
Cuts down on even more spam
7 years ago
David Wilson 37d38f8d9f importer: _is_stdlib_name() needed to handle relative paths
Was causing tons of log spam due to 'skipping absent related name'
7 years ago
David Wilson 6ed731c088 Minor cleanup. 7 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.
7 years ago
David Wilson 316eebbe29 examples: enable the strategy by default 7 years ago
David Wilson 7ab1af043e ansible: redirect logging into display 'framework'. closes #111 7 years ago
David Wilson 5b0b973dba importer: quieten one more warning 7 years ago
David Wilson 4f352d7d4b Pin Sphinx version 7 years ago
David Wilson 57b9d59e90 issue #113: import crash reproduction 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 23d104f73b examples: beginnings of repro for issue #109 7 years ago
David Wilson 6ec349b386 importer: quieten 'cannot find source' warning, closes #110 7 years ago
David Wilson 53e51c4af8 docs: update Python 3 support to match reality. 7 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.
7 years ago
David Wilson 88508fcb61 sudo: accept -n too (issue #108) 7 years ago
David Wilson 9cfcf79f43 sudo: accept but discard -S option. fixes #108 7 years ago
David Wilson ce9a1fef26 docs: fix float 7 years ago
David Wilson 23f78ca5a2 README: move testing bits into tests directory. 7 years ago
David Wilson 04bb5881b6 ansible: doc updates 7 years ago
David Wilson 95ea75907d ssh: Fix AttributeError. 7 years ago
David Wilson 9515291024 docs: small fix 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 1b28252ad0 docs: get rid of "medium risk" category 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 235e1df987 sudo: support parsing sudo flags back out into parameters 7 years ago
David Wilson e48b6ca7f4 test.sh: make it work on OS X out of the box 7 years ago
David Wilson 1b2cbf1e00 examples: longer (but still crap) async_polling.yml 7 years ago
David Wilson e010e68874 examples: import broken non_python_modules.yml. 7 years ago
David Wilson cd53023768 docs: Fix install docs now Ansible package layout changed. 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 03e51fdaa7 docs: mitogen.core.Latch docs 7 years ago
David Wilson f5b5e4849e tests: import very basic latch_test 7 years ago
David Wilson d348a826ff master: tidy up trixxy importer syntax slightly 7 years ago
David Wilson 7080751f13 ansible: support environment: too. 7 years ago
David Wilson f74a56daf3 scirpts: drop old buggy DTrace script 7 years ago
David Wilson e84c33de59 Initial flake8 configuration. 7 years ago
David Wilson 712e5dfca1 docs: fix image labels 7 years ago
David Wilson c2793b7102 docs: import but don't link compared.rst 7 years ago
David Wilson 2ecc6f43a4 docs: Import, but do not yet link signals.rst 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 ba644e184d docs: Split up limitations list, add warning 7 years ago
David Wilson eaea8446ae examples: simplistic async_polling.yml 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