Yes I’ll put together something. Basically you need to connect a USD ROP or a USD Render ROP to Deadline. There are options in the Deadline ROP to add a USD export job.
If you do this, you must disable the command execution (I need to look it up) in USD Render. Otherwise the export job will also render.
FYI you’ll be better off putting these into the appropriate folders within the “custom” folder in the Repository directory, just so changes are not wiped on re-installs or updates.
Your all zeros issue is from the “SubmitHoudiniToDeadline.ui” file, there’s a line missing that handles usdloglevel. This missing causes it to fail on creation which nukes the rest of the script.
I’ve addressed this and other changes here: Official Houdini Solaris Husk submitter - #70 by PostMotion
Sounds like mois.moshev will post new files with these updates though?
I agree that this is getting a bit hard to follow. Even though I’ve posted fixes I’ve had to go back to my own notes to figure out what the hell I did and where.
Is the issue your facing submitting a Solaris Karma task, or a Husk standalone task? Ie, rendering from a hip file or rendering direct from a USD file?
Thanks Mois,
I think I’m missing something fundamental in the usdrender rop settings. Seems like everything is okay locally when I test. But when submitting to deadline(with ‘Render Command’ unchecked) I’m getting a discrepancy between the USD export output path used by the Houdini job generating the usd, and the dependent Husk job’s usd input path.
In my usd render rop(USD Export, Output FIle), I have an explicit path to file on disk: /net/path/blah/rendertest.usd
On the deadline rop(Husk USD Export), I have “Export USD locally” unchecked.
The initial Houdini job is outputting the usd files to(ignoring the explicit “Output File” path set on the “USD Export” tab of the usd render rop): $HOUDINI_TEMP_DIR/usd_renders/rendertest.usd
The dependent Husk job then tries to find the file at: /net/path/blah/rendertest.usd
Thanks,
-Jake
Great that you solved it. I wouldn’t have guessed.
thanks guys for your work, may I ask you @mois.moshev on which version of Deadline is your submitter based?
We are currently on 10.2.1.1
But I wouldn’t expect any major differences that would break it. Let me know if you see them.
hmmm, we are on 10.3.0.13 and upon submitting I 'm getting ModuleNotFoundError: No module named ‘SubmitSlapToDeadline’
Ooh my bad, I didn’t properly clean it up. Could you remove any references to SubmitSlapToDeadline and try again? This is our internal tool.
no worries, I’m glad you added the USD export feature. Is this Shotgrid related stuff? I suppose I don’t need it either.
self.addSGPropertiesToJob(jobProperties)
if scene_publish_id:
self.addScenePublishToJob(jobProperties, scene_publish_id)
def addSGPropertiesToJob(self, jobProperties):
parm = self.dlNode.parm("dl_sg_extraprops")
if parm is None:
return jobProperties
instances = parm.multiParmInstances()
jobProperties["sg_extraprops"] = {
instances[i].eval(): instances[i + 1].eval()
for i in range(0, len(instances), 2)}
return jobProperties
def addScenePublishToJob(self, jobProperties, scene_publish_id):
jobProperties["scene_publish_id"] = scene_publish_id
return jobProperties
Yeah, you don’t need it. It shouldn’t affect you, anyway.
This happening because in SubmitDeadlineRop.py at line 124 curNode.type().name()
gives name with version of HDA. In this case “deadline::1.3”
To match Deadline node properly it could be done several ways.
Eg.
curNode.type().description().lower() == ‘deadline’
curNode.type().nameComponents()[2] == ‘deadline’
‘deadline’ in curNode.type().name()
or re-save versionless HDA as it is in original Deadline HDA
Yes, you are right. We do use a versioned HDA, because we have our own changes.
appreciate the effort going on here to get this working!
I’ve added the HuskStandalone plugin, then had to add the lines from this blog post as I’m running 10.3
I’ve found I also need to add a version specific entry in the Houdini.param else this throws an error.
Remove the files CustomSanityChecks.py, SubmitSlapToDeadline.py as not required and Hash out the entry for SlapSubmit
Once I’ve got that in I can submit a husk job and/or export usd and karma/vray/redshift/arnold/3delight husk job. It’s less clunky than the tops job submission.
This thread is getting so lengthy anyone who gets this far now gets a badge
I need to run some more tests but so far so good, thanks Mois and all involved
Actually progressing! Talks are promissing so far, but as you can imagine we want to make sure things are done properly which is taking time.
FYI found another instance of checking HDA name which causing third job send, same file SubmitDeadlineRop.py needs to be edited at line 162
if curNode.type().name() not in DeadlineRopSubmitter.NON_RENDERABLE_ROPS:
to
if curNode.type().nameComponents()[2] not in DeadlineRopSubmitter.NON_RENDERABLE_ROPS:
@adlabac would it be possible to package up the current state of all the parts (submitter, Husk plugin, etc.) and post them here. It’s really hard to keep track of all the changes.