Hey guys, I’ve got a couple questions about slave handling of auxiliary files.
I’m currently noticing that Slaves are synchronizing all auxiliary files to $HOME/Thinkbox/Deadline6/slave//jobsData, even though SynchronizeAllAuxiliaryFiles was not set to True in the submission jobInfo file, and I can see "AuxSync" : false in the Job’s DB definition. I’m currently assuming this is a bug, but… am I missing something?
If these files were being left properly unsynchronized (i.e. not the current behavior), would the paths in the list returned by DeadlinePlugin.GetAuxiliaryFilenames() be absolute based on their original locations as they were submitted?
Assuming I did want to synchronize auxiliary files, is there a way to define a custom sync location, or predict what it will be in different scenarios? Our render slaves do not have our user profile server mounted (on purpose), so I’m interested in what Deadline will do in this situation.
I realized #2 doesn’t really make any sense… I’m guessing the behavior will always be that auxiliary files are copied to their appropriate repo storage location (either /jobs/ or the path set up in Repository Options -> Job Settings -> Auxiliary Files), and then the paths returned by GetAuxiliaryFilenames() would point to that location if the aux. files were properly un-synchronized.
The SynchronizeAllAuxiliaryFiles property only applies after the files have been initially copied locally. In other words, the files will always be copied locally for the first task of a job. Then the SynchronizeAllAuxiliaryFiles property will only be checked before the slave picks up the next task for the same job.
If this is set to False, which is the default, then Deadline will not check between tasks if the job’s auxiliary files in the repository have been modified.
If this is set to True, then Deadline will check if any of the job’s auxiliary files in the repository have been modified. If they have, they will be synced locally again, and the render plugin will be reloaded so that the updated auxiliary files are used.
You can define a custom sync location by setting the “SlaveDataRoot=…” property in the system deadline.ini file. On Linux, this file is in /var/lib/Thinkbox/Deadline6.
Ah, OK, I guess I was glossing over the D5 description of that options somewhat and assuming it was controlling whether auxiliary files would be synced at all. I guess I’ll have to include my aux. paths as pluginInfo entries and add my own layer for handling them.