29 ms·
> It's calling python code behind the scene anyway It doesn't even really do that. It sets up a rube goldberg mechanism to push a python program containing a
by justinsaccount 7y ago
> It's calling python code behind the scene anyway
It doesn't even really do that. It sets up a rube goldberg mechanism to push a python program containing a base64 encoded zip file containing the module it wants to execute it. Then it runs a shell to run python to run that module. This is why ansible is 2000x slower than it should be.
see https://github.com/ansible/ansible/issues/36275 https://github.com/ansible/ansible/issues/36275
- BiteCode_dev 7y agoYes but part of it is necessary because it's agentless, which is an awesome feature. Getting rid of the yaml would make things faster, but compare to the cost of the network, I don't think it would be that much faster.
- expialidocious 7y agoI like that, rube goldberg mechanism, good way to describe it. How it uses ssh also slows it down. Mitigen speeds it up significantly. https://mitogen.networkgenomics.com/ https://mitogen.networkgenomics.com/
- geerlingguy 7y agoMitogen is a nice speedup if it works for your use case. Some of the improvements from the mitogen architecture have slowly worked their way into Ansible core, but it seems that a number of the major shifts can lead to breakage in some scenarios. Hopefully more of the low hanging fruit can make it into Ansible someday...