# AnsiballZ overhead when your hosts already have all modules and dependencies

**URL:** <https://forum.ansible.com/t/ansiballz-overhead-when-your-hosts-already-have-all-modules-and-dependencies/33205>\
**Category:** Ansible Developer\
**Created:** [June 17, 2020, 9:09pm UTC](https://forum.ansible.com/t/ansiballz-overhead-when-your-hosts-already-have-all-modules-and-dependencies/33205 "2020-06-17T21:09:07Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Artem\_Gromov](https://avatars.discourse-cdn.com/v4/letter/a/ed655f/32.png) [@Artem\_Gromov](https://forum.ansible.com/u/Artem_Gromov)\
**Post date:** [June 17, 2020, 9:09pm UTC](https://forum.ansible.com/t/ansiballz-overhead-when-your-hosts-already-have-all-modules-and-dependencies/33205/1 "2020-06-17T21:09:07Z")

</div>

Hello,

I am thinking about an idea to put Python and Ansible together with modules, plugins, and other dependencies into one static binary executable.

Then I am going to distribute such a binary to all my hosts, including Ansible master, and use it as ansible\_python\_interpreter.

With this approach, all dependencies for the modules will already be on managed hosts. Thus I can avoid the AnsiballZ overhead associated with compressing a module on Ansible master and transferring it to managed hosts. That is, ANSIBALLZ\_TEMPLATE will be much simpler and it becomes no longer necessary to copy the compressed module.

What is the cleanest way to customize Ansible to implement this idea?

---

<div class="post-metadata">

**Author:** ![sivel](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/sivel/32/1198_2.png) [@sivel](https://forum.ansible.com/u/sivel)\
**Post date:** [June 17, 2020, 9:13pm UTC](https://forum.ansible.com/t/ansiballz-overhead-when-your-hosts-already-have-all-modules-and-dependencies/33205/2 "2020-06-17T21:13:01Z")

</div>

As of right now, that idea has been previously rejected. I implemented such a change that would only copy the args for the module to the remote host, but depended on Ansible being installed on the target.

Ultimately this was seen as too fragile, and we have plans to evaluate other options later.
