Commit Graph

42 Commits (a5e4a6f346213fc80b480a6768ce60a5b127ecb9)

Author SHA1 Message Date
David Wilson 41ca3ad94b issue #106: delete junk from example module. 7 years ago
David Wilson 2c17d60ffd issue #106: import basic regtest.py 7 years ago
David Wilson 971b366162 issue #106: import many more test cases 7 years ago
David Wilson 23366b4580 issue #106: import binary modules. 7 years ago
David Wilson 17b94c56f4 issue #177: import reproduction. 7 years ago
David Wilson 682a4ca8d4 issue #174: reproduction. 7 years ago
David Wilson 3579b6806b issue #152: reproduction for second problem 7 years ago
David Wilson 305e024819 issue #154: import user's reproduction 7 years ago
David Wilson 088fd76109 issue #152: import reproduction 7 years ago
David Wilson 051fb85d2d issue #150: 100 target docker inventory 7 years ago
David Wilson b64e52b1fd issue #150: tweak script for running without external IPs 7 years ago
David Wilson 8607680730 issue #150: quick script to run ansible against gcloud instance group 7 years ago
David Wilson 0f5a31fb52 issue #131: test with forks=50 7 years ago
David Wilson 3e40b9ab8e issue #131: import something clean that might tickle the problem 7 years ago
David Wilson 87435bf45d issue #140: nicer filetree construction 7 years ago
David Wilson 21a8026a63 issue #140: import reproduction 7 years ago
David Wilson f8738f1c52 issue #122: helper to print environment 7 years ago
David Wilson 6106c27707 ansible: repro for issue #118. 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 57b9d59e90 issue #113: import crash reproduction 7 years ago
David Wilson 23d104f73b examples: beginnings of repro for issue #109 7 years ago
David Wilson 88508fcb61 sudo: accept -n too (issue #108) 7 years ago
David Wilson 3ddbf1a503 ansible: basic support for ssh_args 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 7080751f13 ansible: support environment: too. 7 years ago
David Wilson eaea8446ae examples: simplistic async_polling.yml 7 years ago
David Wilson 1f432abd2d Remove whoami.yml, it's now done by delegate_to.yml. 7 years ago
David Wilson 9fee0bd112 ansible: basic regression test for delegation/sudo 7 years ago
David Wilson 1b090a6c0a ansible: fix become:true with sudo:true 7 years ago
David Wilson f3315fc172 ansible: better emulate _low_level_execute_command()
Still needs a ton of work to emulate argument handling, shell selection,
and output emulation in every case. Unsurprisingly, Ansible documents
none of this.
7 years ago
David Wilson 6d403481d4 examples: simplify example playbooks. 7 years ago
David Wilson 10c2de2845 examples: rename playbooks for clarity. 7 years ago
David Wilson 875ee29d4f docs: initial Ansible extension docs. 7 years ago
David Wilson 1fb848b5e6 examples: add test case for local Ansible connections 7 years ago
David Wilson 4aacf2da4c ansible: we're gonna need more playbook steps 7 years ago
David Wilson 27f1eddbd4 ansible: delete old needless host_vars directory 7 years ago
David Wilson 8204dc69e7 ansible: add become test case 7 years ago
David Wilson ed09076bdd ansible: automatically configure connection plug-in. 7 years ago
David Wilson 3fc673563d ansible: import example playbook 7 years ago