Alex Willmer
c6f3bfd93a
tests: Correct path to apply_mode_spec()
2018-03-19 21:58:33 +05:45
Alex Willmer
bbd8b6253b
tests: Find all *_test.py scripts and run them
...
Don't rely on maintaining a list of test files, it's too easy to forget
one and silently fail to run it.
2018-03-19 21:58:33 +05:45
Alex Willmer
c34a12369e
tests: Rely on unittest2 to print failure messages
2018-03-19 21:58:33 +05:45
Alex Willmer
2c05958ecc
docs: Replace google.com as target of get_url()
...
Probably best to avoid angering the 800 lb gorilla with access to killer
robots.
https://example.org works, this is why it exists.
2018-03-19 21:58:33 +05:45
Alex Willmer
1c20c61605
docs: Convert all URLs that support https://
...
Excluded: graphml XML namespaces, links to e.g. Fabric homepage
Fixes #128
2018-03-19 21:58:33 +05:45
David Wilson
f8738f1c52
issue #122 : helper to print environment
2018-03-19 21:58:33 +05:45
David Wilson
7d12154a92
ansible: fix formatting
2018-03-19 21:58:33 +05:45
David Wilson
089f39716e
docs: beginnings of testimonials section
2018-03-19 21:58:33 +05:45
David Wilson
8329bee889
parent: log discard_until() input when IOLOG is enabled
...
Trying to diagnose a Reddit user's problem.
2018-03-19 21:58:33 +05:45
David Wilson
12c6e574fb
ansible: disable host key checking for now
...
Need a better story (perhaps a callback function?) for handling this.
2018-03-19 21:58:33 +05:45
David Wilson
037bed895b
issue #110 : _transfer_data() must handle dicts and Unicode(!)
2018-03-19 21:58:33 +05:45
David Wilson
e36c1763bd
issue #110 : split process state out of strategy state
...
The strategy is reconstructed for every playbook that is included or
specified on the command line, therefore we can't store the global
Router there without losing all our SSH connections across playbooks.
2018-03-19 21:58:33 +05:45
David Wilson
d34025fae9
ansible: _transfer_data() must return remote_path.
...
Fixes DebOps bug.
2018-03-19 21:58:33 +05:45
David Wilson
a9db27d424
ansible: instrument every ActionMixin override.
2018-03-19 21:58:33 +05:45
David Wilson
500c4f419c
docs: update limitations list for Ansible.
2018-03-19 21:58:33 +05:45
David Wilson
9b7991cd45
issue #118 : log exceptions for emulated commands, fix AttributeError in helpers.py
...
Turns out Ansible can't be trusted to actually check the result
dictionary everywhere it expects one, so put the real exception text
into -vvv output too.
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
59dab72e29
ansible: log ansible_mitogen.* to -v too.
2018-03-19 21:58:33 +05:45
David Wilson
537a263261
docs: So many typos
2018-03-19 21:58:33 +05:45
David Wilson
6bd4c5ead5
docs: Ansible logging update ( #111 )
2018-03-19 21:58:33 +05:45
David Wilson
016d47aa91
Log and track PIDs everywhere for Ansible.
2018-03-19 21:58:33 +05:45
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 .
2018-03-19 21:58:33 +05:45
David Wilson
b63af1de85
ansible: implement _transfer_data for <2.4 template action
2018-03-19 21:58:33 +05:45
David Wilson
7aca02c2c7
importer: don't include related modules that are blacklisted
...
Cuts down on even more spam
2018-03-19 21:58:33 +05:45
David Wilson
37d38f8d9f
importer: _is_stdlib_name() needed to handle relative paths
...
Was causing tons of log spam due to 'skipping absent related name'
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
7ab1af043e
ansible: redirect logging into display 'framework'. closes #111
2018-03-19 21:58:32 +05:45
David Wilson
5b0b973dba
importer: quieten one more warning
2018-03-19 21:58:32 +05:45
David Wilson
4f352d7d4b
Pin Sphinx version
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
b527628b17
issue #109 : do exactly what Ansible does
...
Could it be that some empty dict magically gets populated from somewhere
invisible?
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
6ec349b386
importer: quieten 'cannot find source' warning, closes #110
2018-03-19 21:58:32 +05:45
David Wilson
53e51c4af8
docs: update Python 3 support to match reality.
2018-03-19 21:58:32 +05:45
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.
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
9cfcf79f43
sudo: accept but discard -S option. fixes #108
2018-03-19 21:58:32 +05:45
David Wilson
ce9a1fef26
docs: fix float
2018-03-19 21:58:32 +05:45
David Wilson
23f78ca5a2
README: move testing bits into tests directory.
2018-03-19 21:58:32 +05:45
David Wilson
04bb5881b6
ansible: doc updates
2018-03-19 21:58:32 +05:45
David Wilson
95ea75907d
ssh: Fix AttributeError.
2018-03-19 21:58:32 +05:45
David Wilson
9515291024
docs: small fix
2018-03-19 21:58:32 +05:45
David Wilson
485e489aa2
ansible: correct sys.path fixup.
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
1b28252ad0
docs: get rid of "medium risk" category
2018-03-19 21:58:32 +05:45
David Wilson
da00437f1e
ansible: Support ansible_ssh_private_key_file
2018-03-19 21:58:32 +05:45
David Wilson
a87b665099
ansible: limited support for become_flags, more docs.
2018-03-19 21:58:32 +05:45
David Wilson
235e1df987
sudo: support parsing sudo flags back out into parameters
2018-03-19 21:58:32 +05:45