[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [HTCondor-users] Job Transform

Hmm.  I would expect this to work.

   SET Requirements (OpSysAndVer == "$(OpSysAndVer)") && $(tmp.require)

The Schedd should have OpSysAndVer defined automatically so the $() expansion should work there

try running this command,  what is the output?

    condor_config_val -v -schedd -dump OPSYS

The output should have OPSYS and OPSYSANDVER and some other matches as well.

This bit 

    EVALMACRO tmp.require = unparse(Requirements)

isn't necessary though.  You can just do this 

   SET Requirements (OpSysAndVer == "$(OPSYSANDVER)") && $(My.Requirements)

$(My.Requirements)  in a job transform should expand to the current value of the job's unparsed Requirements expression.

-----Original Message-----
From: HTCondor-users <htcondor-users-bounces@xxxxxxxxxxx> On Behalf Of Michael Thomas
Sent: Friday, May 13, 2022 1:35 PM
To: htcondor-users@xxxxxxxxxxx
Subject: [HTCondor-users] Job Transform

After a bit of debugging, I came up with a job transform that would add 
a requirement that the OS name and version on the schedd and startd match:


EVALMACRO tmp.require = unparse(Requirements)
SET Requirements (OpSysAndVer == "Rocky8") && $(tmp.require)

My question is How can I dynamically populate the OS/Ver field instead 
of hardcoding 'Rocky8'?  I tried a couple of permutations, both of which 
evaluated to an empty string when I submitted a test job:

EVALMACRO tmp.require = unparse(Requirements)
SET Requirements (OpSysAndVer == "$(OpSysAndVer)") && $(tmp.require)

EVALMACRO tmp.require = unparse(Requirements)
EVALMACRO tmp.myos = unparse(OpSysAndVer)
SET Requirements (OpSysAndVer == "$(tmp.myos)") && $(tmp.require)

Is there another way to accomplish this?

HTCondor-users mailing list
To unsubscribe, send a message to htcondor-users-request@xxxxxxxxxxx with a
subject: Unsubscribe
You can also unsubscribe by visiting

The archives can be found at: