Digital Production Pipeline Association

Infrastructure Management in VFX: A Walkthrough
Thursday, Aug 6, 2020

In our first presentation-style forum, André Prado walked us through the basics of what kind of infrastructure it takes to run a VFX studio. He also gave a hands-on introduction to Ansible, showing us how to use it and exploring how it can be used to manage VFX infrastructure.

The slides and other tutorial material from AndrĂ©’s presentation can be found on GitHub

Q & A

Is the Ansible host file always a static list of ip addresses?

no, the list of hosts and host groups can also be dynamically fetched by Ansible. Usually this is done via a simple Python script that queries some inventory system and outputs an appropriate JSON blob for Ansible.

What has been the experience creating custom extensions for Ansible?

In general you very rarely need to, there’s so much out there already. That being said, some custom filters are often helpful - like a template function to reduce repetitiveness or make specific transforms on data. The key challenge to creating extensions is making them idempotent, since anyone who uses it will be used to running playbooks over and over again. Whatever you write as an extension needs to run many times and not duplicate efforts, resources, etc

Does Ansible maintain a central state or data file for idempotency?

No, all Ansible code tries to query the actual state of the system rather than store state information. Eg if you ask for a package to be installed, it first queries the package manager of the system to see if it is installed, missing, etc. before trying to make changes. It does seem to heavily leverage the /tmp directory while running, though.

How does Ansible perform? Even this simple example is not speedy…

Tagging is a really helpful way to divide up a playbook into smaller sub-sections, allowing users to run only some parts of the entire process. The example that we followed was also managing public cloud infrastructure, but usually when dealing with on-premise hardware and networks things are generally a little faster.

Tips and Tricks

Conclusion

I think that I speak for everyone when I say that the tutorial was a really interesting experience for everyone. We had some great questions come up from the group and had a good discussion about Ansible, how it can be leveraged in a VFX environment, as well as possible alternatives and related tech. If you were not able to make it, I hope that you find these notes useful and we hope to see you at the next forum!

Thanks for reading!

Suggest edits to this page on GitHub