Skip to content

Nuke DCC Integration Issue #2077

@lukemidg

Description

@lukemidg

Using the provided scripts to add the opencue submit to nuke causes issues with interpreting the yaml config file. It works fine without the config file. It also works fine when submitted outside of nuke.

To reproduce, opencue submit is installed on rocky linux in a python 3.11 environment. I'm using Nuke 16 to submit. The Nuke environment variables point to the yaml, cuebot ip, and the python environment. It is installed as a menu button and when run it spits out the error.

Normally this submits as expected to cuebot and begins rendering but it falls apart when the config yaml is used.

OpenCue version is 1.13.8

Here are the logs:

Failed to submit job!
"
b'Traceback (most recent call last):
 File "CueNukeSubmit.py", line 104, in 
 main(args.file, args.nodes)
 File "CueNukeSubmit.py", line 89, in main
 app = CueSubmitNukeApp(nukeFile, writeNodes)
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 File "CueNukeSubmit.py", line 72, in __init__
 self.mainWindow = CueSubmitNukeWindow(NUKE_WINDOW_TITLE, filename=nukeFile,
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 File "CueNukeSubmit.py", line 53, in __init__
 self.submitWidget = Submit.CueSubmitWidget(
 ^^^^^^^^^^^^^^^^^^^^^^^
 File "/CueSubmit/lib64/python3.11/site-packages/cuesubmit/ui/Submit.py", line 245, in __init__
 self.jobDataChanged()
 File "/CueSubmit/lib64/python3.11/site-packages/cuesubmit/ui/Submit.py", line 398, in jobDataChanged
 self.updateFeedbackCommand(self.jobTreeWidget.currentLayerData)
 File "/CueSubmit/lib64/python3.11/site-packages/cuesubmit/ui/Submit.py", line 402, in updateFeedbackCommand
 command = Submission.buildLayerCommand(layerData=layerData, silent=True)
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 File "/CueSubmit/lib64/python3.11/site-packages/cuesubmit/Submission.py", line 174, in buildLayerCommand
 command = buildDynamicCmd(layerData)
 ^^^^^^^^^^^^^^^^^^^^^^^^^^
 File "/CueSubmit/lib64/python3.11/site-packages/cuesubmit/Submission.py", line 63, in buildDynamicCmd
 for (flag, isPath, isMandatory), value in layerData.cmd.items():
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
ValueError: too many values to unpack (expected 3)

I also added some debug prints:

DEBUG: configData['RENDER_CMDS'] = {'Shell': {'command': '', 'options': {'{Command to run}': '\
'}}, 'Maya': {'command': 'Render', 'services': ['maya', 'arnold'], 'limits': ['arnold license limit'], 'options': {'-r {Renderer}': ['file', 'default', 'hw2', 'sw', 'arnold'], '-s {Start Frame}': '#FRAME_START#', '-e {End Frame}': '#FRAME_END#', '{!mayaFile*}': ['Maya Ascii file (*.ma)', 'Maya Binary file (*.mb)', 'Maya file (*.ma *.mb)']}}, 'Blender': {'command': 'blender', 'options': {'--background~': '', '-noaudio~': '', '{!file*}': ['Blender file (*.blend)'], '-s {Start Frame}': '#FRAME_START#', '-e {End Frame}': '#FRAME_END#', '-o {Output Path (Optional)*}': '//render_', '-F {Output Format}': ['', 'AVIJPEG', 'AVIRAW', 'BMP', 'CINEON', 'DPX', 'EXR', 'HDR', 'IRIS', 'IRIZ', 'JP2', 'JPEG', 'MPEG', 'MULTILAYER', 'PNG', 'RAWTGA', 'TGA', 'TIFF']}}, 'Nuke': {'command': '/usr/local/Nuke14.1v4/Nuke14.1', 'services': ['nuke'], 'limits': ['nuke license limit'], 'options': {'-X {!Write Nodes}': '', '-F {Frame Range}': '#FRAME_START#-#FRAME_END#', '-x {!Nuke File*}': ['Nuke Script File (*.nk)']}}}
DEBUG: layerData.layerType = 'Nuke'
DEBUG: JobTypes.JobTypes.FROM_CONFIG_FILE = dict_keys(['Shell', 'Maya', 'Blender', 'Nuke'])
DEBUG: using buildDynamicCmd
DEBUG: layerData.cmd = dict_items([('nukeFile', '0000_shots_TST_001_animation_work_main_v001.nk'), ('writeNodes', '[All]')])
DEBUG: renderCommand = /usr/local/Nuke14.1v4/Nuke14.1

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions