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

Re: [HTCondor-users] Job Transform



After looking into this.  I discovered that there are a handful of values, including OPSYS, ARCH and OPSYSANDVER that do not expand correctly when used in JOB_TRANSFORM. 

I have made a ticket to track this bug, and I expect it will be fixed in an upcoming 9.0 release.

https://opensciencegrid.atlassian.net/browse/HTCONDOR-1121

-tj


-----Original Message-----
From: HTCondor-users <htcondor-users-bounces@xxxxxxxxxxx> On Behalf Of John M Knoeller
Sent: Wednesday, May 18, 2022 2:15 PM
To: HTCondor-Users Mail List <htcondor-users@xxxxxxxxxxx>
Subject: 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 

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

$(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:



JOB_TRANSFORM_NAMES = $(JOB_TRANSFORM_NAMES),MatchOS

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



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:


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


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


Is there another way to accomplish this?

--Mike
_______________________________________________
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/

_______________________________________________
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/