AYON / Openpype Deadline Setup

Here’s my personal experience exploring how to make this setup.
Installation take place on both sides Ayon/OpenPype and deadline.

Prerequisites

  1. you should have a running deadline server.

    🛠️ Install Deadline Server and Client

    The best way to start learning about deadline is from Deadline official tutorials.
    The following steps are the minimal installation required for this guide:

  2. you should have AYON API Key

    🔑 Get AYON_API_KEY

    It’s brought from Ayon server.
    Go to the Users tab and create a new service user, generate key and copy that key.

    make sure to save as you will see it once!

    Create Service User Generate Key Copy Key

Deadline Server Side:

  • Configure Deadline for AYON/Openpype

    1. copy openpype/modules/deadline/repository/custom to deadline_repository/custom

      please please, when updating theses custom plugins later on, don’t forget to to copy the whole plugin not just GlobalJobPreLoad.py

    2. Configure deadline plugins: using deadline monitor go to Tools > Configure PLugins

      Ayon:

      • Ayon executable : path of ayon_console.exe, windows default installation path (C:\Program Files\Ynput\AYON 1.0.0-beta.6\ayon_console.exe)
      • Ayon Server URL : it’s something like http://Server_IP:5000/
      • Ayon API Key : Service API Key

      If you are running Ayon Launcher live from source, you’d like to use the ayon_console.bat it’s in tools folder inside Ayon Launcher Repo.
      Note, this assumes you are running the ayon launcher in production mode. ayon dev mode is going to have its separate guide.

      🛠️ Configure OpenPype plugin

      In OpenPype:

      • OpenPype Installation Directories : base folder where all openpype version are installed, (you can keep it as it is if you didn’t change installation path while openpype installation)
      • OpenPype executable : path of openpype_console.exe, (you don’t have to use it unless you are running OP from source)

      If you are running OP from source, you’d like to use the openpype_console.bat it’s in tools folder inside OpenPype Repo

      🛠️ Configure OpenPype TileAssembler plugin
      • For OpenPype TileAssembler, I used the one came with openpype which was in my case

        C:\OpenPype\3.16.0\vendor\bin\oiio\windows\oiiotool.exe
        
    3. Run Webservice from CMD

      "C:\Program Files\Thinkbox\Deadline10\bin\deadlinewebservice.exe"
      

      It’s possible to change the listening port with the flag -port

      "C:\Program Files\Thinkbox\Deadline10\bin\deadlinewebservice.exe" -port 8082
      

      Instead of running from CMD, you can modify deadline.ini as krishna suggests below

    4. testing the webservice in browser, in my case it’s https not http

      https://deadline_machine_ip:port_number
      

    5. Disable Require Authentication if needed.

AYON / Openpype Side:

The only setting you need to configure is Deadline webservice URL, and yeah without a slash at the end!

AYON OpenPype

you can also set Deadline webservice URL on project level

AYON OpenPype

you can also modify default deadline arguments values on project level

AYON OpenPype

Testing

Testing Houdini mantra rendering

And here it’s on deadline

1 Like

We installed the deadline as a service client during installation and added a couple of lines in deadline.ini (C:\Users\XXXX\AppData\Local\Thinkbox\Deadline10\deadline.ini), so we don’t have to worry about opening the .exe web service

Added these lines in deadline.ini

LaunchWebServiceAtStartup=True
KeepWebServiceRunning=True
2 Likes

Brilliant!
It works like magic!
Thanks man :pray:

This is a cool option too for running deadline webservices.
By @tokestuartjepsen on discord

"Another approach to keep the webservice running, is to have it as a job on the farm. You can then setup a redundancy machine to pick up the webservice job if the main machine fails. "

I faced a problem "Failed to run OpenPype process to extract environments." when moving from 3.15.x to 3.16.x

If you push a new installation of OP, you’ll need to update OpenPype Executable in the Deadline plugin path.
I didn’t need to update OpenPype Installation Directories

It’s possible to leave OpenPype Executable empty because the GlobalJobPreLoad should retrieve the OpenPype executable path from OpenPype Installation Directories, read more.
However, it didn’t work for me so that I had to set the executable explicitly!


I also updated the oiio path

Was this needed?
Pretty sure that plugin is deprecated and we encourage to use Deadline Draft instead.

I just did it because it was pointing to a path that didn’t exist

I don’t know much about openpype and deadline workflow.

Hi,

I’m encountering an error in Deadline for Nuke render. It’s indicating a “bad value for display & view process.” during the review render baking. Is there any known fix for this problem?

@mustafa_jafar the guide is missing the part when you need to create a new service user with API key to be entered into the Ayon plugin in the Deadline.

I’ve updated the guide :smiley:

I scratched my head a bit with recent DL version where connection to webservice didn’t work. (It failed in my tests in browser and in it was failing with 401 in ValidateDeadlineConnection).

The issue was that newer versions of DL set Require Authentication in Web Service Settings (in Tools > Configure Repository Options...), I had to disable it.

Maybe this would help someone else.

image

2 Likes