Dear condor wizards, sorcerers, conjurers and initiates, for accounting purposes we let our users put something like accounting_group = a.b.c.d into their submit files and let condor_submit/schedd complain via submit requirements if it does not conform to something expected. Now, we want to modify the given value to only retain the leading two bits and but it into the AccountingGroup job ad along with the user. For a single piece of the value this can be easily done via JOB_TRANSFORM_TagJob @=end Eval_set_AccountingGroup = join(".", split(toLower(AcctGroup), ".")[1], AcctGroupUser); Eval_set_AcctGroup = toLower(AcctGroup); ] @end however, I have no idea how to select say the first and second or the first and third from the result of "split" - is there a direct way? As a workaround I started creating a number of intermediate results: JOB_TRANSFORM_TagJob @=end [ Eval_set_AccountingLead = split(toLower(AcctGroup), ".")[0]; Eval_set_AccountingPrio = split(toLower(AcctGroup), ".")[1]; Eval_set_AccountingGroup = join(".", AccountingLead, AccountingPrio, AcctGroupUser); Eval_set_AcctGroup = toLower(AcctGroup); ] @end however, condor does re-order the eval_sets by alphabet (as can be seen in the SchedLog: 06/09/20 13:41:39 (pid:3239) JOB_TRANSFORM_TagJob setup as transform rule #1 : NAME TagJob EVALSET AccountingGroup join(".",AccountingLead,AccountingPrio,AcctGroupUser) EVALSET AccountingLead split(toLower(AcctGroup),".")[0] EVALSET AccountingPrio split(toLower(AcctGroup),".")[1] EVALSET AcctGroup toLower(AcctGroup) And, quite correctly: AccountingGroup = undefined Changing the job transform slightly: JOB_TRANSFORM_TagJob @=end [ Eval_set_AccountingALead = split(toLower(AcctGroup), ".")[0]; Eval_set_AccountingAPrio = split(toLower(AcctGroup), ".")[1]; Eval_set_AccountingGroup = join(".", AccountingALead, AccountingAPrio, AcctGroupUser); Eval_set_AcctGroup = toLower(AcctGroup); ] @end yiekds the wanted result: AcctGroup = "admin.test.parallel1" is transformed into AccountingGroup = "admin.test.carsten" Now, my two questions: (1) Is there a way to get multiple elements from a list? (2) Why is the ordering of job transforms so broken^Wsurprising for the uninitiated? Cheers Carsten -- Dr. Carsten Aulbert, Max Planck Institute for Gravitational Physics, CallinstraĆe 38, 30167 Hannover, Germany Phone: +49 511 762 17185
Attachment:
smime.p7s
Description: S/MIME Cryptographic Signature