Sigh... yet another Composite hassle.
My render farm is made up of multiple machines with different vintages which do not have the same hardware configuration. As such, on some systems MAX/Composite is installed on C. On other systems, MAX/Composite may be installed on D.
I have Composite rendering fine using Foreground or Background rendering.
But when sending the Composite job to BB... many of the slaves will fail because they are looking for the <InstallFolder> which was specified by the submitting workstation (which has Composite installed on C) and these slaves have Composite installed on a different drive. (Yes, I have found the ridiculous requirement in the outdated helpfile which says Composite should be installed on the same drive on all systems). The unique slave systems need to know where Composite is installed in order to render.
In Deadline, this type of situation is easliy solved because you can specify multiple paths to be searched in order to make Composite run. So each unique slave will be able to find the Composite app to run. But I want to use BB to net-render the Composite job.
Is there a way to set the <InstallFolder> to try multiple paths? The helpfile is outdated because it references <InstallDir> as well as having very little info on this type of situation.
Thanks!
Solved! Go to Solution.
Solved by miketruly. Go to Solution.
These variables that are in the BB Render Command setup such as <InstallFolder>, etc. Where are these things defined?
Seems like there should be a file I can look in and see what the paths are that are assigned to these variables.
Thanks!
Thanks for the ideas Steve! I looked in there previously and did a search for "install" and it can't find anything in those files.
As is, I can successfully net-render via BB on only those machines where Composite is installed on the C drive. Those which have Composite installed on the D drive error out because the 'workpath' points to C only. Or I can change it and render on on systems installed on D but not C. Silly.
Seeing as how MAX and other apps can be installed on whatever drive and work with BB just fine... this Composite limitation is a real pain.
Thanks again.
A man's gotta have a dream!
Mike you should be able to fix this on the erroring machines.
Open Composite > Help > Token Substitutions - This tells you the values that the current Composite installs is pulling.
Look for the entries: <ProjectFolder> and <InstallDir>
The <ProjectFolder> path tells you where your toxik.ini (if it exists) is located. If you choose the INI route below it needs to be created here.
The <InstallDir> is the path on the current system that is the issue.
Open Composite > Help > Initialization Variables - These are the environment or INI values you can use.
In there you will see:
toxik::deployment::installDir
Env: DL_INSTALL_DIR
You have 2 choices set the value in the INI:
toxik::deployment::installDir D:/<some path>
or Create a Windows Environment variable set to the path:
DL_INSTALL_DIR D:\<some path>
Hope that helps,
-Eric
Eric, thanks very much for the ideas!
I have been following your instructions but I'm a bit confused.
Am I supposed to edit some variable on the workstation or on the slaves which have the install on D, etc.?
The workstation (and a bunch of the slaves) have the install on C. But other slaves have the install on D. Unless multiple paths can be specified and searched, (which is no problem for Deadline as it let's you specify multiple paths) then it must be something to edit on each slave who's install is other than C so all the C installs will work.
The only toxik.ini file has only 3 lines in it. If I try to add the installDir D:/etc. to the ini, then Composite won't start on the workstation system (because of it's C install). If I take that line back out, it starts fine.
Thanks again.
Unfortunately, this is still not working.
I can put the <InstallDir> variable in the toxik.ini file (only when \ are used in the path... if / are used then Composite crashes on startup) but it makes no difference.
The problem is that the workstation system always injects it's specific <InstallDir> path into the command before submitting the job to BB. Since this system has Composite installed on C... all the other slaves which have Composite installed on D throw errors in BB - 'could not set the workpath, no Composite installed on C, etc.'
What is needed is to have the job submitted to BB without the workpath specified and let each slave use it's own unique <InstallDir> location.
Thanks!
Here are some screenshots showing what happens when the Render Actions are submitted to BB.
Thanks!
See the help file here:
"If you specify the command line argument, the argument takes priority over the environment variable and the initialization variable. If you specify the environment variable, then it takes priority over the initialization variable."
Setting the parameter in the toxik.ini should override the values. Have you tried it on one of the failing machines? The Enviroment Variable approach is good as it isn't user specific, but those values are also overridden by the toxik.ini values, if they exist.
-Eric
Okay I see what you mean now. From the help file here:
"For network rendering:
What is your setup on your Workstation? Do you have a D drive? What if you set up a common dos "subst" to remap virtually all systems to the same drive? "subst C: Z:\" on machines with C: installation, "subst 😧 Z:\" on machines with 😧 installations. This will set a virtual drive of Z: on all machines, and if Z: is set as the drive of your installdir on the workstation you should be in better shape.
-Eric
Eric,
Each of the slaves did not have a toxik.ini file down in the User folder like the workstation did. On each slave, I created a toxik.ini file with only the installDir path set pointing to the proper install path. The slaves are still erroring as the workpath that is specified in the BB submit from the workstation forces the wrong install path on the slaves.
If I try to remove the workpath part of the submit, the submit errors and will not submit. So the question is, how would I NOT specify the command line argument for workpath?
Thanks!
Thank you Eric.
Using the DOS subst command on each system allows all the slaves to render the Composite comp in BB. Each slave has the X drive mapped to the local Composite install folder and X is specified in the workpath in the Composite Render Actions for submitting to BB.
Thanks again.
Thanks again Eric! The BAT files are already in place to create the mapping upon startup.