Draft not getting correct filenames from integrated submitter...?


#1

My Draft compiler job fails when it cannot find the tiles from a houdini render. The error it throws is below:

2018-01-22 14:19:32: 0: STDOUT: RuntimeError: Magick: UnableToOpenBlob `/path/to/file/houdini tests/tile_render_tests_mantras/gwar0001_tile0_.tif': No such file or directory @ error/blob.c/OpenBlob/2695

The files have been named with a slightly different pattern.

/path/to/file/houdini tests/tile_render_tests_mantras/gwar_tile0_0001.tif

The frame number and the tile number have been transposed with slightly different underscore locations. How should I be formatting my output files to get them to read happily?

The job was submitted using Deadline Monitor’s integrated Houdini Job Submitter using the following values:

Job Options > Override Output > /path/to/file/houdini tests/tile_render_tests_mantras/gwar0001.tif Mantra > /path/to/file/houdini tests/tile_render_tests_ifd/quib_$F4.ifd Draft > Submit Draft Job On Completion (Quick, OpenEXR, zips compression, Full resolution)

Deadline client, repository, integration all version 10.0.6.3


#2

As near as we can tell it has to do with how the generated text documents are generating their filenames. (i.e., gwar0001.tif_1_config_2018_01_22_14_17_33.txt lists the correct filename we want the final frame to go to, (/path/to/gwar001.tif), but Tile0FileName=/path/to/gwar0001_tile0_.tif, when we want it to be Tile0FileName=/path/to/gwar_tile0_0001.tif.

Where is this text document generated? Digging through what documentation we have we can’t find it, but if we can alter how that gets generated we can solve the problem, we think.


#3

It is under your DeadlineRepository\Submission\Houdini\Main\SubmitHoudiniToDeadlineFunctions.py
Look for the function

def SubmitRenderJob( node, jobProperties, dependencies ):

and then look for the two occurrences of the line

fileHandle.write( "Tile%iFileName=%s\n"%(currTile,regionOutputFileName) )

(one for Jigsaw, one for regular tiles).
There you will see the code that builds the regionOutputFileName variable with padding etc.
However, I would have expected it to match the definitions of the same variable used in the render output key=value pair

fileHandle.write( "OutputFilename0Tile%s=%s\n"%(currTile,regionOutputFileName) )

elsewhere in the code.

Take a look and see if you can find where the discrepancy comes from…


#4

Found the issue. When we submitted through the Python API we had to just specifiy the frame number (1001) for the final output, but the integrated submitter was looking for $F4 instead. Doing that fixed it. Now to figure out why the output is completely blank. :stuck_out_tongue: Thanks for the help!