docs-master
master
stable
pr683
0.2-release
pull-request-checklist
dmw
circleci-project-setup
new-serialization
gh-pages
redirect
issue531
issue510
issue260
issue72
wip-fakessh-exit-status
v0.2.10rc1
v0.3.0rc1
v0.2.9
v0.2.8
v0.2.7
v0.2.6
v0.2.5
v0.2.4
v0.2.3
working-django
working
v0.2.0
v0.2.1
v0.2.10
v0.2.10-rc.0
v0.2.2
v0.3.0
v0.3.0-rc.0
v0.3.1
v0.3.10
v0.3.11
v0.3.12
v0.3.13
v0.3.14
v0.3.15
v0.3.16
v0.3.17
v0.3.18
v0.3.19
v0.3.2
v0.3.20
v0.3.21
v0.3.22
v0.3.23
v0.3.24
v0.3.25
v0.3.25a1
v0.3.25a2
v0.3.25a3
v0.3.25b1
v0.3.26
v0.3.27
v0.3.28
v0.3.29
v0.3.3
v0.3.30
v0.3.31
v0.3.32
v0.3.33
v0.3.34
v0.3.35
v0.3.36
v0.3.4
v0.3.5
v0.3.6
v0.3.7
v0.3.8
v0.3.9
${ noResults }
1 Commits (174b3242fcb6c60a052d20aa1996b6c68d82b7b3)
| Author | SHA1 | Message | Date |
|---|---|---|---|
|
|
3de06ca559 |
"Ansible compatible" module loader.
Since all Ansible modules ever written are using worst practice Python, the module loader must be rewritten to cope with their horrors. Ansible is woeful software: * AnsibleModule argument declarations appear within the main() function, so they can't be introspected prior to execution. * No if __name__ == '__main__' guard means they can't be introspected without triggering execution. * By default the main() function attempts to read from stdin, hanging our IO thread. * So much unspeakable crap. This rewrites the module loader to avoid actually running a module if it can possibly be avoided. The downside is that the new loader must be aware of far more details of the Python module mechanism. For example with the new importer, namespace packages are broken at the very least. On the plus side, now the module loader will be able to cope with Django. |
9 years ago |