Commit Graph

722 Commits (6dd1d77bad0f78174b5432ae1007b8d0debdc15a)
 

Author SHA1 Message Date
David Wilson 6dd1d77bad importer: don't include related modules that are blacklisted
Cuts down on even more spam
8 years ago
David Wilson 5aaa2451a1 importer: _is_stdlib_name() needed to handle relative paths
Was causing tons of log spam due to 'skipping absent related name'
8 years ago
David Wilson 8ac3f3134c Minor cleanup. 8 years ago
David Wilson 6931cc10c4 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.
8 years ago
David Wilson dc0b28491a examples: enable the strategy by default 8 years ago
David Wilson d3712bbacb ansible: redirect logging into display 'framework'. closes #111 8 years ago
David Wilson fc3085b26f importer: quieten one more warning 8 years ago
David Wilson 045745dffe Pin Sphinx version 8 years ago
David Wilson 1a2a5b052f issue #113: import crash reproduction 8 years ago
David Wilson d89b214164 issue #109: do exactly what Ansible does
Could it be that some empty dict magically gets populated from somewhere
invisible?
8 years ago
David Wilson ff151e5145 examples: beginnings of repro for issue #109 8 years ago
David Wilson 61923f1604 importer: quieten 'cannot find source' warning, closes #110 8 years ago
David Wilson ade2b888b1 docs: update Python 3 support to match reality. 8 years ago
David Wilson 2b5e40b708 parent: Add hack for OS X /usr/bin/python
It's a magical switcher that needs argv[0], which we don't provide.
8 years ago
David Wilson ab4439e64f sudo: accept -n too (issue #108) 8 years ago
David Wilson 00b2615a1b sudo: accept but discard -S option. fixes #108 8 years ago
David Wilson bcc61fa869 docs: fix float 8 years ago
David Wilson 60328ac6d4 README: move testing bits into tests directory. 8 years ago
David Wilson b41058e156 ansible: doc updates 8 years ago
David Wilson b1e9e45c49 ssh: Fix AttributeError. 8 years ago
David Wilson 7211e6f816 docs: small fix 8 years ago
David Wilson 49eef4c0ad ansible: correct sys.path fixup. 8 years ago
David Wilson a39ab8fa54 ansible: basic support for ssh_args 8 years ago
David Wilson 8f399083f5 docs: get rid of "medium risk" category 8 years ago
David Wilson 6bc0fd494a ansible: Support ansible_ssh_private_key_file 8 years ago
David Wilson 3beddf39be ansible: limited support for become_flags, more docs. 8 years ago
David Wilson 56b13be718 sudo: support parsing sudo flags back out into parameters 8 years ago
David Wilson 7d10ebbef3 test.sh: make it work on OS X out of the box 8 years ago
David Wilson 2a88b6264f examples: longer (but still crap) async_polling.yml 8 years ago
David Wilson a26e1589e2 examples: import broken non_python_modules.yml. 8 years ago
David Wilson 9133ceac08 docs: Fix install docs now Ansible package layout changed. 8 years ago
David Wilson 3a3356e52e ansible: teach ActionModule to disappear for non-Mitogen Connections
Closes #103.
8 years ago
David Wilson e77c8055fb 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().
8 years ago
David Wilson 1e20887416 ansible: mixins.py docstrings. 8 years ago
David Wilson 1b03a79107 docs: mitogen.core.Latch docs 8 years ago
David Wilson 785ccbcb7a tests: import very basic latch_test 8 years ago
David Wilson 979f0a8e2e master: tidy up trixxy importer syntax slightly 8 years ago
David Wilson 950e9f3364 ansible: support environment: too. 8 years ago
David Wilson e3842db315 scirpts: drop old buggy DTrace script 8 years ago
David Wilson 446c97b910 Initial flake8 configuration. 8 years ago
David Wilson e1fb156a56 docs: fix image labels 8 years ago
David Wilson b708c3672a docs: import but don't link compared.rst 8 years ago
David Wilson 52d5f47743 docs: Import, but do not yet link signals.rst 8 years ago
David Wilson 7785aa4ff8 ansible: Support many more common playbook variables. 8 years ago
David Wilson b9433d9969 ansible: one more cast() call.
Need a more general solution to littering the code with this crap.
8 years ago
David Wilson 8aeb0d6bb5 docs: Split up limitations list, add warning 8 years ago
David Wilson 80b56e61f5 examples: simplistic async_polling.yml 8 years ago
David Wilson d0b58d176b ansible: initial support for async jobs
Running in a thread to begin with, but this must change.
8 years ago
David Wilson d727d68068 docs: new Ansible limitation 8 years ago
David Wilson 220a41a2b3 tests: import ansible_helpers_test. 8 years ago