Update Documentation: remove Deadline Event Plug-in

This commit is contained in:
Roy Nieterau 2022-02-14 16:02:47 +01:00
parent 95a80df3e4
commit dba50e9fb0
3 changed files with 28 additions and 41 deletions

View file

@ -1,32 +1,29 @@
## OpenPype Deadline repository overlay
This directory is overlay for Deadline repository.
It means that you can copy whole hierarchy to Deadline repository and it should work.
This directory is an overlay for Deadline repository.
It means that you can copy the whole hierarchy to Deadline repository and it
should work.
Logic:
-----
Event
-----
For each rendering job OpenPype event is triggered, it stores path to OpenPype
executable (needs to be configured on `Deadline's Configure Events > OpenPype`)
job's extra key 'openpype_executables'.
GlobalJobPreLoad
-----
This value is used by `GlobalJobPreLoad` to call that executable to pull
environment's variables which are needed to add to ALL plugins process environments.
These env. vars are injected into rendering process.
Event is necessary here as a middle man to allow configuring location of executable
which is ONLY then used by `GlobalJobPreLoad` (which doesnt have any user facing
configuration at all).
`GlobalJobPreLoad` is triggered before each job, it contains backward compatible
logic to not modify old Pype2 or not OpenPype triggered jobs.
The `GlobalJobPreLoad` will retrieve the OpenPype executable path from the
`OpenPype` Deadline Plug-in's settings. Then it will call the executable to
retrieve the environment variables needed for the Deadline Job.
These environment variables are injected into rendering process.
Deadline triggers the `GlobalJobPreLoad.py` for each Worker as it starts the
Job.
*Note*: It also contains backward compatible logic to preserve functionality
for old Pype2 and non-OpenPype triggered jobs.
Plugin
------
For each publishing job `OpenPypeDeadlinePlugin` is called, which calls
configured location of OpenPype executable (needs to be configured in
`Deadline's Configure Plugins > OpenPype`)
and triggers command.
For each render and publishing job the `OpenPype` Deadline Plug-in is checked
for the configured location of the OpenPype executable (needs to be configured
in `Deadline's Configure Plugins > OpenPype`) through `GlobalJobPreLoad`.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

View file

@ -14,43 +14,33 @@ For [AWS Thinkbox Deadline](https://www.awsthinkbox.com/deadline) support you ne
1. Deploy OpenPype executable to all nodes of Deadline farm. See [Install & Run](admin_use)
2. Enable Deadline module it in the [settings](admin_settings_system#deadline)
2. Enable Deadline Module in the [OpenPype Admin Settings](admin_settings_system#deadline)
3. Set up *Deadline Web API service*. For more details on how to do it, see [here](https://docs.thinkboxsoftware.com/products/deadline/10.0/1_User%20Manual/manual/web-service.html).
4. Point OpenPype to your deadline webservice URL in the [settings](admin_settings_system#deadline)
4. Point OpenPype to your deadline webservice URL in the [OpenPype Admin Settings](admin_settings_system#deadline)
5. Install our custom plugin, event plugin and scripts to your deadline repository. It should be as simple as copying content of `openPype/vendor/deadline/custom` to `path/to/your/deadline/repository/custom`
5. Install our custom plugin and scripts to your deadline repository. It should be as simple as copying content of `openPype/vendor/deadline/custom` to `path/to/your/deadline/repository/custom`
## Configuration
OpenPype integration with Deadline consists of two parts, event listener which gets triggered for each job and
handles populating rendering jobs with proper environment variables and
OpenPype plugin which handles publishing itself.
OpenPype integration with Deadline consists of two parts, an `OpenPype` Deadline Plug-in a `GlobalJobPreLoad` script that gets triggered for each job and
handles populating render and publish jobs with proper environment variables.
Both need to be configured by pointing DL to OpenPype executables. These executables need to be installed to
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 Monitor
- Go to `Tools > Configure plugins`, find `OpenPype` in the list on the left side, find location of OpenPype
- Go to `Tools > Configure Plugins...`, find `OpenPype` in the list on the left side, find location of OpenPype
executable. It is recommended to use the `openpype_console` executable as it provides a bit more logging.
- In case of multi OS farms, provide multiple locations, each node goes through a list and tries to find accessible
locations for itself.
- In case of multi OS farms, provide multiple locations, each node goes through a list and tries to find the first accessible
location for itself.
![Configure plugin](assets/deadline_configure_plugin.png)
- Go to `Tools > Configure events`, find `OpenPype` in the list on the left side, find location of OpenPype
executable. It is recommended to use the `openpype_console` executable as it provides a bit more logging.
- State is expected to be set to `Global Enabled`
![Configure event](assets/deadline_configure_event.png)
Path to executables needs to be configured on both, plugin and event level!
## Troubleshooting
#### Publishing jobs fail directly in DCCs
@ -67,7 +57,7 @@ Each publishing from OpenPype consists of 2 jobs, first one is rendering, second
- Jobs are failing with `OpenPype executable was not found` error
Check if OpenPype is installed on a node handling this job, plugin and events are properly [configured](#configuration)
Check if OpenPype is installed on the Worker handling this job and ensure `OpenPype` Deadline Plug-in is properly [configured](#configuration)
- Publishing job is failing with `ffmpeg not installed` error