Render node pull Ayon launcher from network locations

Hello everyone,
For whom it may concern,
Here’s a tip about: Render node pull Ayon launcher from network locations instead of local install.

This community guide was brought from Render node pull Ayon launcher from network | Discord
Many many thanks to @sjt for sharing us his setup.

Layout

/network/path/ayon
                |- addons
                |    |- ftrack_0.2.1
                |    |- openpype_3.17.4
                |    |- openpype_3.18.0
                |    `- ...
                |- builds
                |    |- ayon-launcher
                |    |    |- AYON-1.0.0-beta.3-linux
                |    |    |- AYON-1.0.0-beta.6-linux
                |    |    |- current_linux
                |    |    `- ...
                |    |- openpype_3.17.4
                |    |- openpype_3.18.2-rvx.5
                |    `- ...
                |- dependencies
                |    |- ayon_[date]_linux.zip
                |    `- ...
                `- run.sh

Step by step guide

I matched this layout on myside (windows).

  1. I created 3 empty folders in this path \\storage\studio\ayon : addons , builds , dependencies

  2. Installed ayon app in \\storage\studio\ayon\builds
    Screenshot 2024-01-18 211920

  3. Created a bat file to set my env vars and launch the app

  4. Test it in CMD. It worked fine and ayon_launcher fetched necessary addons and dependencies in the specified paths in the bat file.

  5. Finally, Set Ayon Executable in deadline ayon plugin settings.

Thanks for this guide !
The same method could also be useful for workstations (not only render-farm).

Also, the shared location cannot be read-only, as this appears in your logs :
“Extracting \storage.…\openpype_3.18.2\client.zip \storage.…\openpype_3.18.2”
It may be a problem if you want to avoid people messing with server stuff.
Maybe a solution would be to execute it elsewhere the first time, then move it to the read-only share, but it would only work if the first process/extraction does not write the path somewhere in the processed files (absolute paths).

1 Like

The purpose of the build folder is a hacky one. What I further set up is that I threw out the contents of the addons (after Ayon downloads them) and put a symlink pointing to a folder within the build folder.
e.g.
/network/path/ayon/addons/openpype_3.18.2/openpype --> /network/path/ayon/builds/openpype_3.18.2-rvx.5 (in actuality I use relative symlinks, which work for windows clients, this is just clearer)

I can then update the folder /network/path/ayon/builds/openpype_3.18.2-rvx.5 rapidly (with rsync). So for smaller changes I can just update that build folder and not have to go through the package-upload-copy bundle-copy settings-mark bundle as production-have everyone restart ayon to download the new addon step.

However you can get into sketchy territory here having the addon 3.18.0 point to something like 3.19.1 which can be very confusing. so that is something to keep in mind.

1 Like