Houdini 18.5.351 & Renderman 23.5 export option

I’m running Centos 7 with Renderman 23.5 and Houdini 18.5.351 (py2) on Deadline 10.1.15.2

Submitting Houdini & Mantra works fine
Submitting Houdini & Renderman 23.5 work fine

Exporting rib from Renderman seems to fail either export locally or on the farm
pcoip_client_n10Fdrn7ry

If I check the ris1 node it looks like disk file is enabled

pcoip_client_ns6LgB0BJj

have tried the various options, not sure if this is an issue with 23.5 or an issue with me not pressing the right buttons in the right order (have also unchecked binary/As Archive and the options on the advanced tab)

EDIT:

I had a vague memory of issues with $HIP references so I tried an absolute path but same issue

I’ve also tried on Windows with Deadline 10.1.14.5, same issue, if I write the RIB sequence in Houdini it exports fine, but trying to run the export via Deadline it always brings the pop-up

The scene I’m running is very simple, drop down a torus in ‘strong textobj’ and ris node in ‘out’, can add lights, camera and materials but the issue looks to be with the export

The export settings look the same as before in the Renderman docs, so either I’m missing some setting in Renderman or Deadline isn’t seeing the export/archive setting?

Just to update if anyone else has this issue, AWS Thinkbox are aware of the issue.

I got this fix from @zainali so big thanks for that (I’ve not tested yet)

To fix the RenderMan Export Submission, all one has to do is modify DeadlineRepository\submission\Houdini\Main\SubmitHoudiniToDeadlineFunctions.py - GetExportPath . In this function, there’s a line for renderman that needs to be updated from:

 elif ( nodeType == "RenderMan" or nodeType == "RenderMan RIS" ) and node.parm( "rib_outputmode" ) and node.parm( "rib_outputmode" ).eval():        ifdFile = node.parm( "soho_diskfile" ) 

to be something like:

 elif ( nodeType == "RenderMan" or nodeType == "RenderMan RIS" ):        pre_ris22 = node.parm( "rib_outputmode" ) and node.parm( "rib_outputmode" ).eval()        ris22 = node.parm( "diskfile" ) and node.parm( "diskfile" ).eval() if pre_ris22 or ris22:            ifdFile = node.parm( "soho_diskfile" ) 

This will allow the submission aspect of the export workflow to work.

This fix did work in that it allow me to submit the Renderman job, I had to format the text like this

elif ( nodeType == "RenderMan" or nodeType == "RenderMan RIS" ):
        pre_ris22 = node.parm( "rib_outputmode" ) and node.parm( "rib_outputmode" ).eval()
        ris22 = node.parm( "diskfile" ) and node.parm( "diskfile" ).eval() 
        if pre_ris22 or ris22:
            ifdFile = node.parm( "soho_diskfile" )  

It’s not respecting the number sequence for the exported rib job

The exported RIB files were written out in sequence as such

houdini_18.5.351_rm_23.5_export_2.ris1.0001.rib
houdini_18.5.351_rm_23.5_export_2.ris1.0002.rib
houdini_18.5.351_rm_23.5_export_2.ris1.0003.rib
houdini_18.5.351_rm_23.5_export_2.ris1.0004.rib

BUT the deadline standalone job went through the following sequence

houdini_01.5.351_rm_23.5_export_2.ris1.0001.rib
houdini_02.5.351_rm_23.5_export_2.ris1.0001.rib
houdini_03.5.351_rm_23.5_export_2.ris1.0001.rib
houdini_04.5.351_rm_23.5_export_2.ris1.0001.rib

I’ve been testing this on linux too and have the same issue (I was using test.$OS.$F4.rib as file name)

It seems to be changing both entries in this instance

2021-06-11 13:30:29: RenderPluginException -- FailRenderException : ERROR} File /home/antgelatka/Desktop/test.ris3.0003.rib cannot be opened by RiReadArchive. (System Error: No such file or directory)

2021-06-11 13:30:29: RenderPluginException -- FailRenderException : ERROR} File /home/antgelatka/Desktop/test.ris4.0004.rib cannot be opened by RiReadArchive. (System Error: No such file or directory)