Deadline Administration
Preparation
For AWS Thinkbox Deadline support you need to set a few things up in both OpenPype and Deadline itself
Deploy OpenPype executable to all nodes of Deadline farm. See Install & Run
Enable Deadline Module in the OpenPype Admin Settings.
Set up Deadline Web API service. For more details on how to do it, see here.
Point OpenPype to your deadline webservice URL in the OpenPype Admin Settings.
Install our custom plugin and scripts to your deadline repository. It should be as simple as copying content of
openpype/modules/deadline/repository/custom
topath/to/your/deadline/repository/custom
.
Multiple different DL webservice could be configured. First set them in point 4., then they could be configured per project in project_settings/deadline/deadline_servers
.
Only single webservice could be a target of publish though.
Configuration
OpenPype integration for Deadline consists of two parts:
- The
OpenPype
Deadline Plug-in - A
GlobalJobPreLoad
Deadline Script (this gets triggered for each deadline job)
The GlobalJobPreLoad
handles populating render and publish jobs with proper environment variables using settings from the OpenPype
Deadline Plug-in.
The OpenPype
Deadline Plug-in must be configured to point to a valid OpenPype executable location. The executable need to be installed to
destinations accessible by DL process. Check permissions (must be executable and accessible by Deadline process)
Enable
Tools > Super User Mode
in Deadline MonitorGo to
Tools > Configure Plugins...
, findOpenPype
in the list on the left side, find location of OpenPype executable. It is recommended to use theopenpype_console
executable as it provides a bit more logging.In case of multi OS farms, provide multiple locations, each Deadline Worker goes through the list and tries to find the first accessible location for itself.
OpenPypeTileAssembler Plugin
To setup tile rendering copy the OpenPypeTileAssembler
plugin to the repository;
[OpenPype]\openpype\modules\deadline\repository\custom\plugins\OpenPypeTileAssembler
> [DeadlineRepository]\custom\plugins\OpenPypeTileAssembler
Pools
The main pools can be configured at project_settings/deadline/publish/CollectDeadlinePools/primary_pool
, which is applied to the rendering jobs.
The dependent publishing job's pool uses project_settings/deadline/publish/ProcessSubmittedJobOnFarm/deadline_pool
. If nothing is specified the pool will fallback to the primary pool above.
maya tile rendering
The logic for publishing job pool assignment applies to tiling jobs.
Troubleshooting
Publishing jobs fail directly in DCCs
- Double check that all previously described steps were finished
- Check that
deadlinewebservice
is running on DL server - Check that user's machine has access to deadline server on configured port
Jobs are failing on DL side
Each publishing from OpenPype consists of 2 jobs, first one is rendering, second one is the publishing job (triggered after successful finish of the rendering job).
Jobs are failing with
OpenPype executable was not found
errorCheck if OpenPype is installed on the Worker handling this job and ensure
OpenPype
Deadline Plug-in is properly configured
Publishing job is failing with
ffmpeg not installed
errorOpenPype executable has to have access to
ffmpeg
executable, check OpenPypeSetting > General
Both jobs finished successfully, but there is no review on Ftrack
Make sure that you correctly set published family to be send to Ftrack.
Example: I want send to Ftrack review of rendered images from Harmony :
- `Host names`: "harmony"
- `Families`: "render"
- `Add Ftrack Family` to "Enabled"Make sure that you actually configured to create review for published subset in
project_settings/ftrack/publish/CollectFtrackFamily
Example: I want to create review for all reviewable subsets in Harmony :
- Add "harmony" as a new key an ".*" as a value.
Rendering jobs are stuck in 'Queued' state or failing
Make sure that your Deadline is not limiting specific jobs to be run only on specific machines. (Eg. only some machines have installed particular application.)
Check
project_settings/deadline
Example: I have separated machines with "Harmony" installed into "harmony" group on Deadline. I want rendering jobs published from Harmony to run only on those machines.