AWS Thinkbox Discussion Forums

Submit to Nuke Plugin

Deadline 6 beta 12.
Centos6.3

This all seems to have changed and I am slightly confused…

I started off with Nuke 7.04 and used the same presets / menu items from Nuke 6 and found when I used the submit to deadline option the request just did not go anywhere.

We had to downgrade to Nuke 6 for many workstations due to a bug and this “submit to deadline” works.

Dug further into the thinkbox webpage and found that the menu.py additional parts have changed from SubmitToDeadline to DeadlineNukeClient.

So menu.py within nuke was changed to DeadlineNukeClient.

I now get a popup error which is a start…Problem is the error message does not make sense…

Error:

The SubmitToDeadline.py script could not be found in the Deadline Repository. Please make sure that the Deadline Client has been installed on this machine, that the Deadline Client bin folder is set in the DEADLINE_PATH environment variable, and that the Deadline Client has been configured to point to a valid Repository.

[chrish@z600-10 ~]$ printenv |grep -i dead
PATH=/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/mnt/vine/software/linux/arnold/current/bin:/opt/Thinkbox/DeadlineRepository6/bin:/mnt/vine/software/linux/rv/current/bin:/mnt/vine/scripts:/mnt/vine/software/linux/arnold/current/bin:/opt/mono/bin:/mnt/vine/software/linux/rv/current/bin:/mnt/vine/scripts:/usr/local/Thinkbox/Deadline/python/2.6.7/x86_64/:/usr/local/bin:/opt/Thinkbox/Deadline6/bin/:/mnt/home/chrish/bin
DEADLINE_PATH=/opt/Thinkbox/Deadline6/bin
[chrish@z600-10 ~]$

Therefore the DEADLINE_PATH is set

[chrish@z600-10 ~]$ deadlinecommand GetRepositoryRoot
/mnt/DeadlineRepository6
[chrish@z600-10 ~]$

As the deadlinecommand runs the DEADLINE_PATH must work and the repository must be setup…

[chrish@z600-10 ~]$ cd /mnt/DeadlineRepository6/submission/Nuke

[chrish@z600-10 Nuke]$ ls -al
total 132
drwxrwxrwx 4 root vine 4096 Feb 28 13:32 .
drwxrwxrwx 18 root vine 4096 Feb 11 12:27 …
drwxrwxrwx 2 root vine 4096 Mar 5 12:48 Client
-rwxr-xr-x 1 root vine 704 Feb 28 13:31 DeadlineGlobals.py
-rw-r–r-- 1 nobody vine 148 Feb 28 13:32 DeadlineGlobals.pyc
drwxrwxrwx 2 root vine 4096 Mar 5 12:51 Main
-rwxr-xr-x 1 root vine 52338 Feb 28 13:30 SubmitNukeToDeadline.py
-rw-r–r-- 1 nobody vine 33982 Feb 28 13:30 SubmitNukeToDeadline.pyc
-rwxr-xr-x 1 root vine 18565 Feb 28 13:30 SubmitNukeToDeadline.tcl
[chrish@z600-10 Nuke]$

The SubmitNukeToDeadline script is available, but I dont think it should be called as the module is now calling DeadlineNukeClient

#Deadline Plugin
#tb = menubar.addMenu("&Deadline")
#tb.addCommand(“Submit To Deadline”, SubmitToDeadline.main, “”)
tbmenu = menubar.addMenu("&Thinkbox")
tbmenu.addCommand(“Submit Nuke To Deadline”, DeadlineNukeClient.main, “”)

Looking through the DeadlineNukeClient calls SubmitNukeToDeadline

Get the repository root

    path = GetRepositoryRoot()
    if path != "":
            path += "/submission/Nuke/Main"

.
.
.

                    import SubmitNukeToDeadline
                    SubmitNukeToDeadline.SubmitToDeadline( path )

[chrish@z600-10 plugins]$ cd /mnt/DeadlineRepository6/submission/Nuke/Main/
[chrish@z600-10 Main]$ ls -al
total 72
drwxrwxrwx 2 root vine 4096 Mar 5 12:51 .
drwxrwxrwx 4 root vine 4096 Feb 28 13:32 …
-rwxrwxrwx 1 root vine 704 Jan 30 19:07 DeadlineGlobals.py
-rw-rw-r-- 1 nobody vine 153 Mar 5 12:51 DeadlineGlobals.pyc
-rwxrwxrwx 1 root vine 54513 Jan 30 19:07 SubmitNukeToDeadline.py
[chrish@z600-10 Main]$ pwd
/mnt/DeadlineRepository6/submission/Nuke/Main
[chrish@z600-10 Main]$

So everything looks like its in the correct place, but doesn’t work.

Suggestions please…

Chris

It sounds like there is a mismatch between old and new scripts. The “SubmitToDeadline.py” script that the error message is referring to is from an old script. The current one looks for SubmitNukeToDeadline.py.

Can you double check these steps:

The following procedure describes how to install the integrated Nuke submission script. This script allows for submitting Nuke render jobs to Deadline® directly from within the Nuke editing GUI. Note that this has only been tested with Nuke version 6 and later.

  • Copy [Repository]\submission\Nuke\Client\DeadlineNukeClient.py to your .nuke user folder (~/.nuke or %USERPROFILE%.nuke)
  • If menu.py does not exist in your .nuke user folder, copy [Repository]\submission\Nuke\Client\menu.py to your .nuke user folder
  • If menu.py does exist, then open it in a text editor and add the following lines of code:

import DeadlineNukeClient menubar = nuke.menu("Nuke") tbmenu = menubar.addMenu("&Thinkbox") tbmenu.addCommand("Submit Nuke To Deadline", DeadlineNukeClient.main, "")
The next time you launch Nuke, there should be a Thinkbox menu with the option to Submit Nuke to Deadline.

It might just be that you have an old DeadlineNukeClient.py on the workstations as well, so make sure you grab the one that’s currently in \your\repository\submission\Nuke\Client.

Cheers,

  • Ryan

Ok - progress.

Installed Beta13.

copied DeadlineNukeClient.py & menu.py to my home directory/.nuke

Retstarted Nuke 7.0 and I see a new menu tab.
Loaded scene and went Thinkbox -> submit to deadline and got the same error message.

I have verbose turned on with Nuke to see which python files are touched but sadly the deadline scripts do not appear in the output.

As far as I can see everything is setup correctly.
DEADLINE_PATH must be correct as deadlinecommand runs.

[chrish@z600-10 ~]$ deadlinecommand GetRepositoryRoot
/mnt/DeadlineRepository6

[chrish@z600-10 ~]$ cd /mnt/DeadlineRepository6/submission/Nuke/Main
[chrish@z600-10 Main]$ ls
DeadlineGlobals.py DeadlineGlobals.pyc SubmitNukeToDeadline.py
[chrish@z600-10 Main]$

So the SubmitNukeToDeadline script exists…

So why is the DeadlineNukeClient script falling over saying that the SubmitNukeToDeadline doesn’t exist.

Chris

In the error message, what’s the name of the script it’s complaining about? Is it still SubmitToDeadline.py? If it is, that would imply that an older script is still being executed somehow…

Hi Ryan,

Yes it is… but… the new DeadlineNukeClient.py calls / imports SubmitToDeadline…

from ~/.nuke/DeadlineNukeClient.py

def main():
# Get the repository root
path = GetRepositoryRoot()
if path != “”:
path += “/submission/Nuke/Main”
path = path.replace( “\”, “/” )

    # Add the path to the system path
    if path not in sys.path :
        print "Appending \"" + path + "\" to system path to import SubmitNukeToDeadline module"
        sys.path.append( path )

    # Import the script and call the main() function
    try:
        import SubmitNukeToDeadline
        SubmitNukeToDeadline.SubmitToDeadline( path )
    except:
        print traceback.format_exc()
        nuke.message( "MESSAGE 1: The SubmitNukeToDeadline.py script could not be found in the Deadline Repository. Please make sure that the Deadline Client has been installed on this machine, that the Deadline Client bin folder is set in the DEADLINE_PATH environment variable, and that the Deadline Client has been configured to point to a valid Repository." )

I added MESSAGE 1 as there are two error messages which are basically the same an I needed to know which message appears… and its MESSAGE 1.

Chris

That’s definitely an older DeadlineNukeClient.py script. Attached is the current one.

Can you double check the DeadlineNukeClient.py file in \your\repository\submission\Nuke\Client to see if it’s the same as this one or not?
DeadlineNukeClient.zip (993 Bytes)

Hi Ryan,

They are the same, and its also the same in ~/.nuke/DeadlineNukeClient.py

Is it possible for me to call you and discuss over the phone?

Regards

Chris

Hmm, is it possible that Nuke is still somehow loading an old script from somewhere? Since it’s still complaining about “SubmitToDeadline.py” being missing, that would seem to be the case.

Maybe you have another menu.py script somewhere that’s overriding the one in your home directory?

Hi Ryan,

I guess It was picking up on the deadline entry in nuke/plugin/menu.py and not following the ~/.nuke/menu.py as removing the entry from Nuke/plugins/menu.py resolved it.

Chris

Privacy | Site terms | Cookie preferences