Hi Ken,
Here are the necessary SMTDSettings to populate:
SMTDSettings.SlavesList = #("SomeSlave01","AnotherSlave42","Workstation02")
This is the list of slave names. It can be either a Blacklist, or a Whitelist. When it is used as a Blacklist, the specified slaves will NOT render the job. When specified as a Whitelist, ONLY the specified slaves may render the job.
SMTDSettings.SlavesBlackList = true
This is the boolean value that determines how the above list will be used. If set to true, the list is a Blacklist. If set to false, it is used as a Whitelist.
Using these two values, the SMTDFunctions.CreateSubmitInfoFile() function will write to the info file either
Blacklist=SomeSlave01,AnotherSlave42,Workstation02
or
Whitelist=SomeSlave01,AnotherSlave42,Workstation02
If you are writing the info file yourself instead of calling SMTDFunctions.CreateSubmitInfoFile(), the above is what you are expected to write into the file.
The relevant code in SubmitMaxToDeadline_Functions.ms is
local theBlackWhiteList = SMTDSettings.SlavesList
local theKeyword = if SMTDSettings.SlavesBlackList then "Blacklist" else "Whitelist"
if SMTDSettings.DBR do --if DBR Offload job, use the DBR settings
(
theBlackWhiteList = SMTDSettings.MastersList
theKeyword = if SMTDSettings.MastersBlackList then "Blacklist" else "Whitelist"
)
local theSlaveListString = SMTDFunctions.getListAsString theBlackWhiteList
format "%=%\n" theKeyword theSlaveListString to:submitInfoFile
There is also the SMTDSettings.Slaves property which contains ALL slaves registered with the Repository. It defaults to #(), so you need to populate it by calling
SMTDFunctions.CollectSlaves()
After that, you can peek in the SMTDSettings.Slaves array to get the names of slaves that actually exist on the farm.