Official Houdini Solaris Husk submitter

Thanks for responding!
I was able to figure out the rest of it. I had to modify the scripts a bit to work with H20.

In SubmitHoudiniToDeadlineFunctions.py

    elif nodeType in [ "USD Render ROP" , "USD Render", "HuskStandalone"]:
        renderer = node.parm("renderer").eval()
        if renderer in ["BRAY_HdKarmaXPU", "BRAY_HdKarmaCPU", "BRAY_HdKarma"]:
            rule = hou.LopSelectionRule()
            rule.setPathPattern("{ usd_istype(0, @primpath, 'RenderProduct') } & { usd_attrib(0, @primpath, 'productType') == 'raster' }")
            lopNode = node.parm("loppath").evalAsNode()
            if lopNode is not None:
                firstNode = rule.firstPath(lopnode=lopNode)
                if firstNode:
                    outputFile = lopNode.stage()\
                                        .GetPrimAtPath(firstNode)\
                                        .GetAttribute("productName")\
                                        .Get(hou.frame())

In SubmitHoudiniToDeadline.py

        if renderer not in ( "mantra", "arnold", "usd" ):
            valuesToToggle[ renderer ].append( "%sarguments.val" % renderer )

And in SubmitHoudiniToDeadline.ui

INT_FIELD "USD Log Level":LABEL_WIDTH CELL(0,2,0,2) VALUE(usdloglevel.val);

The only issue I’m having now is that it isn’t rendering the correct frame in Deadline when Husk is submitted as a standalone job, it appears to just render frame 1 for the whole animation. Rendering from the USD render Rop directly correctly outputs the animation, as well as rendering through Deadline (not as Husk standalone).
It looks like it correctly add --frame # to the command line, so I’m not sure what’s up.

EDIT: Saved it out as an ascii USD and figured out it was only saving the last frame. Checking the box on the USD Render ROP “Render All Frames With a Single Process” fixed it since I had dropped the $F4 tag on the USD output filename at some point. Adding the $F4 tag back to the USD file breaks the Husk standalone render, as it just requests 0001.usd. WTF am I doing wrong, nothing seems intuitive anymore.