David Wilson
49aa8834b0
issue #164 : split "examples" out into regression/integration tests.
2018-04-04 15:59:29 +01:00
David Wilson
aa8d7a0250
issue #164 : verify remote_tmp respected by code running remotely.
2018-04-04 15:41:57 +01:00
David Wilson
e2542c1683
"examples": add perl script regression tests.
2018-04-02 10:02:48 +01:00
David Wilson
20044ba956
"examples": import all.yml
2018-04-02 09:26:52 +01:00
David Wilson
d2c009f70f
"examples": rename regtest.py -> compare_output_test.py
...
Incomplete, but getting better all the time.
2018-04-02 08:35:56 +01:00
David Wilson
047458a8b3
"examples": start adding structure to regression tests.
2018-04-02 08:12:39 +01:00
David Wilson
95ca29262a
examples: add README.md to playbook/.
2018-04-02 07:23:54 +01:00
David Wilson
f6b82bb8db
examples: add make output to gitignore.
2018-04-02 07:22:24 +01:00
David Wilson
380ef7376d
ansible: Add support for free strategy.
2018-04-02 00:01:28 +01:00
David Wilson
41ca3ad94b
issue #106 : delete junk from example module.
2018-04-01 21:25:44 +01:00
David Wilson
2c17d60ffd
issue #106 : import basic regtest.py
2018-04-01 21:24:31 +01:00
David Wilson
971b366162
issue #106 : import many more test cases
2018-04-01 21:20:23 +01:00
David Wilson
23366b4580
issue #106 : import binary modules.
2018-04-01 16:39:10 +01:00
David Wilson
17b94c56f4
issue #177 : import reproduction.
2018-04-01 15:59:58 +01:00
David Wilson
76ac49dbdc
examples: more comments.
2018-03-30 12:50:12 +05:45
David Wilson
9eccfb4972
examples: add top-level doc
2018-03-30 12:41:53 +05:45
David Wilson
a68e833463
examples: add a ton of comments to mitop.py.
2018-03-30 12:35:41 +05:45
David Wilson
682a4ca8d4
issue #174 : reproduction.
2018-03-30 02:31:14 +05:45
David Wilson
3579b6806b
issue #152 : reproduction for second problem
2018-03-19 21:58:35 +05:45
David Wilson
305e024819
issue #154 : import user's reproduction
2018-03-19 21:58:35 +05:45
David Wilson
088fd76109
issue #152 : import reproduction
2018-03-19 21:58:35 +05:45
David Wilson
051fb85d2d
issue #150 : 100 target docker inventory
2018-03-19 21:58:34 +05:45
David Wilson
b64e52b1fd
issue #150 : tweak script for running without external IPs
2018-03-19 21:58:34 +05:45
David Wilson
8607680730
issue #150 : quick script to run ansible against gcloud instance group
2018-03-19 21:58:34 +05:45
David Wilson
0f5a31fb52
issue #131 : test with forks=50
2018-03-19 21:58:34 +05:45
David Wilson
3e40b9ab8e
issue #131 : import something clean that might tickle the problem
2018-03-19 21:58:34 +05:45
David Wilson
87435bf45d
issue #140 : nicer filetree construction
2018-03-19 21:58:34 +05:45
David Wilson
21a8026a63
issue #140 : import reproduction
2018-03-19 21:58:34 +05:45
David Wilson
f8738f1c52
issue #122 : helper to print environment
2018-03-19 21:58:33 +05:45
David Wilson
6106c27707
ansible: repro for issue #118 .
2018-03-19 21:58:33 +05:45
David Wilson
6ed731c088
Minor cleanup.
2018-03-19 21:58:32 +05:45
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.
2018-03-19 21:58:32 +05:45
David Wilson
316eebbe29
examples: enable the strategy by default
2018-03-19 21:58:32 +05:45
David Wilson
57b9d59e90
issue #113 : import crash reproduction
2018-03-19 21:58:32 +05:45
David Wilson
23d104f73b
examples: beginnings of repro for issue #109
2018-03-19 21:58:32 +05:45
David Wilson
88508fcb61
sudo: accept -n too (issue #108 )
2018-03-19 21:58:32 +05:45
David Wilson
3ddbf1a503
ansible: basic support for ssh_args
2018-03-19 21:58:32 +05:45
David Wilson
1b2cbf1e00
examples: longer (but still crap) async_polling.yml
2018-03-19 21:58:32 +05:45
David Wilson
e010e68874
examples: import broken non_python_modules.yml.
2018-03-19 21:58:32 +05:45
David Wilson
7080751f13
ansible: support environment: too.
2018-03-19 21:58:32 +05:45
David Wilson
eaea8446ae
examples: simplistic async_polling.yml
2018-03-19 21:58:31 +05:45
David Wilson
1f432abd2d
Remove whoami.yml, it's now done by delegate_to.yml.
2018-03-19 21:58:31 +05:45
David Wilson
9fee0bd112
ansible: basic regression test for delegation/sudo
2018-03-19 21:58:31 +05:45
David Wilson
1b090a6c0a
ansible: fix become:true with sudo:true
2018-03-19 21:58:31 +05:45
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.
2018-03-19 21:58:31 +05:45
David Wilson
6d403481d4
examples: simplify example playbooks.
2018-03-19 21:58:31 +05:45
David Wilson
10c2de2845
examples: rename playbooks for clarity.
2018-03-19 21:58:30 +05:45
David Wilson
875ee29d4f
docs: initial Ansible extension docs.
2018-03-19 21:58:29 +05:45
David Wilson
1fb848b5e6
examples: add test case for local Ansible connections
2018-03-19 21:58:29 +05:45
David Wilson
4aacf2da4c
ansible: we're gonna need more playbook steps
2018-03-19 21:58:29 +05:45