Hi John, many thanks for the detailed explanation - I am going for the EVALMACRO :) Cheers and thanks, Thomas On 21/03/2022 19.25, John M Knoeller wrote: > the conditional of a transform if can only be a simple literal value, version test or defined test. it cannot be an expression. > > This is ok > > if defined my.boolad > > And if boolad is true, false, 0 or 1 then this is ok > > if $(MY.boolad) > > but if boolad is an expression, you need to force that to evaluate into temp variable before you can use it in an if statement > > EVALMACRO boolad_is_true my.boolad > if $(boolad_is_true) > > In some cases you can use $INT() to force evaluation at the time of $() expansion like this. > > if $INT(MY.boolad) > > This is the same for configuration files - the condition of an if in a config file can only be a simple boolean value, not an expression. > > > > > > -----Original Message----- > From: HTCondor-users <htcondor-users-bounces@xxxxxxxxxxx> On Behalf Of Thomas Hartmann > Sent: Friday, March 18, 2022 8:43 AM > To: HTCondor-Users Mail List <htcondor-users@xxxxxxxxxxx> > Subject: [HTCondor-users] regexp in if clauses and Group* information availability > > Hi all, > > I am currently refactoring our grid cluster's accounting & GROUP_SORT > code and just stumbled over two things. > > Apparently, a regexp() expression cannot be used in a transform's > if-clause directly, or? I tried to use the function like in [1] but run > into an error > > > (1370.0) job_transforms: ERROR applying transform DESYAccounting > (err=-3,rval=-1,msg=regexp("\/cms\/Role=lcgadmin",x509UserProxyFQAN ? : > "") is not a valid if condition) > > I guess that the expression would have to be stored first in an ad, or? > (btw: how can I actually use a boolean as a case condition? `if boolad` > or `if eval(boolad)` seem not to work) > > The other thing is, that I tried to prepare the GROUP_SORT ranking > already in the job transformation, but the evaluation of the Group* > details returns an error. > The current usage ads like `GroupResourcesInUse` or `GroupQuota` make > probably no sense in a transformation, as they exists only during the > matching cycle, or? > > Cheers, > Thomas > > > [1] > > JOB_TRANSFORM_AcctTuning @=end > > ... > > if regexp("\/cms\/Role=lcgadmin",x509UserProxyFQAN ? : "") > SET DESYAcctGroup = "group_OPS" > SET GROUP_SORT_EXPR = 0.001 > SET GROUPFOO = eval(GroupResourcesInUse/GroupQuota + 3.0) > > ... > > @end > > _______________________________________________ > HTCondor-users mailing list > To unsubscribe, send a message to htcondor-users-request@xxxxxxxxxxx with a > subject: Unsubscribe > You can also unsubscribe by visiting > https://lists.cs.wisc.edu/mailman/listinfo/htcondor-users > > The archives can be found at: > https://lists.cs.wisc.edu/archive/htcondor-users/
Attachment:
smime.p7s
Description: S/MIME Cryptographic Signature